Что такое порт и зачем следить за открытыми портами
Порт — это номер, по которому сервер понимает, какой именно программе адресован пришедший запрос. Сайт, почта и база данных живут на одной машине и разделены как раз портами. Разбираем, какие порты за что отвечают и почему сервер может отвечать на ping, когда сайт уже лежит.
Как это работает
IP-адрес приводит запрос к нужной машине, но на машине одновременно работают несколько служб. Порт указывает, какой из них предназначен пакет: пара «адрес плюс порт» задаёт конкретную точку подключения.
Служба, готовая принимать соединения, слушает свой порт. Если на порту никто не слушает, операционная система сразу отвечает отказом — отсюда знакомая ошибка «соединение отклонено». Если же порт закрыт файрволом, ответа не будет вовсе, и клиент будет ждать до истечения таймаута. Разница заметна на практике: мгновенный отказ означает, что упало приложение, а долгое молчание — что запрос режет защита или сеть.
| Порт | Служба | Что означает недоступность |
|---|---|---|
| 80 и 443 | Веб-сервер: HTTP и HTTPS | Сайт не открывается ни у кого |
| 22 | SSH — удалённое управление | Вы не сможете зайти на сервер, чтобы починить остальное |
| 25, 465, 587 | Отправка почты | Не уходят письма о заказах и восстановление пароля |
| 143 и 993 | Приём почты по IMAP | Почтовые клиенты не видят новых писем |
| 3306 и 5432 | Базы данных MySQL и PostgreSQL | Сайт отдаёт ошибку подключения к базе |
| 6379 | Redis — кэш и очереди | Сайт резко замедляется или перестают обрабатываться задачи |
Три уровня доступности
Здесь кроется причина, по которой одной проверки сайта бывает мало. Доступность распадается на три независимых уровня, и каждый ломается отдельно.
Хост жив. Машина отвечает на ping — значит, сервер включён и сеть до него доходит. О работе сайта это не говорит ничего.
Порт открыт. На нужном порту кто-то слушает и соединение устанавливается. Значит, служба запущена — но ещё не факт, что она отвечает осмысленно.
Приложение отвечает правильно. Сервис возвращает ожидаемый ответ: страницу с кодом 200, корректный JSON, приветствие почтового сервера.
Типичная авария живёт ровно между уровнями: сервер бодро отвечает на ping, потому что операционная система работает, а веб-сервер на 443 порту упал — и сайт недоступен. Проверка только пингом такую поломку не заметит.
Открытые порты как риск
Второй сюжет — противоположный: порт открыт, хотя не должен быть. Наружу обязаны смотреть только веб-порты, а всё остальное лучше держать доступным изнутри или через защищённый канал.
Чаще всего наружу случайно выставляют базу данных: после переноса на новый сервер её оставляют слушать все интерфейсы, и она оказывается доступна всему интернету. Автоматические сканеры находят такие порты за часы, а не за месяцы. Похожая история со служебными панелями и админками сервисов, которые ставят «на время» и забывают закрыть.
Проверить, что видно снаружи, стоит с чужой сети — с мобильного интернета или внешнего сервиса. Изнутри собственной сети картина всегда выглядит благополучнее, чем есть.
Перенос SSH с 22-го порта на нестандартный уменьшает поток автоматического перебора в логах, но не считается защитой: сканеры находят службу на любом порту. Настоящую безопасность дают вход по ключу вместо пароля, запрет входа под root и ограничение доступа по адресам.
Что стоит мониторить
Веб-порты закрываются проверкой самого сайта — она сообщает не только о доступности, но и о коде ответа. А вот службы без веб-интерфейса иначе как проверкой порта не отследить: почтовый сервер, база данных на отдельной машине, игровой или файловый сервис, нестандартное приложение на своём порту.
Особенно полезно следить за портом отправки почты. Его поломку обнаруживают позже всего: сайт работает, заказы оформляются, а письма с подтверждением не уходят — и об этом узнаёшь от клиента через несколько дней.
Пруфен умеет проверять открытые порты с интервалом от 2 минут из 13 точек: если служба перестала принимать соединения, приходит уведомление на Email, в Telegram, в Макс или звонком, а когда она поднимется — второе. Проверку порта разумно ставить в пару к проверке сайта: первая показывает, что служба запущена, вторая — что она отвечает правильно. Бесплатно доступны 5 проверок без ограничения по времени.
Частые вопросы
Чем отличается проверка порта от проверки сайта? Проверка порта устанавливает соединение и убеждается, что служба слушает. Проверка сайта идёт дальше: делает запрос и смотрит на код ответа и содержимое. Порт может быть открыт, а сайт при этом отдавать ошибку 500 — первая проверка этого не увидит.
Почему порт открывается у меня, но не у клиента? Обычно из-за ограничений по адресам на файрволе или у провайдера. Некоторые провайдеры блокируют часть портов у пользователей — так, 25-й порт для отправки почты закрыт у многих домашних подключений для борьбы со спамом.
Обязательно ли держать открытым 80-й порт, если сайт на HTTPS? Да, обычно его оставляют — чтобы принять запросы по HTTP и перенаправить их на защищённую версию. Кроме того, через 80-й порт проходит проверка домена при автоматическом выпуске сертификатов.
Сколько портов проверять? Ровно те, поломка которых означает для вас потерю денег или данных. Для типичного сайта это веб-порт и порт отправки почты; для сервиса с внешней базой — ещё и порт базы. Проверять всё подряд смысла нет.