Записки админа

Записки админа

Postfix. Шифрование соединений с серверами smtp_tls_security_level

Как только вы написали письмо и нажали на кнопку отправить, почтовый сервер, в зависимости от домена получателя, опрашивает DNS на предмет ответственных за доставку email – сообщений серверов. После чего ваш сервер связывается с сервером-получателем либо по шифрованному каналу, либо нет. За  это отвечает параметр конфигурации  smtp_tls_security_level.

Здесь я расскажу о наиболее часто применяемом значении этого параметра smtp_tls_security_level = may. При такой настройке SMTP транзакция шифруется только если удаленный сервер поддерживает STARTTLS ESMTP функцию. Если же это не так, сервер все равно попытается доставить сообщение по незащищенному каналу. И еще, даже если сервер поддерживает шифрование соединения, но  невозможно проверить легитимность его сертификата или сертификат неверен, ваш сервер все равно попытается отправить письмо без TLS шифрования соединения.

Есть и другие опции для этого параметра, но эта наиболее часто используемая, так как некоторые почтовые сервера в интернете либо настроены неверно, либо не поддерживают шифрование вообще.

Более строгие настройки для соединений между серверами можно применять выборочно посредством параметра  smtp_tls_policy_maps. Например,

Может возникнуть ситуация, когда в логах будут появляться ошибки типа:

Причиной может быть не обновленный пакет OPENSSL или POSTFIX по какой-то неведомой причине перестал видеть файл со списком сертификатов центров сертификации. Решается это просто добавлением в main.cf параметра явно указывающего расположение этого файла: