什么是DMARC?如何设置?

本文主要介绍什么是DMARC,以及如何设置DMARC记录。

前置概念

阅读本文前,您可能需要了解如下概念:什么是DNS?

一、DMARC

DMARC是(Domain-based Message Authentication, Reporting & Conformance)的缩写,设置DMARC记录,防止他人伪造贵司域名,还可以获取到他人尝试伪造贵司域名的情况。

当收信方(其MTA需支持DMARC协议)收到贵司发送过来的邮件时,会进行DMARC校验,若校验失败会发送一封report到DMARC记录值中设置的邮箱账号里。

二、如何设置

1、在设置DMARC记录之前,贵司必须保证已经设置如下SPF记录(什么是SPF解析?如何添加和查询?):“v=spf1 include:spf.qiye.aliyun.com -all”。

2、当设置了SPF记录后,推荐设置如下DMARC记录:

操作解析的域名

解析记录类型

优先级

解析记录值

_dmarc

TXT

-

v=DMARC1; p=quarantine; rua=mailto:a***@example.net; ruf=mailto:a***@example.net

重要
  • 解析记录值中的“a***@example.net”建议填写一个正常收发信的同组织邮箱地址(可以为子域名邮箱),若填写非同组织邮箱地址根据收信方策略的不同可能无法收到dmarc报告。

  • 如果您的域名不是在阿里云购买的,具体添加方法建议咨询对应的域名解析服务商。

添加方法:

如下以阿里云解析DNS为例:

1、登录阿里云解析DNS,在列表中选择需要解析的域名。单击“解析设置”,进入解析设置界面。解析设置

2、在解析设置界面,单击“添加记录”,填写完成点击“确认”。

示例:

记录类型:TXT

主机记录:_dmarc

下图为添加DMARC记录示例:DMARC

三、关于退信攻击邮件

收到大量退信邮件或自动回复邮件,原因可能是坏人仿冒你的域名发信,导致退信邮件都退到你的邮箱。

建议采取以下措施:

1、检查SPF解析是否配置正确。

2、建议你配置DMARC解析,并设置记录值的p参数为quarantine,观察返回的DMARC报告,若确认为有人伪造发信,再将p参数设置为reject。

3、报告邮件会较多,建议使用同组织的专用邮箱接收DMARC报告。

参数说明:

  • p=none:放行所有来自你域名的邮件,即使邮件未通过DMARC验证。

示例:

v=DMARC1;p=none;rua=mailto:a***@example.net;ruf=mailto:a***@example.net
  • p=quarantine:隔离一部分邮件,通常为放入垃圾箱或从其他维度综合判断。配合pct参数(默认为100),设置未通过DMARC验证的邮件中隔离的百分比。

示例:

v=DMARC1;p=quarantine;pct=15;rua=mailto:a***@example.net;ruf=mailto:a***@example.net
  • p=reject:执行严格拒绝,拒绝所有未通过身份验证的邮件。

示例:

v=DMARC1;p=reject;rua=mailto:a***@example.net;ruf=mailto:a***@example.net

rua:推荐,用于接收收信服务商的汇总报告。

ruf:用于接收收信服务商拒信的详细信息。

说明

代发场景:邮件真实发信地址mailfrom和显示地址from不一致的情况。

显示发信地址from的域名配置了dmarc为reject,表示不允许被代发。

此时若收信方严格校验dmarc,该场景邮件容易被收信方拒信。