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 関連の接続エラーが多数表示されており、TLSv1.2 をサポートしていない El Capitain で Apple Mail を使用している頑固なクライアントがいます。

アップグレードの時間を確保するため、少なくとも 1 年間はこれを有効にしておく必要があります。問題は、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、submission、または 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 を再起動するだけでメールが配信されます。

関連情報