DMARC: 讓寄件網域取得決定不通過測試的信件資訊,並定義收件者對該類信件的處理方法

標題有點長… XD

昨天在 LinkedIn Engineering 上看到了 LinkedIn 採用 DMARC 的事情,於是花了點時間看了一下 DMARC。

DMARC 是架構在 DKIMSPF 等偽冒偵測 (fraud detection) 功能上,提供 Email 寄件網域設定「當收件者收到未通過偵測的 Email 時,指示如何處理」的功能。除了拒絕或暫時保留外,也可以設定通知寄件網域該偽冒信件內容,可幫助打擊釣魚信件。

舉例來說,如果 example.com 設定 DMARC 的 Policy 為拒絕(Reject),並且要求收件者將偽冒信件報告寄回 fraud@example.com,則收件者一旦遇到無法通過 DKIM 與 SPF 檢查的信件,就不會將這封信送入收件者的信件夾中,並且會報告給 fraud@example.com。example.com 的管理者便可根據此報告進行處理(例如透過法律方法關閉釣魚網站等)。

目前大的 Email Service Provider,如 GMail, Yahoo Mail, Hotmail 等都有提供 DMARC 的功能。

設定 DMARC 的方法跟 SPF 類似,在 DNS 內加入一個 Entry:

_dmarc.example.com IN TXT "v=DMARC1;p=reject;pct=100;rua=mailto:postmaster@dmarcdomain.com"

詳細的設定與各參數的意義可參考 DMARC Overview