Перейти к содержимому
ecdsa.com

STARTTLS

Команда протокола, которая переводит уже установленное незашифрованное соединение на TLS (в SMTP по RFC 3207, IMAP, POP3, LDAP и XMPP) и уязвима к откату на незашифрованное соединение, если политика не требует TLS.
Другие написанияSTARTTLSRFC 3207opportunistic TLS

В SMTP клиент отправляет EHLO, видит 250-STARTTLS в списке возможностей сервера, отправляет STARTTLS, после чего TLS-рукопожатие выполняется в том же TCP-соединении (порт 25 между серверами, 587 для отправки почты клиентами). Между почтовыми серверами STARTTLS работает оппортунистически: атакующий на пути трафика может вырезать эту возможность из ответа, и отправитель продолжит передачу в открытом виде; к тому же отправители обычно принимают любой сертификат.

Защиту дают политики поверх протокола: MTA-STS (RFC 8461) и DANE (RFC 7672) позволяют принимающему домену требовать аутентифицированного TLS, а TLS-RPT (RFC 8460) сообщает о сбоях. Для клиентского доступа RFC 8314 рекомендует неявный TLS (порты 465, 993, 995) вместо STARTTLS. От ошибок реализации, например внедрения команд до перехода на TLS (буферизованный открытый текст обрабатывается так, будто пришёл по TLS), пострадали многие почтовые серверы.

openssl s_client -starttls smtp -connect mx.example.com:25 показывает сертификат и согласованные параметры; проверка STARTTLS выполняет тот же тест.

Стандарты и ссылки

Все термины