编辑 1:我已将其范围缩小到 TLSv1,下面列出的两个服务器(还没有其他服务器失败)正在尝试使用。我将联系他们的网站管理员,要求他们停止使用不安全的协议,但与此同时,我仍然想弄清楚他们正在尝试使用什么密码并暂时启用它。我已经相应地调整了标题。
编辑 2:在标题中添加了 Postfix 版本
编辑3:我设法使用
smtpd_discard_ehlo_keyword_address_maps = hash:/etc/postfix/smtpd_discard_ehlo_keywords
与 /etc/postfix/smtpd_discard_ehlo_keywords (文件名不重要)包含:
<broken-server-ip> starttls
我仍然对这些服务器使用的 TLSv1 密码感到好奇,但现在我可以针对这些情况关闭每个主机的 TLS,我很满意。把这个留给其他需要它的人。
- - 原来的 - -
我开始运行 Debian Buster,为了纠正这个问题,我在解决这个问题时转移到了 sid。
我一直在解决无法从几台服务器(主要是 mxa3.ubusinessmotion.net 和 ny-smtp-dmz02.dmz.priceline.com)接收邮件的问题
以下是我的后缀日志中的相关行:
Mar 8 00:34:31 froxlor postfix/smtpd[67494]: setting up TLS connection from
mxa3.ubusinessmotion.net[208.27.251.227]
Mar 8 00:34:31 froxlor postfix/smtpd[67494]: mxa3.ubusinessmotion.net[208.27.251.227]: TLS cipher list "aNULL:-aNULL:HIGH:MEDIUM:LOW:EXPORT:+RC4:@STRENGTH"
Mar 8 00:34:31 froxlor postfix/smtpd[67494]: SSL_accept:before SSL initialization
Mar 8 00:34:31 froxlor postfix/smtpd[67494]: SSL_accept:before SSL initialization
Mar 8 00:34:31 froxlor postfix/smtpd[67494]: SSL3 alert write:fatal:handshake failure
Mar 8 00:34:31 froxlor postfix/smtpd[67494]: SSL_accept:error in error
Mar 8 00:34:31 froxlor postfix/smtpd[67494]: SSL_accept error from mxa3.ubusinessmotion.net[208.27.251.227]: -1
Mar 8 00:34:31 froxlor postfix/smtpd[67494]: warning: TLS library problem: error:1417A0C1:SSL routines:tls_post_process_client_hello:no shared cipher:../ssl/statem/statem_srvr.c:2257:
Mar 8 00:34:31 froxlor postfix/smtpd[67494]: lost connection after STARTTLS from mxa3.ubusinessmotion.net[208.27.251.227]
和
Mar 8 00:18:31 froxlor postfix/smtpd[37732]: connect from ny-smtp-dmz02.dmz.priceline.com[64.6.20.6]
Mar 8 00:18:31 froxlor postfix/smtpd[37732]: setting up TLS connection from ny-smtp-dmz02.dmz.priceline.com[64.6.20.6]
Mar 8 00:18:31 froxlor postfix/smtpd[37732]: ny-smtp-dmz02.dmz.priceline.com[64.6.20.6]: TLS cipher list "aNULL:-aNULL:HIGH:MEDIUM:LOW:EXPORT:+RC4:@STRENGTH"
Mar 8 00:18:31 froxlor postfix/smtpd[37732]: SSL_accept:before SSL initialization
Mar 8 00:18:31 froxlor postfix/smtpd[37732]: SSL_accept:before SSL initialization
Mar 8 00:18:31 froxlor postfix/smtpd[37732]: SSL3 alert write:fatal:protocol version
Mar 8 00:18:31 froxlor postfix/smtpd[37732]: SSL_accept:error in error
Mar 8 00:18:31 froxlor postfix/smtpd[37732]: SSL_accept error from ny-smtp-dmz02.dmz.priceline.com[64.6.20.6]: -1
Mar 8 00:18:31 froxlor postfix/smtpd[37732]: warning: TLS library problem: error:14209102:SSL routines:tls_early_post_process_client_hello:unsupported protocol:../ssl/statem/statem_srvr.c:1660:
Mar 8 00:18:31 froxlor postfix/smtpd[37732]: lost connection after STARTTLS from ny-smtp-dmz02.dmz.priceline.com[64.6.20.6]
Mar 8 00:18:31 froxlor postfix/smtpd[37732]: disconnect from ny-smtp-dmz02.dmz.priceline.com[64.6.20.6] ehlo=1 starttls=0/1 commands=1/2
为了完整起见,这里有一个正确通过的:
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: connect from a27-96.smtp-out.us-west-2.amazonses.com[54.240.27.96]
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: setting up TLS connection from a27-96.smtp-out.us-west-2.amazonses.com[54.240.27.96]
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: a27-96.smtp-out.us-west-2.amazonses.com[54.240.27.96]: TLS cipher list "aNULL:-aNULL:HIGH:MEDIUM:LOW:EXPORT:+RC4:@STRENGTH"
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:before SSL initialization
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:before SSL initialization
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:SSLv3/TLS read client hello
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:SSLv3/TLS write server hello
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:SSLv3/TLS write certificate
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:SSLv3/TLS write key exchange
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:SSLv3/TLS write server done
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:SSLv3/TLS write server done
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:SSLv3/TLS read client key exchange
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:SSLv3/TLS read change cipher spec
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:SSLv3/TLS read finished
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:SSLv3/TLS write change cipher spec
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: SSL_accept:SSLv3/TLS write finished
Mar 8 00:45:01 froxlor postfix/smtpd[67806]: Anonymous TLS connection established from a27-96.smtp-out.us-west-2.amazonses.com[54.240.27.96]: TLSv1.2 with cipher ECDHE-ECDSA-AES256-SHA384 (256/256 bits)
Mar 8 00:45:02 froxlor postfix/smtpd[67806]: A1B9E1C0096: client=a27-96.smtp-out.us-west-2.amazonses.com[54.240.27.96]
Mar 8 00:45:02 froxlor postfix/cleanup[67821]: A1B9E1C0096: message-id=<01010170b951a112-269a702a-ede4-4556-849b-e61b7f433063-000000@us-west-2.amazonses.com>
Mar 8 00:45:03 froxlor postfix/qmgr[67485]: A1B9E1C0096: from=<[email protected]>, size=81292, nrcpt=1 (queue active)
Mar 8 00:45:04 froxlor postfix/pipe[67823]: A1B9E1C0096: to=<[email protected]>, relay=dovecot, delay=2.6, delays=2.1/0.01/0/0.47, dsn=2.0.0, status=sent (delivered via dovecot service)
我从 /etc/postfix/main.cf 中的默认 TLS 设置开始,然后尝试设置 smtpd_tls_ciphers = export(和低、中、高)并启用/禁用 SSLv2、SSLv3、TLSv1、TLSv1.1、TLSv1.2、TLSv1 .3 以及 tls_ssl_options = NO_COMPRESSION 和一堆其他的启用和禁用选项,不幸的是我现在不记得确切。
我正在使用由使用 Froxlor 安装和配置的工具生成的 LetsEncrypt 证书,并且没有弄乱任何这些设置。
测试有点痛苦,因为它们只每半小时左右重试一次,但是(我认为)我已将其范围缩小到 SSLv3 或 TLSv1,因为如果我禁用这些,错误会从“无共享密码”变为“不支持”协议”。即使将 TLS 日志记录设置为 10,我也没有找到查看他们尝试使用的协议的方法。
我最近做的事情是使用 enable-weak-ssl-ciphers 从源代码构建 libssl1.1 认为默认情况下,这些发件人使用的密码可能不在默认包中。
我可能忽略了一些东西,但我的搜索都没有结果,而且我的头发也快用完了。如果有人能给我一个线索,我将不胜感激。如果我遗漏了任何信息,我很乐意提供。提前感谢大家抽出宝贵时间阅读本文!