SPF、DKIM、DMARC:電子郵件身份驗證協議詳細指南

已發表: 2023-09-05

電子郵件身份驗證涉及各種簡單和復雜的過程,可防止惡意行為者破壞您的營銷活動。 SPF、DKIM 和DMARC 是三種主要的電子郵件身份驗證方法,它們支持高級功能,用於驗證電子郵件的真實性並防止網絡犯罪分子竊取訂閱者信息、發送有害或不需要的內容或損害您的聲譽。

但儘管這一點至關重要,但由於身份驗證協議的複雜性和設置過程的複雜性,許多營銷人員不使用身份驗證協議。 更重要的是,這些方法並非沒有限制,因此建立一個有效的電子郵件驗證系統可能具有挑戰性,特別是如果您不精通技術的話。

在本指南博客文章中,我們詳細分析了這些電子郵件身份驗證協議,以幫助您了解其操作背後的基本原理。 你會學到什麼?

  • SPF、DKIM 和 DMARC 的基礎知識
  • 如何設置這些身份驗證協議
  • SPF、DKIM 和 DMARC 記錄的組成部分
  • 電子郵件身份驗證的好處

目錄

什麼是SPF?

SPF 代表發件人策略框架。 它是一種電子郵件身份驗證協議,允許接收電子郵件服務器接受來自授權發件人的傳入電子郵件。 它使您能夠限制可以使用您的域名發送電子郵件的電子郵件發件人的數量。

發件人策略框架使用稱為 SPF 記錄的既定策略,其中包含有用的數據,可幫助接收電子郵件服務器識別非法電子郵件發件人。

SPF 記錄是 DNS 區域文件中的一種 TXT 記錄形式,其中包含授權使用您的域發送電子郵件的 IP 地址列表。 通常,電子郵件服務器會拒絕來自未在此記錄中列出的 IP 地址的電子郵件,從而防止欺騙者和垃圾郵件發送者利用您的身份發送有害內容。 如果電子郵件標頭中的 IP 地址不在 SPF 記錄中,服務器將拒絕其或將其標記為垃圾郵件。

顯示 SPF 工作原理的信息圖表
來源

SPF如何發揮作用?

SPF 使用信封發件人地址來驗證電子郵件的來源,以匹配所有者的 DNS 服務器中的記錄。 以下五個主要步驟總結了 SPF 的工作原理:

  1. 域管理員將 SPF 記錄發佈到 DNS 數據庫,設置電子郵件服務器在看到傳入電子郵件時應遵循的規則
  2. 接收電子郵件服務器對傳入電子郵件執行 DNS 查找、檢索 SPF 記錄並檢查返迴路徑或退回地址中的域規則
  3. 然後,電子郵件服務器將發件人的 IP 與記錄中的授權地址列表進行比較
  4. 根據規則,服務器決定是否應該發送、標記或拒絕電子郵件
    • 如果發送IP在SPF記錄中,則郵件認證通過
    • 如果發送IP不在SPF記錄中,則認證失敗

SPF 記錄是什麼樣的?

SPF 記錄包含標籤,這些標籤向接收電子郵件服務器提供有關如何匹配傳入電子郵件和處理失敗身份驗證的說明。 SPF 記錄有兩個主要組成部分:

  1. 機制
  2. 預選賽

它可能是這樣的:

 v=spf1 a:mail.solarmora.com ip4:192.72.10.10 包括:_spf.google.com ~all 
SPF記錄
來源

1. 機制

SPF 機制是 SPF 記錄中的特殊元素或標記,用於向電子郵件服務器顯示與發件人地址相匹配的內容。 以下是其中一些要素:

  • v:這是每個 SPF 記錄中的第一個機制。 它指定 SPF 版本,在本例中,值為 1
  • a:指定域的A或AAAA記錄中的授權IP地址。 如果域有返回發件人 IP 地址的 A 記錄,則此機制通過
  • Ip4 或 Ip6:分別指定 Ip4 或 Ip6 地址。 IP地址範圍在記錄中給出,如果發送者的地址與網絡範圍內的地址匹配,則該機制通過
  • mx:這指定發件人用於代表域中繼郵件的授權電子郵件服務器。 域的 mx 記錄在 SPF 記錄中定義,如果發件人的 IP 鏈接到記錄中的地址列表,則匹配成功
  • include:這指定授權為域中繼電子郵件的第三方 IP 地址。 此機制使用外部郵件服務器的 SPF 記錄來匹配發件人的 IP 地址。 如果第三方服務器沒有 SPF 記錄,則返回永久錯誤(PermError)
  • all:這是 SPF 記錄中的最後一個機制,它定義傳入電子郵件服務器將如何處理與其他機制不匹配的任何地址。 在使用其他機制評估地址後,它使用限定符來確定電子郵件會發生什麼情況

2. 預選賽

限定符是一個前綴,指定服務器在將地址與記錄匹配後所採取的操作。 四大預選賽包括:

預選賽結果意義
+ 經過此限定符允許接收電子郵件服務器接受所有傳入電子郵件,即使它在 SPF 記錄中沒有匹配項
失敗這就是硬失敗。 當發送服務器未經授權或 SPF 記錄不匹配時,它指示接收服務器拒絕電子郵件
軟故障軟失敗指示服務器接受所有電子郵件,但如果發件人未經授權,可能會將其標記為垃圾郵件
中性的即使發件人未經授權,此限定符也沒有明確說明是否通過或失敗身份驗證

如何設置SPF記錄

設置 SPF 記錄是一個複雜的過程,配置不當可能會導致多個錯誤。 不過,以下是設置過程的總體概述:

  1. 獲取有權代表您發送電子郵件的 IP 地址、電子郵件服務器或域的列表
  2. 創建指定授權地址的 SPF TXT 記錄。 您可以根據您的域名託管服務商在 DNS 設置中執行此操作
  3. 發布記錄並測試以確保配置正確

創建 SPF 記錄時要考慮的要點

  • 您的 SPF 記錄只能包含小寫字符
  • 它有 255 個字符的限制
  • 每個域只能有一個 SPF 記錄
  • 避免使用“+all”或“?all”機制
  • SPF 記錄不應超過 10 次 DNS 查找

SPF 有哪些限制?

  • 如果您的記錄超過 10 次 DNS 查找,接收電子郵件服務器將無法通過身份驗證
  • 轉發的消息無法通過身份驗證,因為新的返迴路徑可能不在 SPF 記錄中
  • SPF 記錄設置很複雜,公司需要在更改電子郵件服務器時更新它們
  • SPF 僅匹配退回地址,而不匹配發件人地址,從而使您的客戶容易受到垃圾郵件和網絡釣魚攻擊

另請閱讀:如何避免垃圾郵件過濾器以提高電子郵件的送達率

什麼是 DKIM?

DKIM 代表域名密鑰識別郵件。 它是一種電子郵件身份驗證協議,在消息標頭中使用加密(數字)簽名來驗證消息的完整性和合法性。 與 SPF 不同,DKIM 為您的域提供加密密鑰,使您能夠簽署電子郵件以證明它們來自您。

此方法可防止網絡犯罪分子欺騙您的域,因為他們無權訪問對電子郵件標頭中的加密簽名進行加密的私鑰 - 任何有權訪問您的私鑰的人都可以代表您簽署電子郵件。 DKIM 通過告訴接收郵件服務器郵件來自您並且在傳輸過程中沒有被更改,為 SPF 添加了額外的安全層。

DKIM 記錄是包含 DKIM 公鑰的 DNS 區域文件中 TXT 記錄的一種形式。 公鑰是非對稱密鑰,用於解密私鑰簽名的簽名。

DKIM 的工作原理
來源

DKIM 如何運作?

DKIM 使用非對稱加密技術來保護和驗證電子郵件消息。 此過程的工作原理是分別使用私鑰和公鑰對您的電子郵件簽名進行加密和解密。

以下是總結 DKIM 工作原理的主要步驟:

  1. 域管理員創建加密密鑰對(私鑰/公鑰對),保護私鑰,並以 TXT 格式在 DKIM 記錄中發佈公鑰。
  2. 通過使用郵件標頭和內容生成哈希值(任何這些字段的更改都可以更改哈希值),為每封電子郵件創建數字簽名。 該哈希值使用域的私鑰加密並附加到電子郵件標頭。
  3. 接收郵件服務器檢查傳入的電子郵件,執行 DNS 查找以查找 DKIM 記錄中的公鑰,並根據電子郵件內容生成另一個哈希值。 它還使用公鑰來解密電子郵件標頭中的 DKIM 簽名。
  4. 最後,接收郵件服務器比較兩個哈希值。 如果匹配,則身份驗證通過並且電子郵件是安全的。 但如果兩個值不匹配,則身份驗證失敗,這意味著消息已被更改或電子郵件發件人未獲得授權。

DKIM 簽名是什麼樣的?

DKIM 簽名是由消息中的多個組件(正文、標頭或域)創建的一長串隨機字符。 一個簡單的 DKIM 簽名由幾個部分組成,可能如下所示:

 DKIM 簽名:v=1; a=rsa-sha256; c=放鬆/放鬆;
        d=google.com; s=20221208; t=1692863043; x=1693467843;
        h=to:from:subject:message-id:list-unsubscribe:list-id:date
        :mime-版本:從:到:抄送:主題:日期:消息ID:回复;
        bh=SfaVTjqWfy4F1BcCTHCVE5SzBwTD7kOvDT0R5O2ycPg=;
        b=A3oKUoYntA0fSc1tgJ+iD+gIGYnWGEmywyLxpyByrHZh/gWo84p/N73ZNJiT82AkSe
        MxdveUN/4b5PLJ0VQmumix/EfmlIO2jssTLq3tDoKiM97UJaUyfPRiLuluuYCMiaYAKk
        ZUbZYCaRp0I0VYikf5i6BdzxQwrtxH0gyZOppXf+JXp0rhA+lz+Bjm87+kess5g/DqIJ
        qFjBIm0KBkd9AcBHeM8vpYhra9t4yyVzj0mburc+1zFyogChd4ATSVpkkazAEl1hYTCr
        I7t3/PkNvLyOQFLaj2Z7Ee9fVKyeWmyAm7DQ6BKc0LCHy8wX2W/SEzmonxo7l5B/t4Ie
        /nEw==

簽名包含的標籤包括:

  • v=指定DKIM版本,當前值設置為1
  • a=指定簽名者用來生成簽名的哈希算法。 通常,該值為 rsa-sha256 或 rsa-rsa1。
  • d=指定電子郵件發件人的域名
  • s=這指定了選擇器。 接收郵件服務器使用它來查找給定簽名的公鑰。
  • h=指定標頭哈希值。 它包含電子郵件標題中的所有信息 – 發件人:收件人:主題:日期:等。
  • b=指定以 Base64 編碼的標頭和正文的數字簽名
  • bh=指定電子郵件正文哈希值。 它是代表消息內容的加密版本的字符串。
  • t=指定創建簽名時的時間戳。 格式是自 1970 年 1 月 1 日 00:00:00(UTC 時區)以來的秒數。

如何設置 DKIM

與 SPF 一樣,DKIM 設置是一個複雜且耗時的過程。 然而,這是值得的,因為它可以保護您的品牌聲譽並保護您的電子郵件訂閱者免受垃圾郵件和網絡釣魚攻擊。 以下是可幫助您設置 DKIM 電子郵件身份驗證的一般提示。

  1. 生成用於加密和解密 DKIM 簽名的公鑰/私鑰對
  2. 將您的 DNS 區域文件中的公鑰作為 TXT 記錄發布 - 並保護您的私鑰
  3. 生成您的簽名並測試您的電子郵件以確保配置正確
DKIM 加密密鑰對
來源

創建 DKIM 記錄時要考慮的要點

  • 私鑰應妥善保管
  • 避免 DKIM 記錄中出現氣體或錯誤
  • 確保定期輪換密鑰,以減少密鑰被洩露時可能發生的影響
  • 確保您的記錄與電子郵件標頭詳細信息一致
  • 您可以通過使用可信的 DKIM 記錄生成器來減少錯誤

DKIM 有哪些限制?

  • DKIM 實施起來很複雜,因為它涉及管理加密密鑰和生成電子郵件簽名
  • 如果電子郵件服務器或其他程序在傳輸過程中更改郵件,則該郵件可能會無法通過身份驗證
  • DKIM 僅驗證發件人的域名,而不驗證發件人本身,因此如果網絡犯罪分子有權訪問您的帳戶,他們發送的郵件將通過身份驗證。
  • 有時,DKIM 簽名不會覆蓋電子郵件的所有部分,因此即使電子郵件的一部分被更改,它也可能通過身份驗證
  • DKIM 簽名不覆蓋返迴路徑(退回地址)。

另請閱讀:避免垃圾郵件文件夾:電子郵件傳遞能力簡介

什麼是 DMARC?

DMARC 代表基於域的消息身份驗證、報告和一致性。 它是一種電子郵件身份驗證協議,使域管理員能夠發布處理傳入電子郵件的策略。 此方法建立在 SPF 和 DKIM 框架之上,從而為您的電子郵件添加了額外的安全層。

  • DMARC + SPF: DMARC 確保標頭“發件人:”地址與 SPF 記錄中的返迴路徑或信封“發件人:”地址匹配,從而驗證電子郵件的來源。
  • DMARC + DKIM: DMARC 確保標頭“From:”域與 DKIM 簽名中的 d= 域匹配。 這驗證了消息的真實性。
DMARC 的工作原理
來源

DMARC 將這些電子郵件身份驗證協議結合在一起,以查找可能的對齊信號,並建議接收郵件服務器在電子郵件身份驗證失敗時應採取的操作。 此外,它還提供 XML 格式的詳細報告,以幫助域管理員監控其域在電子郵件通信中的使用方式。

DMARC 通過確保不需要或有害的內容不會進入收件箱來防止網絡釣魚和欺騙。 它使用 SPF 和 DKIM 的記錄來結合標準身份驗證和加密工具,確保只有授權發件人才能代表您的公司發送電子郵件。 通常,DMARC 記錄包含處理這些電子郵件的策略。

DMARC 記錄是在 DNS 數據庫中發布的 TXT 記錄的一種形式,其中包含告訴接收郵件服務器如何處理未通過 SPF 和 DKIM 電子郵件身份驗證的郵件的策略。 它還包含使發件人能夠接收有關使用該域發送的電子郵件的報告的說明。

DMARC 如何工作?

DMARC 不是獨立的身份驗證方法。 它與其他協議一起識別合法的電子郵件發件人,並建議針對不需要或有害的電子郵件採取的措施。

以下是總結 DMAARC 工作原理的主要步驟:

  1. 域管理員在 DNZ 區域文件中生成並發布 TXT 格式的 DMARC 記錄。
  2. 當接收郵件服務器發現傳入電子郵件時,它會執行 DNS 查找以查找 DMARC 記錄。 它還進行 SPF 和 DKIM 身份驗證以驗證電子郵件的合法性。
    • 使用 SPF 記錄來查明 IP 地址是否經過授權
    • 它檢查“發件人:”地址和域是否與記錄一致
    • 使用 DKIM 記錄驗證電子郵件簽名
  1. DMARC 記錄包含三個主要指令,如果一項或多項身份驗證失敗,接收郵件服務器應遵循這些指令。 這些政策包括:
    • 無:不對電子郵件執行任何操作
    • 隔離:將失敗的電子郵件放入垃圾郵件文件夾中
    • 拒絕:刪除電子郵件
  1. 最後,電子郵件服務器發送一份報告,總結從您的域發送的電子郵件的性能。
DMARC 的工作原理
來源

DMARC 記錄是什麼樣的?

DMARC 記錄可能如下所示:

 v=DMARC1; p=拒絕; rua=mailto:[email protected]

該記錄包含標籤,其中包括:

  • v=指定 DMARC 版本,當前值設置為 1。它是 DMARC 記錄中的第一個標籤。
  • p=這是策略標籤。 它指定接收服務器應如何處理未通過身份驗證的電子郵件。 這三個值是none、quarantine
  • pct=這指定將受到隔離或拒絕策略影響的電子郵件的百分比。 它與“p”配合使用,逐步測試未通過 DMARC 身份驗證的郵件的小樣本,以確保接收服務器不會將合法電子郵件標記為垃圾郵件。
  • rua=這指定您接收 DMARC 聚合報告的一個或多個電子郵件地址。 這些報告為您提供有關電子郵件發件人如何使用您的域的寶貴見解。
  • ruf=這指定您接收 DMARC 取證報告的一個或多個電子郵件地址。 與聚合報告不同,這些報告可以深入了解未通過 SPF、DKIM 和 DMARC 身份驗證的電子郵件。
  • adkim 和 aspf= adkim 和 aspf 標籤分別指定 DKIM 和 SPF 的對齊指令
  • sp=指定子域策略。 與“p”標籤一樣,該策略給出了對通過公司子域發送的電子郵件採取的操作

如何設置 DMARC 記錄

與 SPF 和 DKIM 不同,DMARC 的設置相當容易。 然而,它仍然需要關鍵流程來避免錯誤。 以下是幫助您設置 DMARC 電子郵件身份驗證的一般提示:

  1. 在 DNS 數據庫中生成並發布 TXT 格式的 DMARC 記錄
  2. 確保正確設置 SPF 和 DKIM
  3. 監控您的電子郵件以識別和分析未通過身份驗證的電子郵件
  4. 逐漸收緊您的 DMARC 策略,從無隔離、拒絕,並選擇用於接收 DMARC 報告的電子郵件地址
  5. 識別未通過身份驗證的合法和非法來源。 這為您提供了見解,以幫助您調整其他安全協議

創建 DMARC 記錄時要考慮的要點

  • 使用 DMARC 報告(匯總和取證)來識別授權和未經授權的電子郵件發件人
  • 一個域只能有一條 DMARC 記錄
  • 逐漸從一種策略轉向另一種策略,使用“pct”標籤對一小部分郵件樣本進行身份驗證,以防止合法電子郵件被標記為垃圾郵件
  • 定期檢查並更新您的 SPF 和 DKIM 記錄,看看它們是否符合您當前的安全要求
SPF、DKIM 和 DMARC
來源

另請閱讀:退回率和電子郵件送達率 – 簡單指南

SPF、DKIM 與 DMARC

SPF 德基姆DMARC
認證框架SPF 使用 IP 地址來驗證電子郵件發件人DKIM 使用數字簽名來驗證電子郵件內容的真實性DMARC 同時使用
報告SPF 不提供電子郵件報告DKIM 不提供電子郵件報告DMARC 提供匯總和取證報告
電子郵件的一部分SPF 分析返迴路徑或跳出地址DKIM 分析電子郵件簽名DMARC 分析兩者,包括發件人:地址
依賴SPF可以單獨發揮作用DKIM 可以單獨運行DMARC 依賴 SPF 和 DKIM
政策SPF 使用限定符來確定電子郵件服務器應如何處理失敗的電子郵件身份驗證DKIM 沒有處理失敗的電子郵件身份驗證的策略DMARC 對於處理失敗的電子郵件身份驗證有明確的策略

另請閱讀:針對初學者的電子郵件日落政策 101

如何檢查您的電子郵件是否已通過 SPF、DKIM 和 DMARC

1. 使用您的電子郵件服務提供商 (ESP)

檢查電子郵件身份驗證方法狀態的最簡單方法是查看原始 HTML 格式的電子郵件的完整標頭。 在這裡,您可以查看其他標頭詳細信息,例如 IP 地址、DKIM 簽名、發件人詳細信息等。

您可以通過以下方法檢查 Gmail 中的設置:

  • 首先,發送一封測試電子郵件到您的地址
  • 您可以單擊向下箭頭來顯示第一個標題。
  • 如果“mailed-by”和“signed-by”標頭與您的域匹配,則您的 SPF 和 DKIM 通過。

電子郵件標頭

  • 您還可以點擊左上角的三個點來查看 HTML 格式的完整標題

完整的電子郵件標題

  • 如果郵件通過,會顯示“PASS”

SPF、DKIM 和 DMARC 身份驗證

2.使用電子郵件工具

這最好是檢查您的電子郵件身份驗證設置並獲取有關您的電子郵件的其他信息的最簡單方法。

  • 轉到Mx工具箱
  • 輸入所需的詳細信息

MxToolbox DMARC 檢查

  • 如果電子郵件通過身份驗證,結果可能如下所示

MxToolbox DMARC 檢查

此工具中的數據可幫助您分析 SPF、DKIM 和 DMARC 記錄並識別內部或外部來源。

另請閱讀:退回電子郵件:它們是什麼以及如何修復它們

電子郵件身份驗證協議 SPF、DKIM 和 DMARC 如何提供幫助

1.保護品牌聲譽

當網絡犯罪分子利用您的身份欺騙您的訂閱者或向他們發送未經請求的電子郵件時,您就會對您的品牌失去興趣,並轉而使用“更安全”的品牌。

更重要的是,他們會將您的電子郵件標記為垃圾郵件。 這會向垃圾郵件過濾器發送信號,隨著時間的推移,您的品牌聲譽會下降。

但通過電子郵件身份驗證,您可以確保只有來自您公司的合法電子郵件才會發送給您的訂閱者。 這可以幫助您開展安全、成功的電子郵件營銷活動,以建立信任和更牢固的客戶關係。

2. 防止網絡釣魚和欺騙

惡意行為者可以繞過簡單的安全檢查,攻擊您的電子郵件服務器,並使用您的域竊取收件人的信息。 但是,SPF、DKIM 和 DMARC 等協議可以幫助您防止這種情況發生。

這些身份驗證方法可確保只有來自合法發件人的電子郵件才能到達收件箱。 此外,它們還確保消息在傳輸過程中不被篡改。 當接收服務器發現可疑內容時,它們可以拒絕或將其標記為垃圾郵件。

3. 提高電子郵件送達率

身份驗證協議具有通過降低垃圾郵件分數並拒絕惡意、不需要或有害的電子郵件來增強電子郵件送達率的功能。

當訂閱者收到更多來自您品牌的未經請求的電子郵件時,他們可能會將其移至垃圾郵件文件夾。 這會增加您的垃圾郵件分數並損害您的聲譽。 隨著時間的推移,垃圾郵件過濾器可能會將您的合法電子郵件過濾到垃圾郵件文件夾中,您的收件人將看不到它們,從而損害您的營銷活動。

另請閱讀:ISP 和電子郵件送達率:如何始終到達收件箱

包起來

SPF、DKIM 和 DMARC 是強大的身份驗證方法,可增強您的整體電子郵件安全性。 雖然您可以單獨使用 SPF 和 DKIM,但最好將這三個協議結合起來以彌補它們的局限性。

這樣,您可以識別代表您發送電子郵件的來源、保護您的電子郵件內容並接收有價值的電子郵件報告。

您可以使用 EngageBay 驗證您的電子郵件,以提高您的品牌聲譽並確保電子郵件營銷活動取得成功。