目的:主要是识别并拦截钓鱼邮件,从而确保用户的个人信息安全。
原理:由发送方在DNS里声明自己采用该协议,接收方收到该域发送过来的邮件时,则进行DMARC校验,从而判断当前邮件来源是否合法。
DMARC校验的核心过程:
1)从信头提取From字段的domain,称域名A。此字段只存在一个域名。
2)查询DNS,获取域名A的DMARC记录。若该域无设置DMARC记录,忽略本次DMARC校验。
3)校验DKIM,若验证成功,则获取DKIM签名中的“d=”字段值,称域名B。信头中如果有多个DKIM签名验证通过,则域名B会存在多个。
4)校验SPF,若验证成功,则获取本次SMTP会话中MAIL FROM字段的domain,称域名C。此字段只存在一个域名。
注意:DMARC是基于DKIM和SPF的,所以开启DMARC必须先开启DKIM或SPF任意一种。
例如:
例如:v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.com; rua=mailto:dmarc_report@qiye.com
主机记录值:_dmarcv=DMARC1;p=none;pct=100;rua=mailto:service@qiye.com
如下图DNSPOD设置方法: p:用于告知收件方,当检测到某邮件存在伪造我(发件人)的情况,收件方要做出什么处理,处理方式从轻到重依次为:none为不作任何处理;quarantine为将邮件标记为垃圾邮件;reject为拒绝该邮件。初期建议设置为none。
sp:DMARC记录对子域名生效,同时声明子域名在有被伪造时,收件方须做出的处理方式。
rua:用于在收件方检测后,将一段时间的汇总报告,发送到哪个邮箱地址。
ruf:用于当检测到伪造邮件时,收件方须将该伪造信息的报告发送到哪个邮箱地址。

