什麼是 DMARC? 了解 DMARC 記錄
已發表: 2020-03-05基於域的消息身份驗證、報告和一致性或 DMARC 是一種協議,它使用發件人策略框架 ( SPF)和域密鑰識別郵件 ( DKIM)來確定電子郵件消息的真實性。
DMARC 記錄使 Internet 服務提供商 (ISP) 更容易防止惡意電子郵件行為,例如域欺騙以獲取收件人的個人信息。
本質上,它允許電子郵件發件人指定如何處理未使用 SPF 或 DKIM 進行身份驗證的電子郵件。 發件人可以選擇將這些電子郵件發送到垃圾文件夾或讓它們一起阻止它們。 通過這樣做,ISP 可以更好地識別垃圾郵件發送者並防止惡意電子郵件侵入消費者收件箱,同時最大限度地減少誤報並提供更好的身份驗證報告以提高市場透明度。
您的 DMARC 記錄與您的 DNS 記錄一起發布,包括:
- 防曬指數
- 一個記錄
- CNAME
- (DKIM)
重要的是要注意,並非所有接收服務器都會在接受消息之前執行 DMARC 檢查,但所有主要 ISP 都會這樣做,並且實施正在增長。
DMARC 有什麼好處?
您希望實施 DMARC 有幾個關鍵原因:
- 聲譽:發布 DMARC 記錄可防止未經身份驗證的各方從您的域發送郵件,從而保護您的品牌。 在某些情況下,簡單地發布 DMARC 記錄可能會帶來積極的聲譽提升。
- 可見性: DMARC 報告通過讓您知道誰從您的域發送電子郵件來提高對您的電子郵件程序的可見性。
- 安全性: DMARC 幫助電子郵件社區建立一致的策略來處理未能通過身份驗證的郵件。 這有助於整個電子郵件生態系統變得更加安全和值得信賴。
DMARC 記錄是什麼樣的?
您可以通過在終端中鍵入 <dig txt_dmarc.sendgrid.net >來查看 DMARC 記錄的樣子。 您也可以訪問https://www.valimail.com/查看任何域的 DMARC 記錄(如果它們已發布 1 個)。
這是 DMARC 記錄的示例——這是 SendGrid 的 DMARC 記錄:
v=DMARC1\;p=none\;rua=mailto:[email protected]\;ruf=mailto:[email protected]\;rf=afrf\;pct=100
讓我們分解一下
“v=DMARC1”
版本 – 這是接收服務器在掃描從其接收消息的域的 DNS 記錄時查找的標識符。 如果域沒有以 v=DMARC1 開頭的 txt 記錄,則接收服務器將不會運行 DMARC 檢查。
“p=無”
政策 – 您在 DMARC 記錄中選擇的政策將告訴參與的收件人電子郵件服務器如何處理未通過 SPF 和 DKIM 但聲稱來自您的域的郵件。 在這種情況下,策略設置為“無”。 您可以設置 3 種類型的策略:
- p=none – 告訴接收者不對不合格的郵件執行任何操作,但仍將電子郵件報告發送到 mailto: 在 DMARC 記錄中的任何違規行為。
- p=quarantine – 告訴收件人隔離不合格的郵件,這通常意味著“將其直接發送到垃圾郵件文件夾”。
- p=reject – 告訴收件人完全拒絕該域的任何不合格郵件。 啟用此功能後,只有被驗證為 100% 由您的域簽名的郵件才有機會進入收件箱。 任何未通過的郵件都會被拒絕——不會被退回——因此無法捕捉誤報。
“rua= mailto:[email protected] ”
這部分告訴接收服務器將 DMARC 失敗的聚合報告發送到哪裡。 每天將匯總報告發送給 DMARC 記錄所屬域的管理員。 它們包括有關 DMARC 故障的高級信息,但不提供有關每個事件的詳細信息。 這可以是您選擇的任何電子郵件地址。
“ruf=mailto:[email protected]”
這部分告訴接收服務器將 DMARC 故障的取證報告發送到哪裡。 這些取證報告實時發送給 DMARC 記錄所屬域的管理員,並包含有關每個單獨故障的詳細信息。 此電子郵件地址必須來自為其發布 DMARC 記錄的域。
“ rf=afrf”
報告格式。 這部分告訴接收服務器投保人想要什麼樣的報告。 在這種情況下, rf=afrf表示聚合故障報告格式。
“pct=100”
百分比——這部分告訴接收服務器有多少郵件應該遵守 DMARC 策略的規範。 您可以選擇 1-100 之間的任何數字。 在這種情況下,如果 p= 設置為拒絕,則 100% 未通過 DMARC 的郵件將被拒絕。
還有許多其他機制可以包含在 DMARC 記錄中。 一些值得注意的包括:
“sp=”這部分將告訴接收服務器是否將 DMARC 策略應用於子域。
“adkim=”這將設置 DKIM 對齊方式。 它可以設置為“s”表示嚴格或“r”表示寬鬆。 嚴格意味著 DMARC 身份驗證的 DKIM 部分只有在 DKIM 簽名中的 d= 字段與 from 域完全匹配時才會通過。 如果設置為寬鬆,如果 DKIM d= 字段與發件人地址的根域匹配,則郵件將通過 DMARC 身份驗證的 DKIM 部分。
“ri=”這設置了您希望接收有關 DMARC 故障的匯總報告的頻率間隔。
如何使用 Twilio SendGrid 實現 DMARC?
在完成實施 DMARC 的工作之前,請注意它並不適合所有人。 如果您擁有一個小域,那麼沒有它您可能沒問題。 但是,如果您過去曾遇到過網絡釣魚問題或擁有處理敏感信息的財務導向業務,那麼這是一個明智之舉。
要記住的另一件事是 DMARC 匯總和取證報告旨在為機器可讀。 人類可能很難理解它們,因此您還需要使用 DMARC 報告監控服務來收集報告並訪問信息。 Twilio SendGrid 已與 ValiMail 合作。
一旦您決定實施並選擇了正確的服務,設置 DMARC 的過程包括 5 個階段:
1. 在您的 Sendgrid IP 上部署帶有發件人身份驗證的 DKIM 和 SPF
為您的帳戶完成發件人身份驗證過程。 這可確保通過您的 Twilio SendGrid 帳戶發送的電子郵件將使用DKIM和SPF為您的唯一域正確簽名。
如果您不確定如何完成第一步,請在此處訪問我們的文檔以獲取幫助。
2. 為您允許的域驗證正確的 DKIM 和 SPF 簽名
給自己發送一些測試電子郵件,以幫助確認一切正常。 您正在尋找驗證電子郵件標頭中的 DKIM 和 SPF 簽名是否與您用於允許您的 SendGrid 帳戶的域一致。 只要兩者都通過,您就可以開展業務!
3. 向您的 DNS 註冊商發布 DMARC 記錄,然後監控結果
在您的 DNS 註冊商中,您需要創建一個 TXT 資源記錄,接收者可以使用該記錄來確定您的 DMARC 首選項。 這是在域主機的 DNS 註冊器中完成的,這可能與您為發件人身份驗證創建 DNS 記錄的位置相同。 此記錄是在域的根級別創建的,而不是子域。
一個簡單的 DMARC 記錄可能如下所示:
“v=DMARC1; p=quarantine; pct=100;
rua=mailto:[email protected]”
“v=DMARC1; p=隔離; 百分比=100; rua=mailto:[email protected]”*
- v=DMARC1;
設置為使用 DMARC 版本 1,目前沒有其他版本。 所以總是設置為 1。 - p=隔離;*
該政策告訴收件人隔離不合格的郵件,這通常意味著“將其直接發送到垃圾郵件文件夾”。 - 百分比=100;
這指示接收者評估 100% 聲稱來自域的消息,這可以是 1 到 100 之間的任何數字。 - rua=mailto:[email protected]
這告訴收件人將匯總報告發送到[email protected] 。 將此設置為您控制且受到密切監控的電子郵件地址。
*此示例使用 p=quarantine 策略,但我們建議始終首先使用 p=none 策略。
4. 分析您收到的反饋並根據需要調整您的郵件流
如果不合格的電子郵件被發送到參與 DMARC 的收件人並由其接收,收件人將為這些郵件生成報告並將其發送回您的 DMARC 記錄中指定的 mailto: 地址。
在這些報告中,您將獲得幫助您準確評估哪些服務可能代表您的域發送郵件的信息。
這是一個只有 1 條記錄的示例報告,顯示了 2 封郵件的結果。 (請注意,列出的 SPF 和 DKIM auth_results 是原始結果,與 s= 對齊無關。文件名的格式為:filename = receiver “!” policy-domain “!” begin-timestamp “!” end-timestamp “。 ” 擴展名(例如:receiver.org!sender.com!1335571200!1335657599.zip))
<報告元數據>
<org_name>receiver.com
<extra_contact_info>http://receiver.com/dmarc/support
<report_id>9391651994964116463
<日期範圍>
1335571200
1335657599
<policy_published> sender.com
r
r
沒有
沒有
100
<source_ip>72.150.241.94
2 <policy_evaluate> 無
失敗
經過
<header_from>sender.com
<auth_results>
發件人.com
失敗
<human_result>
發件人網
經過
<human_result>
發件人.com
經過
*注意:匯總報告以 .zip 附件的形式發送,因此請確保您定義的地址可以接受此文件類型的附件。
5. 在學習時升級您的 DMARC 政策標籤
現在您已經測試並調整了您的郵件流,以確定誰在為您的域發送電子郵件,是時候將其提高一個檔次了。
到目前為止,您應該只使用 p=none 策略來獲取任何錯誤行為的報告,並且您應該對電子郵件的來源有一個很好的了解。 下一步是調整您的 DMARC 記錄的政策,以開始控制接收者如何處理聲稱來自您的域的郵件。 記住:
- p=none – 您會收到違規報告,但收件人不會自行處理郵件。
- p=quarantine – 不合格的郵件直接進入垃圾郵件,但可以恢復。 當您相當確定您知道郵件來自的所有位置時,這很有用,但想要“軟失敗”任何不合格的郵件,直到您 100% 確定為止。
- p=reject – 當您絕對確定您知道為您的域發送電子郵件的每台服務器和服務,並且這些服務中的每一項都已簽名並且您希望任何大膽地聲稱否則完全被拒絕時,請使用此選項。 不合格的郵件被收件人郵件服務器完全刪除,再也看不到了。
為什麼 DMARC 如此重要
DMARC 記錄是電子郵件身份驗證的重要演變。 這只是電子郵件發件人和 ISP 合作保護電子郵件渠道的另一個很好的例子。 要了解有關 DMARC 的更多信息,請訪問該組織的網站 www.dmarc.org。 要了解有關身份驗證的更多信息,請閱讀此博客文章。
其他資源
- DMARC.org 的常見問題
- 雅虎 DMARC 政策更新
- 首先是雅虎,現在是 AOL。 您需要更改哪些內容才能符合 DMARC?