CentOS 7 - Postfix 使用最高 TLS

CentOS 7 - Postfix 使用最高 TLS

我正在新的 CentOS 7 服务器上设置 Postfix。启用附加调试后,我注意到一件事,它在连接时尝试使用最低的 TLS 版本,而不是最高的版本。如果我不在 main.cf 文件中输入最后四行,它将仅使用 TLSv1 而不是 TLS1.2。

smtp_tls_security_level          = encrypt
smtpd_tls_loglevel               = 1
smtpd_use_tls                    = yes
smtpd_tls_key_file               = /etc/postfix/smtpd.key
smtpd_tls_cert_file              = /etc/postfix/smtpd.crt
smtp_tls_loglevel                = 1
smtp_tls_CApath                  = /etc/ssl/certs
smtpd_tls_CApath                 = /etc/ssl/certs
smtpd_tls_mandatory_ciphers      = high
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1
smtp_tls_mandatory_protocols  = !SSLv2,!SSLv3,!TLSv1
smtpd_tls_protocols           = !SSLv2,!SSLv3,!TLSv1
smtp_tls_protocols            = !SSLv2,!SSLv3,!TLSv1

使用这些设置我在日志中看到以下内容:

Trusted TLS connection established to hotmail-com.olc.protection.outlook.com[104.47.6.33]:25: TLSv1.2 with cipher

现在我担心的是,如果谁还在使用 TLS1,电子邮件将无法发送。我是否缺少一些参数来使用最高 TLS?

谢谢

答案1

我正在使用 Centos 7.5,使用 (stock) postfix 2.10.1-6.el7 不会发生这种情况

我的 main.cf 与您的的唯一区别是:

tls_preempt_cipherlist = yes

smtp_tls_security_level = may
smtp_tls_protocols= !SSLv2 !SSLv3
smtp_tls_ciphers = high

而且我没有任何强制指令,因为我没有强制加密。你没有我的第一行和最后一行。为了清晰起见,我将一般的 TLS、smtp 和 smtpd 指令分成不同的组。

日志显示:

postfix/smtp[968]: Untrusted TLS connection established to mta7.am0.yahoodns.net[98.136.102.54]:25: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)

我尝试过:

smtp_tls_security_level = encrypt

结果相同(TLSv1.2),所以对我来说它似乎开箱即用。我会删除 !TLSv1 并添加 tls_preempt_cipherlist = yes,看看它是否有效。

相关内容