Проверка портов

Проверьте открытые TCP-порты сервера (FTP, SSH, HTTP, MySQL и др.)

Как проверить открытые порты сервера

Инструмент пытается установить TCP-соединение с вашим сервером на 19 распространённых портах: от FTP, SSH и почтовых протоколов до MySQL, PostgreSQL, Redis, RDP и MongoDB. Подключения идут с сервера PingDesk, то есть из интернета, — так же, как к вашему серверу подключались бы клиенты или боты.

Для каждого порта вы увидите статус: «Открыт» со временем установки соединения или «Закрыт». Это быстрый способ проверить правила файрвола после настройки сервера, убедиться, что проброс портов на роутере работает, или найти сервис, который случайно оказался доступен из интернета.

Как пользоваться проверкой портов

  1. 1Введите домен или IP-адрес сервера, например example.ru или 203.0.113.10. Если вставите URL с https:// и путём, инструмент оставит только имя хоста.
  2. 2Нажмите «Сканировать». Все 19 портов проверяются одновременно, на каждый отводится до 5 секунд.
  3. 3Найдите в списке нужные порты: зелёная метка «Открыт» означает, что сервер принял TCP-соединение, рядом указано время подключения в миллисекундах.
  4. 4Сверьте результат с тем, что должно быть доступно: для веб-сервера обычно открыты только 80 и 443, иногда ещё 22. Открытые порты баз данных — повод проверить настройки безопасности.
  5. 5Если нужный порт закрыт, проверьте по очереди: запущен ли сервис, на каком адресе он слушает, правила файрвола и облачных групп безопасности, проброс портов на роутере.

Какие порты проверяет инструмент

Номер порта — это соглашение, а не жёсткое правило: сервис можно запустить на любом порту. Но стандартные номера используют по умолчанию, и именно их в первую очередь ищут сканеры в интернете.

Проверяемые TCP-порты
ПортСервисДолжен ли быть открыт снаружи
21FTPЛучше заменить на SFTP через SSH: FTP передаёт пароль открытым текстом
22SSHДля администрирования; ограничьте по IP или используйте только вход по ключам
25SMTPТолько на почтовых серверах, принимающих почту от других серверов
53DNS по TCPТолько на DNS-серверах; TCP нужен для крупных ответов и передачи зоны
80HTTPДа, для сайта — хотя бы для редиректа на HTTPS
110 / 995POP3 / POP3SНа почтовых серверах; предпочтительнее 995 с шифрованием
143 / 993IMAP / IMAPSНа почтовых серверах; предпочтительнее 993 с шифрованием
443HTTPSДа, для сайта
465 / 587SMTPS / SubmissionДля отправки почты клиентами с авторизацией
3306MySQL / MariaDBНет, только из приватной сети или по VPN
3389RDPНет, удалённый рабочий стол лучше закрыть за VPN
5432PostgreSQLНет, только из приватной сети или по VPN
6379RedisНет, никогда без защиты
8080 / 8443Альтернативные HTTP / HTTPSОбычно нет: часто это панели управления и тестовые приложения
27017MongoDBНет, только из приватной сети или по VPN

Открытый, закрытый и фильтруемый порт

С точки зрения сети у порта три возможных состояния. Открытый — на порту слушает сервис и отвечает на SYN пакетом SYN-ACK, соединение устанавливается. Закрытый — сервер доступен, но на этом порту ничего не запущено, и система отвечает пакетом RST: соединение сразу отклоняется. Фильтруемый — файрвол молча отбрасывает пакеты, и ответа нет вовсе.

Инструмент показывает два статуса: «Открыт», если соединение установлено, и «Закрыт» во всех остальных случаях — при отказе, при отсутствии ответа за 5 секунд и при сетевой ошибке. Чтобы отличить закрытый порт от фильтруемого, используйте nmap со своей машины: он помечает их как closed и filtered.

Открытый порт подтверждает только, что TCP-соединение принимается. Работает ли само приложение — отвечает ли сайт кодом 200, принимает ли база запросы, — по нему не понять.

Почему порт закрыт снаружи, хотя сервис запущен

Самая частая ситуация: на сервере сервис работает, локальное подключение проходит, а из интернета порт закрыт. Проверяйте по цепочке от сервиса к внешнему миру.

  • Сервис слушает только 127.0.0.1. Так по умолчанию настроены PostgreSQL (listen_addresses = 'localhost') и Redis (bind 127.0.0.1), а MySQL — в пакетах многих дистрибутивов Linux (bind-address). Проверьте адрес командой ss -tlnp в Linux или netstat -ano в Windows: 127.0.0.1:3306 доступен только с самого сервера, 0.0.0.0:3306 — на всех интерфейсах.
  • Файрвол операционной системы: ufw, firewalld, iptables или nftables в Linux, брандмауэр Windows.
  • Группы безопасности и сетевые правила облака: входящий трафик на порт нужно разрешить отдельно от файрвола внутри сервера.
  • Домашний или офисный роутер: без проброса портов (port forwarding) входящее соединение не дойдёт до компьютера в локальной сети.
  • NAT провайдера (CGNAT): если у вас «серый» IP, проброс на роутере не поможет — нужен «белый» адрес от провайдера.
  • Блокировка у провайдера: некоторые провайдеры закрывают для абонентов отдельные порты, чаще всего 25.

Какие порты опасно оставлять открытыми

Любой адрес в интернете постоянно сканируют боты: они ищут открытые SSH, RDP, базы данных и панели управления и пробуют подобрать пароли или воспользоваться известными уязвимостями. Каждый лишний открытый порт — это ещё одна точка атаки.

  • Базы данных (3306, 5432, 27017) и Redis (6379) не должны быть доступны из интернета. Подключайтесь к ним через приватную сеть, SSH-туннель или VPN, а если внешний доступ необходим — ограничьте его списком IP и включите аутентификацию.
  • Для SSH отключите вход по паролю, оставьте только ключи и по возможности ограничьте доступ по IP. Перенос SSH на нестандартный порт сокращает шум в логах, но защитой не является.
  • RDP (3389) держите за VPN: открытый удалённый рабочий стол Windows — одна из самых частых целей подбора паролей.
  • Панели управления и тестовые приложения на 8080 и 8443 закрывайте или защищайте авторизацией.

Как проверить порт со своего компьютера

Онлайн-проверка показывает, как сервер виден из интернета. Иногда нужно проверить доступ из конкретной сети — например, из офиса, где исходящие подключения ограничены. Для этого есть стандартные команды: в PowerShell — Test-NetConnection example.ru -Port 5432, в Linux и macOS — nc -vz example.ru 5432.

Учтите, что инструмент проверяет только TCP. UDP-сервисы — DNS-запросы по порту 53, WireGuard, VoIP — так проверить нельзя: протокол не устанавливает соединения, и отсутствие ответа не отличить от закрытого порта.

Частые вопросы

Как проверить, открыт ли порт на сервере?

+

Введите домен или IP-адрес и нажмите «Сканировать». Сервер PingDesk попробует установить TCP-соединение на 19 распространённых портах и покажет, какие из них открыты, а для открытых — время подключения. Проверка идёт из интернета, поэтому результат отражает реальную внешнюю доступность.

Что значит «порт открыт»?

+

На этом адресе и порту запущен сервис, и сервер принял TCP-соединение извне. Это подтверждает сетевую доступность, но не корректную работу приложения: веб-сервер может принимать соединения и при этом отдавать ошибку 502.

Почему порт закрыт, хотя сервис запущен?

+

Чаще всего сервис слушает только 127.0.0.1 или подключение блокирует файрвол сервера, облачная группа безопасности, роутер без проброса портов или NAT провайдера. Проверьте адрес, на котором слушает сервис, командой ss -tlnp или netstat -ano, а затем правила файрвола по цепочке.

Как открыть порт на роутере?

+

В настройках роутера найдите раздел «Проброс портов», «Port Forwarding» или «Виртуальные серверы» и укажите внешний порт, локальный IP компьютера и внутренний порт. Это сработает, только если у вас «белый» IP: при NAT провайдера входящие соединения до роутера не дойдут.

Можно ли проверить произвольный порт или UDP?

+

Нет, инструмент проверяет фиксированный набор из 19 стандартных TCP-портов. Для другого порта используйте Test-NetConnection в PowerShell или nc -vz в Linux и macOS. UDP-порты так проверить нельзя: протокол не устанавливает соединения.

Безопасно ли держать открытым порт базы данных?

+

Нет. Открытые MySQL, PostgreSQL, MongoDB и Redis постоянно находят сканеры и пытаются подобрать пароли или эксплуатировать уязвимости. Ограничьте доступ приватной сетью, VPN или SSH-туннелем, а если без внешнего доступа не обойтись — списком доверенных IP и обязательной аутентификацией.

Чем закрытый порт отличается от фильтруемого?

+

Закрытый порт сразу отвечает отказом: сервер доступен, но сервис не запущен. Фильтруемый не отвечает вовсе, потому что пакеты отбрасывает файрвол. Этот инструмент показывает оба случая как «Закрыт»; различить их можно с помощью nmap.

Связанные инструменты