Security

入站 SMTP 連接上強制 TLS 的支持範圍有多廣?

  • January 8, 2016

我執行一個由標準 Postfix、SpamAssassin、ClamAV、SPF/DKIM 檢查等組成的 MTA。此 MTA 僅用於入站電子郵件,不託管任何帳戶,並將通過所述檢查的任何郵件轉發到共享網路主機。

我知道一些電子郵件服務在嘗試將郵件傳遞到我的伺服器時開始嘗試在純文字之前嘗試 TLS 連接。

我意識到並非所有服務都支持 TLS,但我想知道它的採用程度如何,以便我可以滿足我大腦的強迫症安全方面(是的,我知道 SSL 並不像我們曾經認為的那樣安全…)。

Postfix 文件smtpd_tls_security_level聲明RFC 2487規定所有公開引用(即 MX)的郵件伺服器不強制 TLS:

根據 RFC 2487,這絕不能應用於公共引用的 SMTP 伺服器。因此,此選項預設為關閉。

那麼:文件(或 15 年前的 RFC)的適用性/相關性如何,我可以安全地在所有入站 SMTP 連接上強制使用 TLS,而不會鎖定世界上一半的 ISP?

這是一個非常複雜的問題,因為世界上的郵件提供商並不容易提供有關其郵件伺服器的統計數據。

自我診斷

要根據您自己的伺服器/域對等方確定您的問題的答案,您可以啟用 SSL 日誌記錄:

postconf -e \
   smtpd_tls_loglevel = "1" \
   smtpd_tls_security_level = "may"

postconf
postfix reload

這假設您將郵件系統日誌消息保存一段時間。如果沒有,也許設置一個 syslog 歸檔策略並編寫一個 shell 腳本來總結伺服器上的 TLS 使用情況。也許已經有腳本可以做到這一點。

一旦您對所有對等方都支持 TLS 以及您願意強制執行的密碼和協議強度感到滿意,那麼您就可以做出明智的決定。每個環境都不一樣。沒有一種答案可以滿足您的需求。

我自己的親身經歷

值得一提的是,我自己的個人郵件伺服器強制執行 TLS。這具有否定大多數垃圾郵件機器人的有趣副作用,因為它們中的大多數不支持 TLS。(直到那個改變,我一直依賴 S25R 正則表達式方法)

更新

我回答這個問題已經一年了,我收到強制 TLS 的電子郵件的唯一問題是來自 Blizzard 的前端 Web 伺服器(家長控制)和 Linode 的管理系統。我與之互動的其他所有人似乎都支持具有強密碼的 TLS。

企業環境

在企業環境中,我強烈建議您啟用 TLS 日誌記錄,並在執行 TLS 之前讓其執行很長時間。您始終可以對 tls_policy 文件中的特定域名強制實施 TLS。

postconf -d smtp_tls_policy_maps

postfix 站點有一些關於 tls 策略映射使用的很棒的文件。即使 ISP 試圖在初始伺服器連接中去除 TLS 支持,您至少可以確保提供敏感資訊的特定域是加密的。

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