前面转发了一篇SPF、DKIM设置的英文文章,今天再写点关于节译篇邮件DMARC协议的文章。
背景
电子邮件认证技术SPF和DKIM为邮件发送者提供身份证明,这些技术的应用一直在稳步增加,但欺诈和欺骗性电子邮件的问题并未减轻。看起来好像如果发件人坚持使用这些技术,那么MTA将能够轻松地区分那些诈骗信。不幸的是,一些特殊的原因使它失效了。
1、域内多名发送者带来一个复杂的电子邮件环境,使用不同的系统发送电子邮件,而且通常还包括第三方服务商。确保每封邮件可以使用SPF或DKIM是一项复杂的任务,特别是考虑到这些环境还在不断变化的状态。
2、如果一个域名持有人外发邮件中,其中一些被签名,另外一些没有,那么电子邮件接收器将被迫从一堆欺诈邮件中分辨出合法邮件。垃圾邮件算法容易出错,需要不断发展,以适应垃圾邮件发送者改变策略的回应。其结果是,一些诈骗短信将不可避免地进入用户的收件箱。
3、发件人得到的反馈信息很少。除非邮件退回给发件人,没有办法确定有多少以伪造发件人域的欺诈性电子邮件被发送。
4、即使发送者搞定了他们的邮件系统,对所有的合法邮件进行身份验证,电子邮件接收器仍持谨慎态度拒绝未经身份验证的消息,因为他们不能确定有没有合法邮件是未签名的。
这些问题可以得到解决的唯一办法是,让发送者和接收者互相共享信息,发件人要告诉接收者在收到未验证的邮件该怎么办。
幸运的是Paypal开创并摸索出一套系统DMARC,雅虎邮件和Gmail以这种方式进行合作。结果是非常有效的,从而导致欺诈电子邮件显著下降。
DMARC的目标是建立发送者和接收者的合作,以加强发件人的邮件验证的做法,使接收器拒绝未经证实的消息。
DMARC和电子邮件验证过程
DMARC设计以适应入站电子邮件身份验证过程,一个接收器部署SPF和DKIM,再加上自己的垃圾邮件过滤器,流程可能会是这个样子:
在上面的流程中,DMARC在原来ADSP测试点进行检测。所有其他测试不受影响。
DMARC设计成满足以下要求:
最大限度地减少误报,提供强大的认证报告。减少网络钓鱼,最小化的复杂性。
需要注意的是DMARC建立在域名密钥识别邮件(DKIM)和发件人策略框架(SPF)上,DMARC被设计旨在更换ADSP,并增加对以下功能的支持:
泛域名和子域名策略,
不存在的子域,
慢部署(例如百分测试),
SPF,
隔离邮件。
发布DNS txt纪录
DMARC发布在DNS文本(TXT)资源记录(RR)中,并告诉收件方收到伪造邮件后做什么。
举一个例子,下面为域“Behindgfw.com”的DNS DMARC txt记录:
“v=DMARC1;p=reject;pct=100;rua=mailto:info@Behindgfw.com”
在本实施例中,发送者的请求,接收器直接拒绝所有的伪造邮件。
p:用于告知收件方,当检测到某邮件存在伪造发件人的情况,收件方要做出什么处理,处理方式从轻到重依次为:none为不作任何处理;quarantine为将邮件标记为垃圾邮件;reject为拒绝该邮件。初期建议设置为none。
rua:用于在收件方检测后,将一段时间的汇总报告,发送到哪个邮箱地址。
ruf:用于当检测到伪造邮件时,收件方须将该伪造信息的报告发送到哪个邮箱地址。
Pct:检测过滤百分比。
如何部署DMARC的步骤
DMARC是基于一些世界上最大的电子邮件发送者和接收者部署SPF和DKIM的实际经验而设计的。考虑到一个事实,即它几乎是不可能像打开开关一样马上就部署好。
1、部署DKIM和SPF。必须的基础。
2、发布DMARC记录p=none,要求接收方发送检测报告。
3、随着你经验丰富,修改DMARC政策的p标志从none到quarantine到reject。
updata:
1、可以参见google apps 文档 添加 DMARC 记录。
2、txt记录的主机字段应该设置为“_dmarc”。
3、设置p=reject后,伪造邮件发送不成功并返回
当前时间:2016-05-10 23:36:50</br>
mx记录解析成功:74.125.25.26
连接到:74.125.25.26成功!
5.7.1 Unauthenticated email from behindgfw.com is not accepted due to 5.7.1 domain’s DMARC policy. Please contact administrator of behindgfw.com 5.7.1 domain if this was a legitimate mail. Please visit 5.7.1 https://support.google.com/mail/answer/2451690 to learn about DMARC 5.7.1 initiative. dr13si3342340pac.245 – gsmtp
参考工具:
1、给check-auth@verifier.port25.com发一封邮件,检查spf、dkim部署是否成功。没有部署客户端可以用
“mail -s SUBJECT check-auth@verifier.port25.com”
2、在http://www.mail-tester.com/页面中间会看见一个随机邮件地址,给这个地址发一封邮件,随后点击查看你的邮件得分,会检测spf、dkim、dmarc、以及垃圾邮件等等,最后会给你一个邮件系统得分。
3、http://kitterman.com/dmarc/assistant.html DMARC记录生成工具。
4、DMARC以及图形化的SPF检查工具。