我遇到了麻煩,一些壞伺服器試圖向我發送一些我迫切需要的電子郵件。
發送方始終請求 STARTTLS,但隨後無法建立 TLS(我的伺服器支援的 v1.2+)連線。據推測,它將未加密的郵件傳遞到未宣布該功能的郵件伺服器。
我可以使用 全域停用 TLS smtpd_tls_security_level
,但這真的很糟糕,所以我想找到一個設定來僅對嘗試聯繫我的遠端伺服器的給定清單停用它。
有可能嗎?
編輯:這是 Postfix 的日誌smtpd_tls_loglevel = 2
:
belette64 postfix/smtpd[145475]: connect from smtp.misconfigured.fr[XX.XX.XX.XX]
belette64 postfix/smtpd[145475]: setting up TLS connection from smtp.misconfigured.fr[XX.XX.XX.XX]
belette64 postfix/smtpd[145475]: smtp.misconfigured.fr[XX.XX.XX.XX]: TLS cipher list "aNULL:-aNULL:HIGH:MEDIUM:+RC4:@STRENGTH"
belette64 postfix/smtpd[145475]: SSL_accept:before SSL initialization
belette64 postfix/smtpd[145475]: SSL_accept:before SSL initialization
belette64 postfix/smtpd[145475]: SSL3 alert write:fatal:handshake failure
belette64 postfix/smtpd[145475]: SSL_accept:error in error
belette64 postfix/smtpd[145475]: SSL_accept error from smtp.misconfigured.fr[XX.XX.XX.XX]: -1
belette64 postfix/smtpd[145475]: warning: TLS library problem: error:1417A0C1:SSL routines:tls_post_process_client_hello:no shared cipher:../ssl/statem/statem_srvr.c:2282:
belette64 postfix/smtpd[145475]: lost connection after STARTTLS from smtp.misconfigured.fr[XX.XX.XX.XX]
答案1
如果你真的想解決他們的疏忽,你可以添加一個單獨的不了解 TLS 的伺服器。有它只與已知不良客戶名單交談(由 ehlo 或位址標識),並且僅透過具有較高優先值的 MX 記錄或防火牆進行訪問,以免降低其他用戶端的安全性。
這和剛才有什麼不同smtp_tls_security_level=may
?它將為未能建立安全通道(在向主 MX 發出請求後)的客戶端提供第二次機會,因為第二個伺服器沒有宣布STARTTLS
功能,因此客戶端無法重複其錯誤。
怎麼做?這透過單獨的 MX 記錄發布路線更安全,因為它或多或少當您的特殊情況配置不可避免地變得過時時,會回到常見情況,但僅在您端進行連接埠重定向需要更少的設定步驟:
- 複製您的 smtpd 行
master.cf
,使用不同的連接埠和額外的選項(標記日誌行,為未來的管理員添加註釋以了解到底為什麼這樣做):
smtp inet n - y - - smtpd
10025 inet n - y - - smtpd
-o syslog_name=postfix/smtpd/badstarttls
-o smtpd_tls_security_level=none
-o smtpd_helo_required=yes
-o smtpd_helo_restrictions=pcre:/etc/postfix/helo_badstarttls_allow.pcre,reject
-A PREROUTING .. -j REDIRECT --to-port ..
透過iptables重定向到不同的連接埠;或在 nftables 中:
tcp dport 25 ip protocol tcp ip saddr { XX.XX.XX.XX } redirect to :10025
但這可能既不是最簡單的選擇,也不是正確的選擇。幾乎每個發送郵件的人都在發送這樣的郵件應該安全運輸。如果您致力於打破最佳實踐的特殊便利,您將成為其中的同謀。讓他們來修復它。
如果他們位於歐盟,他們甚至會發布一個名為“資料保護官因此,您的任務不是解釋他們修復設定的優先順序。您所要做的就是通知他們處理個人資料的伺服器未維護。
答案2
這只應設定為may
.機會主義 TLS 是我們在未來很長一段時間內獲得的最好的電子郵件。