Email

只有 STARTTLS 或 TLS 的後綴

  • March 4, 2022

我已將我的 Postfix 設置為需要 STARTTLS 或 SSL/TLS,以及在發送到其他域時對使用者進行身份驗證,或者在接收郵件時要求我的主機知道收件人。

我可以在沒有這樣的初始加密的情況下進行連接:

telnet myserver.com 587
elho there
mail from: abc@def.com

伺服器響應530 5.7.0 Must issue a STARTTLS command first

我注意到 smtp.gmail.com 對使用 TLS 有相同的要求。

我認為這很好,也是我想要的。但是有多少試圖向我的域發送郵件的客戶端/伺服器會失敗,因為他們不能執行 SSL/TLS?我的證書是由letsencrypt簽名的,所以這應該不是問題。

換一種方式問,假設 2022 年所有郵件發件人都可以使用 SSL/TLS 是否安全?

如果不是,我必須在我的後綴配置中進行什麼更改以允許第三方在沒有 TLS 的情況下將郵件傳遞到我的伺服器(對於我的域中的郵件),但仍然需要我想要通過我的伺服器發送郵件的使用者登錄和使用STARTTLS 還是 SSL/TLS?

第二個問題:我注意到,如果我發送以下內容,我會收到同樣的錯誤,但我是否剛剛通過網際網路將密碼發送到未加密的伺服器,這意味著我應該更改我的密碼(注意連接是通過 telnet 完成的,不是openssl!)

telnet myserver.com 587
ehlo there
AUTH PLAIN GFudEBtYaXhdhbnQuY2...doh!

換一種方式問,假設 2022 年所有郵件發件人都可以使用 SSL/TLS 是否安全?

不它不是。今天(2022 年 3 月 3 日)Google 使用加密僅遞送了 85% 的出站郵件

標有“出站電子郵件加密:85%”的圖表

同樣,今天只有 89% 的入站電子郵件被加密:

標有“入站電子郵件加密:89%”的圖表

如果不是,我必須在我的後綴配置中進行什麼更改以允許第三方在沒有 TLS 的情況下將郵件傳遞到我的伺服器(對於我的域中的郵件),但仍然需要我想要通過我的伺服器發送郵件的使用者登錄和使用STARTTLS 還是 SSL/TLS?

# postconf smtpd_tls_security_level=may
# postconf smtpd_tls_auth_only=yes

有關smtpd_tls_security_levelsmtpd_tls_auth_only的文件。

如果您還想允許在不加密的情況下發送出站電子郵件,您應該閱讀有關smtp_tls_security_level的資訊。

請注意,您可以使用smtp_tls_policy_maps固定已知良好域的列表以始終使用加密,並且您可能需要考慮實施MTA-STS以及更具可擴展性的替代方案。這裡有一些適用於 Postfix 的軟體,雖然我自己沒有使用過。請注意,Postfix 頁面談到了一些關於 DNSSEC 和 DANE 的內容,但DNSSEC 不會拯救我們Chromium 團隊對此表示同意

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