DMARC 機制

DMARC 機制

DMARC 的全名是「Domain-based Message Authentication, Reporting & Conformance」,它是用來解決與電子郵件認証所發展出的協定,DMARC 提供一種機制讓發信端和收信端雙方可確認對方身分,從而降低釣魚信件(Fishing)及偽造信件(Spoofing)的發生。透過以下信件流程圖將說明 SPF/DKIM/DMARC 在一封郵件發送過程中的作用為何。使用者寫完一封信後,郵件伺服器會將信件加上 DKIMDomainKeys Identified Mail私鑰簽章並寄出,以確保信件傳送過程中不會遭到竄改。收信端的郵件伺服器在接收信件時會先檢查寄件伺服器的 IP 位址是否合法,有無被加到RBLReal-time Blackhole List)網站黑名單當中。接著從網域名稱伺服器(Domain Name Sever)下載 DKIM 公鑰並加以驗證結果是否相符,之後驗證SPF紀錄(Sender Policy Framework),收件者可以參考 SPF 紀錄,判斷聲稱來自寄件者網域的郵件是否真的由授權的郵件伺服器所傳送,最後再根據 DMARC 的政策決定這封信是否通過(Passed)、隔離(Quarantine)或者拒收(Reject),最後信件才傳給收信端的垃圾信過濾機制。

DMARC_author-to-recipient_flow
圖片來源:dmarc.org

MailGates提供DMARC驗證,可有效過濾偽造信件。其驗證結果與SPFDKIM驗證有相依性,相關驗證結果如下表所示。

 

#

SPF驗證結果

DKIM驗證結果

DMARC驗證結果

1

O

O

O

2

O

X

O

3

X

O

O

4

X

X

X

 

注意:如果一封信通過 SPF 驗證或 DKIM 驗證,就算通過DMARC驗證。

以下列出DMARC 驗證結果與系統動作對應表。

DMARC結果

動作

顯示訊息

系統行為

NONE

PASS

DMARC Authentication Fail [None]

驗證失敗
信件往後送

REJECT

REJECT

DMARC Authentication Fail [Reject]

拒絕連線

QUARANTINE

SPAM

DMARC Authentication Fail [Quarantine]

垃圾信

PASS

PASS

DMARC Authentication Success

驗證成功

OTHER

PASS

不顯示

信件往後送

注意:DMARC 驗證結果會影響系統對信件判讀。如果一封信 DMARC 驗證結果為 QUARANTINE 系統就會將其判斷為垃圾信。