メールサーバーがPostfixに送信し、「証明書の有効期限が切れています」という理由でTLS接続を拒否しているが、

メールサーバーがPostfixに送信し、「証明書の有効期限が切れています」という理由でTLS接続を拒否しているが、

4 月 30 日以降、メール ログに次のようなエラーが表示されるようになりました。

May  1 02:27:27 afaron postfix/smtpd[2644268]: connect from r137.info.hofer.at[66.117.17.137]
May  1 02:27:27 afaron postfix/smtpd[2644268]: SSL_accept error from r137.info.hofer.at[66.117.17.137]: -1
May  1 02:27:27 afaron postfix/smtpd[2644268]: warning: TLS library problem: error:14094415:SSL routines:ssl3_read_bytes:sslv3 alert certificate expired:../ssl/record/rec_layer_s3.c:1543:SSL alert number 45:
May  1 02:27:27 afaron postfix/smtpd[2644268]: lost connection after STARTTLS from r137.info.hofer.at[66.117.17.137]
May  1 02:27:27 afaron postfix/smtpd[2644268]: disconnect from r137.info.hofer.at[66.117.17.137] ehlo=1 starttls=0/1 commands=1/2

私の理解する限りでは、r137.info.hofer.at[66.117.17.137]はSSL証明書の有効期限が切れていると主張して、私のサーバーへのメールの送信を拒否しています。

私はletsencrypt証明書を使用しています。最新の証明書が実際にpostfixで使用されているかどうかを再確認しましたが、使用されていました。期限切れではありません。証明書を強制的に更新しようとしましたが、エラーが再び表示されました。 を実行するとopenssl s_client -starttls smtp -showcerts -connect mail.l3u.de:25 -servername mail.l3u.de、有効なTLSセッションチケットが取得されます。

今のところ、r137.info.hofer.at[66.117.17.137] が唯一の苦情を訴えているメール サーバーです。gmx.de、web.de、t-online.de、gmail.com、yahoo.com、outlook.de との間でメールの送受信を試みました。送信も受信もすべて問題なく完了しました。

これをどうやって追跡すればいいのでしょうか? これは、サーバー上の証明書の信頼チェーン内の証明書が古くなっていることによるローカルの問題なのでしょうか? また、どうすればそれを見つけることができますか? それとも、これはリモートの問題でしょうか?

答え1

完全には分かりませんが、今何が起こっているのかは分かっていると思います。

リモート側では OpenSSL の古いバージョンが使用されているようで、これは (期限切れの) DST Root CA X3 証明書の letsencrypt の相互署名に失敗します。

私は certbot を使って新しい証明書を要求しました--preferred-chain "ISRG Root X1"(もちろん postfix も再起動しました ;-) その後、問題のサーバーは私のサーバーと再び通信しました。

関連情報