域名邮箱安全之如何防止别人伪造你的邮箱发送邮件

笔记 2018-06-28

看标题,可能大部分人都觉得很蠢,用spf不就可以了吗,刚开始我也以为是这样的,直到我研究才发现spf只是一部分,光用spf防止不了伪造的。很久没写文章了,我也标题党一回。

测试邮件服务商

  • gmail
  • 163
  • outlook

spf是什么

SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。

spf标准

spf

邮件服务商测试

dig +short TXT 0aa.me 可以看到该域名已经设置spf
0aa_me_spf

163邮件服务商

正常发送邮件:收到的邮件头,spf=pass,说明发件人是在spf列表里面的
邮件在收件箱中
163_spf

伪造发件人的邮件:收到的邮件头,spf=permerror
邮件在收件箱中
163_spf_permerror
看上面spf图,permerror属于严重错误,但是目前没有规定怎么处理,经过实践在163邮箱中permerror等于fail

gmail邮件服务商

正常发送邮件:收到的邮件头,spf=pass,说明发件人是在spf列表里面的
邮件在收件箱中
gmail_spf

伪造发件人的邮件:收到的邮件头,spf=fail,邮件在收件箱中,不是说好的拒绝这封邮件的吗...
gmail_spf

outlook邮件服务商

正常发送邮件:收到的邮件头,spf=pass,说明发件人是在spf列表里面的
邮件在收件箱中
gmail_spf

伪造发件人的邮件:收到的邮件头,spf=fail
邮件在垃圾箱
gmail_spf

解决方案

DMARC协议:2012年1月30号,由Paypal,Google,微软,雅虎,ReturnPath等15家行业巨头(主要包括 金融机构,Email服务提供商,数据分析机构等)联手宣布成立了新的互联网联盟,致力于提交并推广一款[DMARC]新电子邮件安全协议。随着该联盟的日渐发展,继而有网易等其他行业先行者也加入到其中。
文档:https://support.google.com/a/answer/2466580
dmarc

dmarc参数列表

dmarc_p

p参数的三个配置

  • p=none 不采取任何行动,即使邮件spf标记为fail也不会进行任何处理
  • p=quarantine 隔离邮件,将邮件放到垃圾箱里面
  • p=reject 拒绝邮件,不接收spf标记为fail的邮件
添加spf记录

在域名管理添加两条txt记录,以腾讯域名邮箱为例,其他的邮箱服务商可以翻翻官方的文档
第一条
主机名:@ 类型:txt 值:v=spf1 include:spf.mail.qq.com -all

第二条
主机名:* 类型:txt 值:v=spf1 include:spf.mail.qq.com -all
domain_txt_spf

添加dmarc记录 - 拒绝邮件

在域名管理添加一条txt记录,p=reject
主机名:_dmarc 类型:txt 值:v=DMARC1; p=reject; rua=mailto:you_name@you_domain.com
dmarc_reject

三家厂商对dmarc协议p=reject的结果

  • gmail: 拒绝邮件
  • 163: 拒绝邮件
  • outlook: 邮件放在垃圾箱

outlook_fail

添加dmarc记录 - 隔离邮件

在域名管理添加一条txt记录,p=quarantine
主机名:_dmarc 类型:txt 值:v=DMARC1; p=quarantine; rua=mailto:you_name@you_domain.com
dmarc_quarantine

三家厂商对dmarc协议p=quarantine的结果
1.gmail,邮件放在垃圾箱
gmail_quarantine_test
gmail_quarantine_test2

2.163,邮件放在垃圾箱
163_quarantine_test

3.outlook,邮件放在垃圾箱
outlook_quarantine_test

总结

1.spf必须配合dmarc使用,dmarc有三个配置可以决定是否处理spf标记为fail的邮件。
2.需要注意的是,当spf和dkim一起使用的时候,只要其中一个的值为pass的时候dmarc就会放行。
3.光使用spf会有一些风险,比如说网络不好导致dns查询失败可能邮件会被处理掉。
4.有得有失。

参考

http://www.renfei.org/blog/introduction-to-spf.html spf详解
https://emkei.cz/ 在线伪造邮箱发邮件
https://support.google.com/a/answer/2466580 dmarc相关介绍


本文由 Mosuan 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论