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

AUTH TLS

AUTH TLS — это расширение протокола SMTP (Simple Mail Transfer Protocol), позволяющее устанавливать защищённое TLS-соединение (Transport Layer Security) на уже существующем незашифрованном канале связи. Данный механизм, описанный в RFC 3207, применяется для шифрования почтового трафика между почтовыми клиентами (MUA) и серверами исходящей почты (MSA/MTA), а также между самими почтовыми серверами (MTA-MTA). В отличие от метода STARTTLS, который инициирует шифрование в начале сессии, AUTH TLS предполагает, что клиент сначала проходит аутентификацию (обычно по протоколу SMTP AUTH), а затем, после успешной проверки учётных данных, сервер инициирует переключение на TLS. На практике термин «AUTH TLS» часто используется как синоним для STARTTLS, хотя технически это разные последовательности действий.

История

Развитие протокола SMTP началось в 1982 году (RFC 821), когда шифрование не предусматривалось. С ростом угроз перехвата трафика и подмены данных возникла необходимость в защите. В 1999 году вышло расширение STARTTLS (RFC 2487, позже заменён на RFC 3207), которое позволяло переключаться на TLS внутри той же TCP-соединения после начального приветствия. Однако STARTTLS не решал проблему аутентификации перед шифрованием: клиент мог быть анонимным до установки TLS.

В 2002 году был предложен механизм AUTH TLS, который сочетал аутентификацию (например, по паролю) с последующим шифрованием. Идея заключалась в том, чтобы сначала проверить легитимность клиента, а затем защитить весь последующий трафик. Этот подход был реализован в некоторых почтовых серверах (например, Postfix, Exim) как альтернатива STARTTLS. В 2008 году RFC 4954 формализовал расширение SMTP AUTH, но не обязал его сочетать с TLS. AUTH TLS остаётся менее распространённым, чем STARTTLS, и чаще используется в корпоративных конфигурациях.

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

Процесс AUTH TLS включает несколько этапов:

  1. Установка TCP-соединения. Клиент (MUA или другой MTA) подключается к серверу по стандартному порту 25 (SMTP), 587 (MSA) или 465 (SMTPS, устаревший).
  2. Приветствие сервера. Сервер отправляет строку 220 <домен> ESMTP.
  3. Аутентификация. Клиент отправляет команду AUTH <механизм> <учётные данные> (например, AUTH LOGIN или AUTH PLAIN). Сервер проверяет логин и пароль. В этот момент трафик ещё не зашифрован, поэтому пароль передаётся в открытом виде (если не используется защищённый механизм, например, CRAM-MD5).
  4. Инициирование TLS. После успешной аутентификации сервер отправляет клиенту команду 250 AUTH TLS. Клиент отвечает STARTTLS (или AUTH TLS в некоторых реализациях). Сервер подтверждает 220 Ready to start TLS.
  5. Установка TLS-туннеля. Клиент и сервер обмениваются сертификатами, согласовывают шифры и устанавливают зашифрованное соединение. Весь последующий SMTP-диалог (команды MAIL FROM, RCPT TO, DATA и т.д.) шифруется.
  6. Передача почты. Клиент отправляет письмо, сервер принимает его.

Ключевое отличие от STARTTLS: в STARTTLS аутентификация происходит после установки TLS, а в AUTH TLS — до. Это даёт серверу возможность отклонять неизвестных клиентов до начала шифрования, снижая нагрузку на ресурсы.

Классификация

AUTH TLS можно классифицировать по типу аутентификации и способу реализации:

По типу аутентификации

По способу реализации

Устройство и характеристики

Протокол SMTP и расширения

AUTH TLS является расширением базового SMTP (RFC 5321). Для его работы сервер должен поддерживать:

Клиент должен уметь обрабатывать ответы сервера, включая 250 AUTH TLS и 220 Ready to start TLS.

Шифрование

Используется протокол TLS, обычно версии 1.2 или 1.3. Шифры включают AES, ChaCha20, RSA, ECDHE. Сертификаты могут быть самоподписанными или выданными центром сертификации. При AUTH TLS сертификат часто не проверяется строго, так как аутентификация уже выполнена, но для безопасности рекомендуется проверка.

Параметры безопасности

Применение

AUTH TLS применяется в следующих сценариях:

Примеры реализации

Postfix

В почтовом сервере Postfix AUTH TLS настраивается в файле /etc/postfix/main.cf: `` smtpd_tls_auth_only = yes smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_tls_chain_files = /etc/ssl/certs/server.crt, /etc/ssl/private/server.key ` Параметр smtpd_tls_auth_only` заставляет сервер требовать аутентификацию до TLS.

Exim

В Exim используется конфигурация: `` auth_advertise_hosts = tls_advertise_hosts = tls_require_ciphers = HIGH:!aNULL:!MD5 ` AUTH TLS активируется через tls_on_connect_ports = 465 (неявный) или через tls_advertise_hosts` (явный).

Критика

Основные недостатки AUTH TLS:

Современные рекомендации (RFC 8314) предлагают использовать порт 587 с STARTTLS (или порт 465 с неявным TLS) и аутентификацию внутри шифрованного канала. AUTH TLS остаётся нишевым решением.

Источники

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

На главную BFOmetr →