郵件伺服器安全SPF、DKIM

吉吉教主發表於2020-11-10

SPF

SPF是指Sender Policy Framework,是為了防範垃圾郵件而提出來的一種DNS記錄型別,SPF是一種TXT型別的記錄。
SPF記錄的本質,是收件人宣告:本域名的郵件從清單上所列IP發出的都是合法郵件。
下面例子中,tencent.com宣告:spf.mail.tencent.com 、spf.mail.qq.com 是合法的,其他不合法。
在這裡插入圖片描述

DKIM

DKIM 技術通過在每封電子郵件上增加加密標誌,收件服務通過非對稱加密演算法解密並比較加密的hash,判斷郵件偽造。

DKIM 的基本工作原理是基於金鑰認證方式,他會產生1組鑰匙,公鑰(public key)和私鑰(private key)。公鑰將釋出在 DNS 中,私鑰會存放在寄信伺服器中。發件時,傳送方會在電子郵件的標頭插入DKIM-Signature及電子簽名資訊,詳見下方截圖。
收件人郵件伺服器收到郵件後,會通過DNS獲得DKIM公鑰,利用公鑰解密郵件頭中的DKIM資訊中的雜湊值,收件伺服器再計算收到郵件的雜湊值,兩個值進行比較,如果一致則證明郵件合法,則傳遞郵件。如果驗證為不合法,則判定為垃圾郵件。 由於數字簽名是無法仿造的,因此這項技術對於垃圾郵件效果極好。

以下是一個DKIM簽名的例子。其中b欄位是利用私鑰對郵件頭、郵件體做的資料簽名;bh是body的hash。
在這裡插入圖片描述
在這裡插入圖片描述DNS獲取的公鑰資訊,其中p欄位是公鑰。
在這裡插入圖片描述

DMARC

DMARC(Domain-based Message Authentication, Reporting and Conformance)的目的是給電子郵件域名所有者保護他們的域名的能力,SPF 和 DKIM 缺少反饋機制, 這兩個協議未定義如何處理"仿冒郵件"。DMARC 的主要用途在於設定“處理策略”, 當收件服務接收到來自某個域未通過身份驗證的郵件時,應執行的dmarc規定的處理機制。
下圖例子中,域名擁有者通過DNS釋出DMARC策略,當收件者收到“仿冒郵件時”執行以下策略:
p:none 不採取對域名的標記。
rua:傳送綜合反饋的郵件地址。
ruf:傳送訊息詳細故障資訊的郵件地址。
在這裡插入圖片描述測試方法:https://dmarcian.com/dmarc-inspector/?domain=example.com#

相關文章