如何提高SMTP郵件的安全性?從而不被黑客竊聽


簡單郵件傳輸協議(SMTP)用於在郵件服務器之間進行郵件傳輸,並且傳統上是不安全的,因此容易被黑客竊聽。命名實體的基於DNS的認證(國家統計局)用於SMTP提供了郵件傳輸更安全的方法,並逐漸變得越來越流行。

在這篇文章中,我們將討論與SMTP相關的風險以及DANE如何克服這些風險,並為您提供Internet.nl向那些在實施DANE時照顧郵件服務器的人建議的技巧。

關鍵點:

  • 即使安裝了STARTTLS擴展程序,SMTP也有遭受中間人攻擊的風險。
  • DANE有助於緩解此類攻擊。有關DANE實施的指南,請參見我們的操作方法。
  • DANE打算在MX域上發布。因此,如果您使用的是另一個域的郵件服務器,請確保通過設置一個或多個TLSA記錄來要求該域的管理員支持DANE。

使用STARTTLS的機會性SMTP的風險

默認情況下,郵件傳輸以純文本格式進行。通過引入STARTTLS擴展,機會安全性已添加到SMTP協議中。這意味着僅當接收郵件服務器請求發送郵件服務器使用加密的傳輸層安全性(TLS)連接時,郵件服務器之間的郵件傳輸才受到保護。如圖1所示。

圖1 —盡管與傳統的未加密SMTP連接相比,STARTTLS被認為是一種改進,但仍使電子郵件傳輸容易受到風險的影響。


盡管STARTTLS可以對郵件傳輸進行加密,但是不會強制執行加密,並且發送郵件服務器不會對接收郵件服務器進行身份驗證。這導致以下風險。

風險1:STRIPTLS /降級攻擊

首先,發送郵件服務器無法預先確定接收服務器是否支持加密傳輸。僅在通信開始之后,發送服務器才可以從接收服務器支持的功能(在本例中為STARTTLS)中學習允許加密傳輸的功能。

結果,從一台郵件服務器到另一台郵件服務器的初始連接總是開始未加密,從而使其容易受到中間人(MITM)攻擊。如果郵件服務器在SMTP握手期間不提供“ STARTTLS功能”(因為它已被攻擊者剝離),則郵件傳輸將通過未加密的連接進行。

圖2-此圖顯示了攻擊者執行MITM攻擊並通過從接收電子郵件服務器中剝離TLS功能來強制建立不安全的連接時會發生的情況。當攻擊者控制發送服務器和接收服務器之間的網絡通信時,攻擊者可能會通過刪除指示接收服務器支持加密傳輸的信息來降級會話。發送服務器將繼續處理並傳輸未加密的消息,從而使攻擊者可以看到消息中包含的所有數據。


風險2:將郵件流量轉移到攻擊者的郵件服務器

其次,默認情況下,郵件服務器不會驗證其他郵件服務器證書的真實性;接受任何隨機證書。盡管傳統上認為郵件的傳遞比郵件的安全性更為重要,但從技術角度來看,尚不清楚要在證書中驗證哪些名稱。

郵件服務器的主機名是通過DNS郵件交換器(MX)查找獲得的,但是如果沒有DNSSEC,這些名稱將無法被信任。結果,攻擊者可以將任何隨機證書插入連接過程。

圖3 —該圖顯示了攻擊者執行MITM攻擊並將其自己的證書插入連接過程時會發生什么。這使攻擊者可以解密發送和接收郵件服務器之間的通信。


需要更安全的郵件傳輸

據知名網絡黑客安全專家,東方聯盟創始人郭盛華的研究和事件表明,這些攻擊不是理論上的,而是在日常實踐中發生的,從而導致信息泄漏。我們需要一種更安全的郵件傳輸方法,以抵消攻擊者推遲和/或篡改郵件傳輸的企圖。這是DANE for SMTP出現的地方。

DANE for SMTP(RFC 7672)使用DNS TLSA資源記錄的存在來安全地發出TLS支持信號,並發布發送郵件服務器可以成功驗證合法接收郵件服務器的方式。這使安全連接可以抵抗降級和MITM攻擊。

可以使用DANE減輕先前描述的帶有機會性TLS的SMTP的風險。如圖4所示,該圖顯示了使用DANE進行郵件傳輸。

圖4-此圖顯示了接收域的郵件服務器的DNS TLSA記錄的存在被發送郵件服務器解釋為使用TLS的功能。因此,在與接收域的郵件服務器進行通信時,可以強制使用TLS。TLSA記錄中嵌入的指紋可用於驗證接收郵件服務器的證書。因此,在發送方進行DANE驗證的情況下,具有已發布TLSA記錄的接收服務器不再容易受到上述MITM攻擊。


使用DANE時,最好的做法是在證書未通過驗證時,發送郵件服務器中止連接並嘗試另一台服務器或推遲發送消息。

對於那些想將MTA-STS替代DANE的人來說:這種相對較新的方法似乎最適合大型雲郵件提供商,沒有像DANE那樣被廣泛采用,並且由於“首先信任” 而被認為不如DANE安全。使用和緩存,這在RFC 8461中得到了認可。但是,您可以在DANE旁邊使用它,因為兩個標准可以有意地彼此並存。

實施DANE的提示和技巧

如果您打算實施DANE,請參考以下提示和技巧。

入門

首先在您的MX域上發布DANE記錄,或要求您的郵件提供商這樣做。

下一步是在您的發送郵件服務器上啟用DANE驗證(或要求您的提供商/供應商啟用或實現它)。我們的方法可能對這些步驟有用。

注意:DANE向后兼容。因此,如果您的郵件服務器支持DANE而連接的郵件服務器尚不支持DANE,則通常仍將使用STARTTLS或純文本。

發布DANE記錄

  • DANE打算在MX域上發布。因此,如果您使用的是另一個域的郵件服務器,請確保通過設置一個或多個TLSA記錄來要求該域的管理員支持DANE。
  • 要注意的另一件事是DANE依賴於DNSSEC提供的安全性。在實施DANE之前,使您的主域和MX域支持DNSSEC。
  • 注意:DNSSEC工具已經非常成熟並且可以完全自動化。此外,DNSSEC得到許多DNS提供商的支持,包括一些較大的參與者。
  • 由於郵件服務器默認情況下不驗證證書,因此為郵件服務器購買昂貴的證書對機密性沒有增值或幾乎沒有增值。
  • 建議使用證書的公共密鑰來生成TLSA簽名(選擇器類型為“ 1”),而不要使用完整的證書(選擇器類型為“ 0”),因為這樣可以重復使用密鑰材料。盡管偶爾刷新一下密鑰材料是明智的,但是請注意,使用“向前保密”可以減少每次使用新密鑰對的需要。
  • 僅當接收郵件服務器提供完整的證書鏈時,頒發者證書(使用類型'2')才有效。
  • 確保TLSA記錄的生存時間(TTL)不太高。這樣可以在出現問題時相對快速地應用更改。建議在30分鍾(1,800秒)和1小時(3,600秒)之間使用TTL。
  • TLSA記錄標識證書。如果證書被新證書替換,則相關的TLSA記錄也需要及時更新。否則會出現不匹配,驗證將失敗,並且DANE感知的服務器不會將消息發送到接收者的域。DANE允許您發布多個TLSA記錄來解決此問題。通過使用多個TLSA記錄,您可以創建過渡方案。
  • 實施對DANE記錄有效性的監控。

驗證DANE記錄

  • 越來越多的郵件服務器軟件(如Postfix,Exim,Cloudmark,Halon,Cisco和PowerMTA)支持DANE驗證。如果您使用的是此類軟件,則可以啟用DANE驗證。
  • 確保注意發送郵件服務器的日志,以查看哪些域未通過DANE驗證。 
  • 某些軟件允許測試模式。這意味着DANE驗證已完成並記錄下來,但如果DANE驗證失敗,則沒有交付的后果。

歡迎轉載分享 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM