Открыть сервис

SMTPS

SMTPS — это устаревший протокол, предназначенный для шифрованной передачи электронной почты по протоколу SMTP (Simple Mail Transfer Protocol). В отличие от современного стандарта STARTTLS, SMTPS предполагал установление защищённого соединения (обычно с использованием TLS или его предшественника SSL) до начала передачи каких-либо команд SMTP. Этот метод работы известен как «явное шифрование» или «шифрование с самого начала» (Implicit TLS). SMTPS не был стандартизирован IETF (Internet Engineering Task Force) как отдельный протокол, а исторически использовался на отдельном, отличном от стандартного (порт 25), сетевом порту — чаще всего на порту 465.

История

Предпосылки появления

Изначально протокол SMTP (RFC 821, 1982 год) не предусматривал никаких механизмов шифрования или аутентификации. Вся переписка между почтовыми серверами (MTA — Mail Transfer Agent) и между клиентом (MUA — Mail User Agent) и сервером передавалась в открытом виде. Это делало электронную почту уязвимой для перехвата, подмены и чтения третьими лицами.

С развитием криптографии и появлением протокола SSL (Secure Sockets Layer), разработанного компанией Netscape в середине 1990-х годов, возникла потребность в защите почтового трафика. Первоначально для этих целей использовался порт 465.

Попытка стандартизации и отказ от неё

В 1997 году IANA (Internet Assigned Numbers Authority) официально зарезервировала порт 465 для сервиса «urd» (URL Rendezvous Directory for SSM). Однако, несмотря на это, многие почтовые серверы и клиенты (например, Microsoft Exchange и Netscape Mail) продолжали использовать порт 465 для SMTPS. Это привело к конфликту и путанице.

В том же 1997 году IETF выпустила экспериментальный RFC 2487, который описывал другой подход — STARTTLS. Этот механизм позволял устанавливать защищённое соединение на том же порту (25 для MTA-MTA и 587 для MUA-MTA), но только после того, как сервер и клиент договаривались об этом с помощью специальной команды. Такой метод получил название «неявное шифрование» (Explicit TLS).

После публикации RFC 2487 использование порта 465 для SMTPS было официально признано нежелательным. IETF рекомендовала использовать STARTTLS на портах 25 и 587. В результате порт 465 был де-факто выведен из употребления для почтовых серверов, хотя многие почтовые клиенты (MUA) продолжали его поддерживать для отправки писем на свои исходящие серверы (SMTP-серверы провайдеров).

Возвращение порта 465

В 2013 году IETF опубликовала RFC 8314, который рекомендовал отказаться от использования STARTTLS на порту 25 для передачи почты от клиента к серверу (MUA-MTA). Основной причиной была уязвимость STARTTLS к атакам типа «понижение версии протокола» (downgrade attack), когда злоумышленник мог заблокировать команду STARTTLS и заставить клиента передавать данные в открытом виде.

RFC 8314 официально реабилитировал порт 465, зарезервировав его для «явного TLS» (Implicit TLS) при передаче почты от клиента к серверу (submission). Таким образом, современное использование порта 465 для SMTPS стало стандартом де-факто и де-юре для исходящих почтовых серверов.

Технические особенности

Принцип работы

SMTPS функционирует по принципу «явного шифрования». Это означает, что до отправки какого-либо почтового трафика (команды HELO/EHLO, MAIL FROM, RCPT TO и т.д.) клиент и сервер должны установить зашифрованное TLS-соединение. Процесс выглядит следующим образом:

  1. Клиент открывает TCP-соединение на порт 465 сервера.
  2. Сервер немедленно отправляет своё сообщение «220 Ready to start TLS» (или аналогичное).
  3. Клиент и сервер инициируют рукопожатие TLS (TLS handshake), в ходе которого происходит проверка сертификатов сервера (и, опционально, клиента) и согласование параметров шифрования.
  4. После успешного установления TLS-туннеля начинается обычный SMTP-диалог, но уже в зашифрованном виде.

Отличие от STARTTLS

Основное отличие SMTPS от STARTTLS заключается в моменте начала шифрования:

  • SMTPS (Implicit TLS): Шифрование начинается сразу после установления TCP-соединения. Весь SMTP-диалог защищён с самого начала.
  • STARTTLS (Explicit TLS): Шифрование начинается только после того, как сервер и клиент обменяются командами и подтвердят возможность использования TLS. Если STARTTLS не поддерживается или блокируется, соединение продолжается в открытом виде.

Порт

  • Порт 465: Исторически и в настоящее время (согласно RFC 8314) используется для SMTPS при передаче почты от клиента к серверу (SMTP Submission).
  • Порт 25: Традиционно используется для передачи почты между серверами (MTA-MTA). На этом порту SMTPS не применяется, вместо него используется STARTTLS.
  • Порт 587: Используется для SMTP Submission с STARTTLS. Это наиболее распространённый порт для отправки почты из почтовых клиентов.

Применение

Отправка почты из почтовых клиентов (MUA-MTA)

SMTPS на порту 465 является одним из основных способов настройки исходящей почты в почтовых программах (Microsoft Outlook, Mozilla Thunderbird, Apple Mail) и на мобильных устройствах. Пользователь указывает адрес SMTP-сервера своего почтового провайдера, порт 465 и включает опцию «Требуется SSL/TLS» (или «Использовать защищённое соединение»).

Приём почты от серверов (MTA-MTA)

В настоящее время SMTPS практически не используется для передачи почты между почтовыми серверами. Для этих целей применяется STARTTLS на порту 25. Это связано с тем, что STARTTLS позволяет сохранить обратную совместимость со старыми серверами, не поддерживающими шифрование, и не требует отдельного порта.

Преимущества

  • Простота настройки: Для клиента достаточно указать порт и включить опцию шифрования. Нет необходимости в дополнительных командах.
  • Устойчивость к атакам: SMTPS не подвержен атакам типа «понижение версии протокола» (downgrade attack), так как шифрование начинается до отправки любых команд. Злоумышленник не может заблокировать команду STARTTLS, так как её просто нет.
  • Повышенная безопасность: Весь трафик зашифрован с самого начала, что исключает возможность перехвата данных на раннем этапе.

Недостатки

  • Необходимость отдельного порта: Требует использования порта 465, что может быть проблемой для некоторых сетей с жёсткими правилами фильтрации трафика.
  • Отсутствие обратной совместимости: Сервер, не поддерживающий SMTPS, не сможет принять соединение на порту 465. Это делает невозможным использование SMTPS для передачи почты между серверами, где совместимость критична.
  • Путаница с портами: Историческая путаница между портами 25, 465 и 587 может вызывать сложности при настройке почтовых клиентов.

Современное состояние

На сегодняшний день SMTPS (Implicit TLS на порту 465) является широко распространённым и рекомендуемым стандартом для отправки почты из почтовых клиентов. RFC 8314 (2018 год) окончательно закрепил его использование. Большинство крупных почтовых провайдеров (Gmail, Яндекс.Почта, Mail.ru, Microsoft 365) поддерживают SMTPS на порту 465.

Для передачи почты между серверами (MTA-MTA) стандартом остаётся STARTTLS на порту 25, хотя всё больше серверов начинают поддерживать и Implicit TLS на порту 465 для этой цели, но это не является обязательным требованием.

Критика и безопасность

Основная критика SMTPS в прошлом была связана с отсутствием стандартизации и путаницей с портами. Однако после выхода RFC 8314 эта проблема была решена. С точки зрения безопасности, SMTPS считается более надёжным, чем STARTTLS, из-за отсутствия возможности атаки на понижение версии протокола.

Тем не менее, безопасность SMTPS, как и любого другого TLS-соединения, зависит от правильной настройки сервера (использование валидных сертификатов, поддержка современных версий TLS, отключение устаревших версий SSL и слабых шифров).

Источники

  1. RFC 821 — Simple Mail Transfer Protocol (1982).
  2. RFC 2487 — SMTP Service Extension for Secure SMTP over TLS (1997).
  3. RFC 3207 — SMTP Service Extension for Secure SMTP over Transport Layer Security (2002).
  4. RFC 8314 — Cleartext Considered Obsolete: Use of Transport Layer Security (TLS) for Email Submission and Access (2018).
  5. IANA Service Name and Transport Protocol Port Number Registry.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →