техническое · ответ с источниками
Какой порт использует TLS?
У TLS нет одного универсального порта. TLS защищает множество прикладных протоколов, и каждый защищённый сервис использует свой назначенный порт или переводит существующее соединение на шифрование командой вроде STARTTLS. Типичные примеры: HTTPS на порту 443, отправка по SMTP с неявным TLS на порту 465, IMAP поверх TLS на порту 993 и POP3 поверх TLS на порту 995.
У TLS нет универсального порта
TLS — уровень безопасности, не зависящий от прикладного протокола, поэтому правильный порт определяется работающим поверх него сервисом, а не самим TLS. HTTPS обычно использует TCP-порт 443, а для защищённого доступа к почте используются другие порты. Поэтому фраза «сервер поддерживает TLS» — неполная информация для настройки. Клиенту также нужны имя хоста, прикладной протокол, порт и ожидаемый режим TLS.
Неявный TLS и STARTTLS используют порты по-разному
При неявном TLS рукопожатие TLS начинается сразу после открытия TCP-соединения. Примеры для почты: отправка по SMTP на порту 465, IMAP поверх TLS на порту 993 и POP3 поверх TLS на порту 995. При STARTTLS клиент сначала подключается по прикладному протоколу, а затем запрашивает переход на TLS. Клиент и сервер должны использовать один и тот же режим: если выбрать порт 465 и при этом настроить STARTTLS, часто возникает ошибка рукопожатия или тайм-аут.
Какой порт TLS использовать SMTP-клиентам
Для отправки сообщений с аутентификацией используйте именно тот порт и режим безопасности, которые указаны в документации почтового провайдера. На порту 587 обычно используется отправка по SMTP с последующим STARTTLS, а на порту 465 — неявный TLS с первого байта. Порт 25 используется в основном для ретрансляции SMTP между серверами и может применять STARTTLS оппортунистически. Порт 2525 — альтернатива, специфичная для отдельных провайдеров, а не универсальный порт TLS или SMTP.
Как диагностировать сбой на порту TLS
Прежде чем менять учётные данные или сертификаты, проверьте имя хоста провайдера, порт и режим шифрования. Проверьте базовую доступность по TCP, затем выясните, ожидает ли сервер немедленного TLS-рукопожатия или команды прикладного протокола перед STARTTLS. Тайм-аут обычно указывает на проблемы с маршрутизацией, файрволом или блокировкой порта; немедленная ошибка протокола часто говорит о несоответствии между неявным TLS и STARTTLS. Проверка сертификата и аутентификация выполняются уже после того, как режим подключения выбран правильно.
Что спрашивают команды
Порт 443 — это порт TLS?
Порт 443 — стандартный порт для HTTPS, то есть HTTP поверх TLS. Это не универсальный порт для всех протоколов, защищённых TLS.
Какой порт использовать для SMTP — 465 или 587?
Используйте настройку из документации провайдера: порт 465 обычно предполагает неявный TLS, а на порту 587 обычно сначала начинается SMTP-сессия, которая затем переводится на шифрование командой STARTTLS.
Нужен ли для STARTTLS отдельный порт TLS?
Нет. STARTTLS переводит на шифрование уже установленное соединение прикладного протокола на его настроенном порту — после того как сервер объявит о поддержке, а клиент запросит TLS.
Почему TLS-соединение не устанавливается на правильном порту?
Порт может быть доступен, но режим TLS выбран неверно. Проверьте, ожидает ли эндпоинт неявный TLS или STARTTLS, а затем проверьте имя хоста и сертификат.