Назад | Перейти на главную страницу

Запретить входящую почту без TLS с помощью постфикса и принудительной проверки сертификата

Я хочу запретить входящую почту без TLS на моем сервере postfix.

Вот что я сделал:

smtpd_tls_security_level = encrypt
smtpd_tls_auth_only = yes

Я не очень понимаю разницу между этими двумя строками, но, похоже, это работает.

Теперь я хочу проверить правильность сертификата TLS. Есть ли способ сделать это, потому что я не понимаю добавленную стоимость TLS, если мы не можем быть уверены в исходном сервере

Спасибо

* РЕДАКТИРОВАТЬ *

Я получил эту информацию в заголовках сообщений целевого почтового ящика:

(No client certificate requested)

На самом деле мой вопрос в том, как я могу настроить аутентификацию сертификата клиента.

Хотя, согласно отчету Google о прозрачности для Шифрование электронной почты при передаче, большинство серверов поддерживают TLS, но многие все еще этого не делают, а обязательный TLS нарушит доставку вашей электронной почты. Кроме того, в отличие от HTTPS, SMTP не имеет широко используемого надежного PKI. Поскольку действующие сертификаты обычно не требуются ни для отправки, ни для приема почты, многие используют самозаверяющие сертификаты для своих почтовых серверов.

Следовательно, оппортунистический TLS по-прежнему лучший выбор. Об этом даже говорится в документации для smtpd_tls_security_level:

may

  • Оппортунистический TLS: объявляйте о поддержке STARTTLS удаленным клиентам SMTP, но не требуйте, чтобы клиенты использовали шифрование TLS.

encrypt

  • Обязательное шифрование TLS: объявите о поддержке STARTTLS удаленным клиентам SMTP и потребуйте, чтобы клиенты использовали шифрование TLS. В соответствии с RFC 2487 это НЕ ДОЛЖНО применяться в случае общедоступного SMTP-сервера. Вместо этого эту опцию следует использовать только на выделенных серверах.

В порядке, RFC 2487 устарел RFC 3207, но эта часть не изменилась. Из Раздел 4:

Общедоступный SMTP-сервер НЕ ДОЛЖЕН требовать использования расширения STARTTLS для локальной доставки почты. Это правило предотвращает повреждение расширением STARTTLS функциональной совместимости инфраструктуры SMTP Интернета. Общедоступный SMTP-сервер - это SMTP-сервер, который работает на порту 25 Интернет-узла, указанного в записи MX (или записи A, если запись MX отсутствует) для имени домена справа от адреса электронной почты в Интернете. .

Если вы хотите сделать шаг вперед в обеспечении соблюдения TLS при обмене почтой, это не обязательно для шифрования TLS. Вместо этого вы можете реализовать Аутентификация именованных объектов на основе DNS (DANE) поиск вашего исходящий SMTP: а именно RFC 7672 по безопасности SMTP через Оппортунистический датчанин TLS. Это гарантирует, что вы не будете доставлять электронные письма на неправильные серверы, если получатель решил опубликовать информацию о своих принятых сертификатах. Это настроено через smtp_tls_security_level и требует DNSSEC:

smtp_tls_security_level = dane
smtp_dns_support_level = dnssec

Если вы хотите внедрить DANE как для исходящей, так и для входящей почты, вы можете прочитать мой более полный ответ из другого вопроса: Включение TLS / SSL в Postfix.