我最近将我的主要邮件服务器迁移到了一个新的邮件服务器,旧服务器已经运行了近 10 年,并且是约 20 个域和超过 40 个邮箱的生产服务器。
一切进展顺利,配置与旧配置没有太大区别,但 postfix 和 dovecot 较新。
不过,我遇到的一个问题是出于兼容性原因,至少要启用 TLSv1.1。我在日志中看到许多与 TLS 相关的连接错误,而且我有一个顽固的客户,他在 El Capitain 中使用不支持 TLSv1.2 的 Apple Mail。
我需要启用此功能至少一年,以便有时间进行升级。问题是无论我在 postfix main.cf 中指定什么,它都只提供 TLSv1.2 及更高版本。
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2, !SSLv3
和
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_protocols = !SSLv2, !SSLv3
但是如果我用 testssl.sh 测试我总是得到
Testing protocols via sockets
SSLv2 not offered (OK)
SSLv3 not offered (OK)
TLS 1 not offered
TLS 1.1 not offered
TLS 1.2 offered (OK)
TLS 1.3 offered (OK): final
在端口 25、提交或 smtps 上。我在 centos8 上启用 TLSv1.1 时遗漏了什么吗?
编辑:如果我为 smptd 指定此项
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, TLSv1, TLSv1.1
smtpd_tls_protocols = !SSLv2, !SSLv3, TLSv1, TLSv1.1
检测结果是:
Testing protocols via sockets
SSLv2 not offered (OK)
SSLv3 not offered (OK)
TLS 1 not offered
TLS 1.1 not offered
TLS 1.2 not offered
TLS 1.3 offered (OK): final
那么现在它禁用了 TLSv2 吗?我在配置文件中做错了什么吗?我知道语法在 3.6 中发生了变化,但这个也应该可以工作。
答案1
@moray 尝试将你的 CentOS 加密策略设置为 LEGACY:
update-crypto-policies --set LEGACY
根据 RedHat 文章,这将启用 TLSv1.0 / TLSv1.1。设置后,只需重新启动您的 postfix,您的邮件就会被发送。