Как только вы написали письмо и нажали на кнопку отправить, почтовый сервер, в зависимости от домена получателя, опрашивает DNS на предмет ответственных за доставку email – сообщений серверов. После чего ваш сервер связывается с сервером-получателем либо по шифрованному каналу, либо нет. За это отвечает параметр конфигурации smtp_tls_security_level.
Здесь я расскажу о наиболее часто применяемом значении этого параметра smtp_tls_security_level = may. При такой настройке SMTP транзакция шифруется только если удаленный сервер поддерживает STARTTLS ESMTP функцию. Если же это не так, сервер все равно попытается доставить сообщение по незащищенному каналу. И еще, даже если сервер поддерживает шифрование соединения, но невозможно проверить легитимность его сертификата или сертификат неверен, ваш сервер все равно попытается отправить письмо без TLS шифрования соединения.
Есть и другие опции для этого параметра, но эта наиболее часто используемая, так как некоторые почтовые сервера в интернете либо настроены неверно, либо не поддерживают шифрование вообще.
Более строгие настройки для соединений между серверами можно применять выборочно посредством параметра smtp_tls_policy_maps. Например,
1 2 3 4 5 6 7 8 |
/etc/postfix/main.cf: smtp_tls_policy_maps = hash:/etc/postfix/tls_policy /etc/postfix/tls_policy: example.com encrypt .example.com verify |
Может возникнуть ситуация, когда в логах будут появляться ошибки типа:
1 2 3 4 5 |
Apr 26 12:57:30 servername postfix/smtp[19635]: certificate verification failed for mxs.ukr.net[212.42.77.251]:25: untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority Apr 26 12:57:32 servername postfix/smtp[11270]: certificate verification failed for gmail-smtp-in.l.google.com[2a00:1450:4013:c01::1b]:25: untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority May 1 12:20:53 servername postfix/smtp[1993]: certificate verification failed for gmail-smtp-in.l.google.com[2a00:1450:4013:c01::1a]:25: untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority |
Причиной может быть не обновленный пакет OPENSSL или POSTFIX по какой-то неведомой причине перестал видеть файл со списком сертификатов центров сертификации. Решается это просто добавлением в main.cf параметра явно указывающего расположение этого файла:
1 2 3 |
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt |
Оставить комментарий