Debian

Postfix 3.4.9 SSL 問題——沒有來自使用 TLSv1 的伺服器的共享密碼

  • March 8, 2020

編輯 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=<user@theirdomain.tld>, size=81292, nrcpt=1 (queue active)
Mar  8 00:45:04 froxlor postfix/pipe[67823]: A1B9E1C0096: to=<user@mydomain.tld>, 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 認為預設情況下,這些發件人使用的密碼可能不在預設包中。

我可能忽略了一些東西,但我的搜尋都沒有結果,而且我的頭髮也快用完了。如果有人能給我一個線索,我將不勝感激。如果我遺漏了任何資訊,我很樂意提供。提前感謝大家抽出寶貴時間閱讀本文!

我已經設法使用

smtpd_discard_ehlo_keyword_address_maps = hash:/etc/postfix/smtpd_discard_ehlo_keywords

與 /etc/postfix/smtpd_discard_ehlo_keywords (文件名不重要)包含:

<broken-server-ip1> starttls
<broken-server-ip2> starttls

我仍然對這些伺服器使用的 TLSv1 密碼感到好奇,但現在我可以針對這些情況關閉每個主機的 TLS,我很滿意。把這個留給其他需要它的人。

引用自:https://serverfault.com/questions/1006059