本文主要介绍什么是DMARC,以及如何设置DMARC记录。
一、DMARC
DMARC是(Domain-based Message Authentication, Reporting & Conformance)的缩写,设置DMARC记录,防止他人伪造贵司域名,还可以获取到他人尝试伪造贵司域名的情况。
当收信方(其MTA需支持DMARC协议)收到贵司发送过来的邮件时,会进行DMARC校验,若校验失败会发送一封report到DMARC记录值中设置的邮箱账号里。
二、如何设置
1、在设置DMARC记录之前,贵司必须保证已经设置如下SPF记录(什么是SPF解析?如何添加和查询?):v=spf1 include:spf.sg.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记录示例:
三、关于退信攻击邮件
收到大量退信邮件或自动回复邮件,原因可能是坏人仿冒你的域名发信,导致退信邮件都退到你的邮箱。
建议采取以下措施:
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,该场景邮件容易被收信方拒信。