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,您的郵件就會被發送。

相關內容