本文主要介紹什么是DMARC,以及如何設置DMARC記錄。
一、DMARC
DMARC是(Domain-based Message Authentication, Reporting & Conformance)的縮寫,設置DMARC記錄,防止他人偽造貴司域名,還可以獲取到他人嘗試偽造貴司域名的情況。
當收信方(其MTA需支持DMARC協議)收到貴司域名發送的郵件時,會進行DMARC校驗,若校驗失敗會發送一封report到DMARC記錄值中設置的郵箱賬號里。
二、參數說明
TXT="v=DMARC1; p=quarantine; pct=0; ri=3600; rua=mailto:abc@example.net; ruf=mailto:abc@example.net"
P:表示當出現偽造郵件時,域名所有方,希望收信方采取的行為,有none/quarantine/reject
p=none:放行所有來自您域名的郵件,即使郵件未通過DMARC驗證。
p=quarantine:隔離一部分郵件,通常為放入垃圾箱。配合pct參數(默認為100),設置未通過DMARC驗證的郵件中隔離的百分比。
p=reject:執行嚴格拒絕,拒絕所有未通過身份驗證的郵件。
rua:用于接收收信服務商的匯總報告。
ruf:用于接收收信服務商拒信的詳細信息。
SP:子域名策略(類似P,對子域生效),所以用戶如果主域名配置了帶SP的dmarc策略,也可以起效。
ri:匯總報告之間要求的間隔(純文本32位無符號整型;可選的;默認為86400).表明要求接收者生成匯總報告的間隔不超過要求的秒數。
ADKIM:dkim對齊模式,沒填或者r 為寬松,s為嚴格,寬松允許子域,嚴格則需要嚴格對齊。
ASPF:spf對齊模式,沒填或者r 為寬松,s為嚴格,寬松允許子域,嚴格則需要嚴格對齊。
v:版本(純文本;必要的)值為“DMARC1”,必須作為第一個標簽。
fo:故障報告選項(純文本;可選的;默認為0),以冒號分隔的列表,如果沒有指定“ruf”,那么該標簽的內容將被忽略,建議搭配p=none用于觀察測試,設置為1會導致reject不生效。
三、如何設置
1、在設置DMARC記錄之前,貴司須保證已經設置包含以下 SPF 記錄:“v=spf1 include:spf1.dm.aliyun.com -all”,或者已經按照控制臺給的dkim值,配置了DKIM協議
2、當設置了SPF記錄后,可以設置如下DMARC記錄:
操作解析的域名 | 解析記錄類型 | 解析記錄值 |
_dmarc | TXT | v=DMARC1; p=quarantine; rua=mailto:dmarc_report@service.aliyun.com |
重要
解析記錄值中“dmarc_report@service.aliyun.com”為郵件推送默認收集dmarc報告郵箱,用戶如果需要查看具體dmarc報告,需要填寫一個正常收發信的同組織郵箱地址(可以為子域名郵箱)。
如果您的域名不在阿里云購買的,具體添加方法建議咨詢域名所在服務商。
添加方法:
如下以阿里云解析DNS為例:
1、登錄阿里云解析DNS,在列表中選擇需要解析的域名。單擊“解析設置”,進入解析設置界面。
2、在解析設置界面,單擊“添加記錄”,填寫完成點擊“確認”。
示例:
記錄類型:TXT
主機記錄:@
下圖為添加DMARC記錄示例:
四、如何查詢DMARC記錄
用dig命令/nslookup命令查詢DMARC記錄
Linux:% dig _dmarc.domain(查詢的域名) txt
Windows:nslookup -qt=TXT _dmarc.domain(查詢的域名)