遵守 Amazon 中的DMARC身份驗證協議 SES - Amazon Simple Email Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

遵守 Amazon 中的DMARC身份驗證協議 SES

以網域為基礎的郵件認證、報告及一致性 (DMARC) 是一種電子郵件驗證通訊協定,它使用寄件者政策架構 (SPF) 和「 DomainKeys 識別郵件」(DKIM) 來偵測電子郵件詐騙和網路釣魚。為了遵守DMARC,郵件必須通過SPF或進行身份驗證DKIM,但理想情況下,當兩者都與一起使用時DMARC,您將確保電子郵件發送可能獲得最高級別的保護。

讓我們簡要回顧一下每個做哪些以及如何將它們DMARC聯繫在一起:

  • SPF— 識別允許哪些郵件伺服器透過所使用的DNSTXT記錄代表您的自訂MAILFROM網域傳送郵件DNS。收件者郵件系統會參考SPFTXT記錄,以判斷來自自訂網域的郵件是否來自授權的郵件伺服器。基本上,SPF旨在幫助防止欺騙,但是有一些欺騙技術在實踐中容易受到影響,這SPF就是為什麼您還需要與之一起使用的原因。DKIM DMARC

  • DKIM— 將數位簽章新增至電子郵件標頭中的輸出郵件。接收電子郵件系統可以使用此數位簽章來協助驗證內送電子郵件是否由網域擁有的金鑰簽署。但是,當接收電子郵件系統轉寄郵件時,郵件的信封會以無效驗證SPF的方式變更。由於數位簽章會保留在電子郵件訊息中,因為它是電子郵件標頭的一部分,因此即使郵件已在郵件伺服器之間轉寄郵件 (只要郵件內容尚未修改) 也可以DKIM運作。

  • DMARC— 確保與與中至少一個區域對齊DKIM。SPFDKIM單獨使用SPF並不能確保發件人地址已通過身份驗證(這是收件人在其電子郵件客戶端中看到的電子郵件地址)。SPF僅檢查位MAILFROM址中指定的網域 (收件者看不到)。DKIM僅檢查DKIM簽名中指定的域(也不會被收件人看到)。DMARC通過要求在SPF或上進行域對齊正確,解決了這兩個問題DKIM:

    • SPF若要傳遞DMARC對齊,「寄件者」位址中的網域必須與位址中的網域相符 (也稱為「回傳路徑」和「信封MAILFROM寄件者」位址)。轉寄郵件很少可能發生這種情況,因為它會被剝離或透過第三方批量電子郵件提供者傳送郵件時,因為 Return Path (MAILFROM) 用於提供者 (SES) 使用他們擁有的地址追蹤的退信和投訴。

    • DKIM若要通過DMARC對齊,DKIM簽名中指定的網域必須與「寄件者」位址中的網域相符。如果您使用的是代表您傳送郵件的協力廠商寄件者或服務,則可以透過確保協力廠商寄件者已正確設定DKIM簽署,並且您已在網域中新增適當的DNS記錄來達成此目的。接收郵件伺服器將能夠驗證您的第三方傳送給他們的電子郵件,就像電子郵件是由授權使用網域中某個地址的人所傳送的電子郵件一樣。

把它們放在一起 DMARC

我們上面討論的DMARC對齊檢查顯示了如何 SPFDKIM,以及DMARC所有共同工作,以增加對域的信任度以及將電子郵件發送到收件箱。DMARC藉由確定收件者所看到的寄件者位址已由SPF或DKIM下列其中一項驗證,藉此達成此目的:

  • DMARC如果其中一項或兩項描述SPF或DKIM檢查通過,則訊息通過。

  • DMARC如果所述SPF或DKIM檢查都失敗,則訊息會失敗。

因此,這兩者都SPFDKIM是必DMARC要的,以獲得發送的電子郵件的身份驗證的最佳機會,並且通過利用所有這三個,您將有助於確保您擁有完全受保護的發送域。

DMARC也可讓您指示電子郵件伺服器在電子郵件DMARC驗證失敗時,如何透過您設定的原則處理電子郵件。這將在以下部分中進行說明在您的網域上設定DMARC政策,其中包含有關如何配置SES域的信息,以便您發送的電子郵件符合通過SPF和的DMARC身份驗證協議DKIM。

在您的網域上設定DMARC政策

若要進行設定DMARC,您必須修改網域的DNS設定。您網域的DNS設定應包含指定網域DMARC設定的TXT記錄。將TXT記錄新增至DNS組態的程序取決於您使用的主機提供者DNS或主機服務提供者。如果您使用 Route 53,請參閱 Amazon Route 53 開發人員指南中的使用記錄。如果您使用其他提供者,請參閱提供者的DNS組態文件。

您創建的TXT記錄的名稱應該是_dmarc.example.com,其中example.com是您的域。TXT記錄的值包含適用於您網域的DMARC政策。以下是包含DMARC策略的TXT記錄範例:

名稱 Type Value
_dmarc.example.com TXT "v=DMARC1;p=quarantine;rua=mailto:my_dmarc_report@example.com"

在上述DMARC原則範例中,此原則會告知電子郵件提供者執行下列動作:

  • 對於任何未通過驗證的郵件,請依照原則參數所指定,將郵件傳送至垃圾郵件資料夾p=quarantine。其他選項包括使用什麼都不做p=none,或通過使用直接拒絕郵件。p=reject

    • 下一節討論如何以及何時使用這三個原則設定 — 在錯誤的時間使用錯誤的原則設定可能會導致您的電子郵件無法傳送,請參閱實作的最佳做法 DMARC

  • 依報告參數指定,傳送有關所有驗證失敗之電子郵件的報告 (即彙總特定時間段的資料,而不是針對每個事件傳送個別報表) rua=mailto:my_dmarc_report@example.com (rua 代表彙總報表的報表)。URI電子郵件提供者通常每天會傳送一次這些彙總報告,但這些政策因提供者而異。

若要進一步瞭解如何DMARC設定您的網域,請參閱DMARC網站上的概觀

如需DMARC系統的完整規格,請參閱網際網路工程工作小組 (IETF) DMARC 草案

實作的最佳做法 DMARC

最好以逐步且分階段的方式實作DMARC原則強制執行,這樣就不會中斷郵件流程的其餘部分。建立並實作遵循下列步驟的推出計劃。請先對每個子網域執行上述步驟,最後執行組織中的頂層網域,然後再繼續進行下一個步驟。

  1. 監視實施的影響DMARC(p= 無)。

    • 從簡單的監視模式記錄開始,子網域或網域要求郵件接收組織傳送給您使用該網域所看到之郵件的統計資料。監視模式記錄是將其原則設定為無的DMARCTXT記錄。p=none

    • 透過產生的報告DMARC會提供通過這些檢查之郵件的數量和來源,而不是通過這些檢查的報告。您可以輕鬆查看有多少合法流量是或未被他們覆蓋。您會看到轉寄的跡象,因為轉寄的郵件會失敗,以SPF及內容是DKIM否已修改。您還將開始看到有多少欺詐性消息正在發送,以及它們的發送來源。

    • 此步驟的目標是了解當您實作接下來兩個步驟之一時,哪些電子郵件會受到影響,並讓任何第三方或授權的寄件者使其SPF或DKIM原則保持一致。

    • 最適合現有網域使用。

  2. 要求外部郵件系統隔離失敗的郵件 DMARC (p= 隔離)。

    • 當您認為所有或大部分合法流量傳送的網域符合SPF或DKIM,且您瞭解實作的影響時DMARC,您可以實作隔離原則。隔離策略是將其策略設定為「隔離」的DMARCTXT記錄p=quarantine。如此一來,您就會要求DMARC收件者將來自您網域的郵件放DMARC入垃圾郵件資料夾的本機對等郵件,而不是客戶的收件匣。

    • 最適合轉換在步驟 1 期間分析DMARC報告的網域。

  3. 要求外部郵件系統不接受失敗的郵件 DMARC (p= 拒絕)。

    • 實作拒絕原則通常是最後一個步驟。拒絕原則是將其原則設定為拒絕的DMARCTXT記錄p=reject。當您這樣做時,您要求DMARC收件者不要接受DMARC檢查失敗的郵件 — 這表示他們甚至不會被隔離到垃圾郵件或垃圾郵件資料夾,但會被直接拒絕。

    • 使用拒絕原則時,您將確切知道哪些郵件未通過DMARC原則,因為拒絕會導致SMTP退回。透過隔離,彙總資料會提供有關電子郵件傳遞或失敗百分比的資訊 SPFDKIM,以及DMARC檢查。

    • 最適合經過前兩個步驟的新網域或現有網域。

通過DMARC遵守 SPF

為了使電子郵件符DMARC合SPF,必須滿足以下兩個條件:

  • 訊息必須根據SPF您要發佈至自訂MAILFROM網域DNS組態的有效 SPF (類型TXT) 記錄來通過檢查。

  • 電子郵件標頭「寄件者」地址中的網域必須與地MAILFROM址中指定的網域或子網域對齊 (相符)。為了實現與之保持一SPF致SES,域的DMARC策略不得指定嚴格的SPF策略(aspf=s)。

為了符合這些要求,請完成以下步驟:

  • 透過完成中的程序來設定自訂MAILFROM網域使用自訂「寄件人」網域

  • 請確定您的傳送網域使用放寬的原則SPF。如果您尚未更改域名的政策對齊方式,則默認情況下會使用寬鬆的政策SES。

    注意

    您可以在命令列中輸入下列指令,並以您的網域取代,以判斷網域example.com的DMARC對齊方式:SPF

    dig TXT _dmarc.example.com

    在此命令輸出檔的 Non-authoritative answer (非授權答案) 下,尋找以 v=DMARC1 開頭的記錄。如果此記錄包含字串aspf=r,或者字aspf串根本不存在,則您的網域會使用寬鬆對齊SPF。如果記錄包含字串aspf=s,則您的網域會使用嚴格對齊SPF。您的系統管理員必須從網域DNS設定中的DMARCTXT記錄移除此標籤。

    或者,您可以使用基於 Web 的DMARC查詢工具,例如 dmarcian 網站上的 DMARCInspector 查工具或網站上的DMARC檢查工具工具來確定您的域的政策對齊方式。 MxToolBox SPF

通過DMARC遵守 DKIM

為了使電子郵件符DMARC合DKIM,必須滿足以下兩個條件:

  • 郵件必須具有有效的DKIM簽名並通過DKIM檢查。

  • DKIM簽名中指定的網域必須與「寄件者」位址中的網域對齊 (相符)。如果網域的DMARC政策指定了嚴格的對齊方式DKIM,這些網域必須完全符合 (預設SES會使用嚴格的DKIM政策)。

為了符合這些要求,請完成以下步驟:

  • DKIM透過完成中的程序來設定「簡易」Amazon SES 中的 Easy DKIM。當您使用 Easy 時DKIM,Amazon SES 會自動簽署您的電子郵件。

    注意

    您也可以手動簽署訊息 DKIM,而不是使用 Easy。但是,如果您選擇這樣做,請務必小心,因為 Amazon SES 不會驗證您建構的DKIM簽名。因此,我們強烈建議您使用 Easy DKIM。

  • 確定DKIM簽章中指定的網域與寄件者位址中的網域對齊。或者,如果從寄件者位址中的網域的子網域傳送,請確定您的DMARC政策已設定為放寬對齊。

    注意

    您可以在命令列中輸入下列指令,並以您的網域取代,以判斷網域example.com的DMARC對齊方式:DKIM

    dig TXT _dmarc.example.com

    在此命令輸出檔的 Non-authoritative answer (非授權答案) 下,尋找以 v=DMARC1 開頭的記錄。如果此記錄包含字串adkim=r,或者字adkim串根本不存在,則您的網域會使用寬鬆對齊DKIM。如果記錄包含字串adkim=s,則您的網域會使用嚴格對齊DKIM。您的系統管理員必須從網域DNS設定中的DMARCTXT記錄移除此標籤。

    或者,您可以使用基於 Web 的DMARC查詢工具,例如 dmarcian 網站上的 DMARCInspector 查工具或網站上的DMARC檢查工具工具來確定您的域的政策對齊方式。 MxToolBox DKIM