техническое · ответ с источниками
SMTPS и неявный TLS
SMTPS с неявным TLS — способ защиты SMTP-соединений, при котором TLS-рукопожатие выполняется сразу после подключения. В отличие от STARTTLS, где сеанс начинается открытым текстом, SMTPS требует, чтобы соединение было зашифровано ещё до обмена любыми SMTP-командами.
Как это работает
При соединении с неявным TLS клиент устанавливает TCP-соединение с сервером, обычно на порту 465. Сервер сразу ожидает TLS-рукопожатия. Если рукопожатие не удаётся или клиент пытается отправить открытый текст, сервер разрывает соединение. Так никакие конфиденциальные данные, например учётные данные или содержимое писем, никогда не передаются в открытом виде.
Сравнение со STARTTLS
STARTTLS — это явный TLS: сеанс начинается на порту 587 или 25 открытым текстом, а затем клиент отправляет команду STARTTLS, чтобы перевести соединение в зашифрованный режим. SMTPS с неявным TLS убирает этот шаг перехода и тем самым устраняет риск атак понижения (downgrade), при которых злоумышленник посередине вырезает команду STARTTLS, вынуждая сеанс работать открытым текстом.
Почему это важно для отправителей
Неявный TLS даёт транзакционной почте более сильные гарантии безопасности. Он предотвращает случайные утечки открытым текстом и упрощает настройку клиента, делая шифрование обязательным условием обмена данными. Разработчики могут проверить общие настройки почты с помощью бесплатных инструментов SendHQ и убедиться, что их инфраструктура соответствует современным стандартам безопасности.
Заметки по эксплуатации
Многие устаревшие системы по-прежнему используют порт 25 или 587. Настраивая SMTPS, убедитесь, что клиентская библиотека явно переведена в режим SSL или TLS, а не STARTTLS. Если клиент по ошибке настроен на STARTTLS на порту 465, соединение завершится тайм-аутом или сбросом, потому что сервер ждёт TLS-рукопожатия, а клиент отправляет открытый текст.
Пример реализации
Типичная реализация — настроить SMTP-клиент на подключение к smtp.example.com через порт 465 с включённым флагом SSL/TLS. Клиент открывает TCP-сокет, выполняет TLS-рукопожатие и только после этого отправляет команду EHLO, чтобы начать передачу почты.
Что спрашивают команды
Какой порт используется для SMTPS с неявным TLS?
Стандартный порт для SMTPS с неявным TLS — 465: он зарегистрирован IANA и рекомендован в современных RFC для защищённой отправки писем.
Отличается ли SMTPS от STARTTLS?
Да. SMTPS — неявный TLS: шифрование начинается сразу. STARTTLS — явный TLS: соединение начинается открытым текстом и переходит к шифрованию по команде.
Почему стоит выбрать неявный TLS вместо явного?
Неявный TLS лучше защищён от атак понижения, потому что отказывается обмениваться данными, пока не установлен защищённый зашифрованный туннель.