Centos 8 上的 Postfix 3.3.1 无法启用 TLSv1 或 TLSv1.1

Centos 8 上的 Postfix 3.3.1 无法启用 TLSv1 或 TLSv1.1

我最近将我的主要邮件服务器迁移到了一个新的邮件服务器,旧服务器已经运行了近 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

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/security_hardening/using-the-system-wide-cryptographic-policies_security-hardening

根据 RedHat 文章,这将启用 TLSv1.0 / TLSv1.1。设置后,只需重新启动您的 postfix,您的邮件就会被发送。

相关内容