邮件服务器发送邮件至 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,这导致 letsencrypt 对(已过期的)DST Root CA X3 证书的交叉签名出现问题。

我使用 certbot 申请了一个新证书--preferred-chain "ISRG Root X1"(当然也重新启动了 postfix ;-),之后,相关服务器再次与我的服务器通信。

相关内容