利用spf有效防止域名被邮箱伪造

2020-01-20 11:02:06 浏览数 (1)

0x01 如何邮箱伪造?

处理对邮件伪造的疑惑,你可以利用百度引擎搜索在线邮箱伪造。

你可以尝试运用这个网站测试发送一封邮件给你本人。例如:检测说a.com存在邮件伪造的漏洞。那么我们能够尝试运用admin@a.com作为发件人,给一个本人的邮箱,例如我的treeoph(at)gmail(dot)com发送一封测试邮件。内容随意填写,不到一分钟你应该就能收到邮件了,也有可能会在垃圾箱中。

0x02 有什么危害?

能够想见假如有一个a.com的用户,在收到admin@a.com 的邮件后,用户很可能就置信这就是管理员(admin)发来的邮件。因而,用户很可能会毫不犹疑地点开邮件中的链接、下载并翻开其中的附件。这个时分,作为一个a.com的用户,就很可能被攻击控制了。假如用户是管理员,那么可能网站权限也会沦落别人之手。

另外一种危害方式,攻击者能够伪造海量的a.com域名的邮件来散播木马、病毒、钓鱼页面,色情、暴力、恐惧的信息,等等。其危害是不可预测的。

0x03 如何避免邮件伪造?

我们可以利用Sender PolicyFramework (SPF) 发信者协议.

1. SPF是什么呢?

简单来说就是人们设计的一套能够根绝邮件伪造的机制,只需遵照他们设计的办法来配置本人域名的DNS解析,就能够根绝邮件伪造。

关于SPF的一切,你能够在这个网站(英文)上取得:openspf.org

SPF 的原理是这样的,伪造这固然能伪造你的域名,但是却不能控制你的域名的DNS解析记载。由于只要具有域名账户权限,才干更改解析记载。你的域名解析到的ip是1.1.1.1,而伪造者的ip是2.2.2.2。假如能做一个声明,通知邮件接纳者,我的域名发的邮件ip都是1.1.1.1,其他的都是假的,能够丢弃掉,那么就能够根绝邮件伪造了。SPF就是这样的一个协议,你能够依照SPF的格式发出声明,邮件效劳器依照SPF解读你的声明。这样的一次沟通,就能够处理邮件伪造问题了。

2. 如何运用SPF?

首先,登录你的域名提供商的管理页面,这个页面就是通常是用来设置域名解析ip地址的中央。例如上述例子,能够这样声明,在域名的解析记载里添加一条txt记载,

代码语言:javascript复制
a.com:空或@ txt记载值为:v=spf1 ip4:1.1.1.1 -all

这样,就设置了你的邮件只能是从1.1.1.1这个ip发出的。其中txt记载的意义:

代码语言:javascript复制
v=spf1 #版本号声明; ip4:x.x.x.x #指定ip地址; -all #对其他的标志为无效(FAIL)

当然这样设置有些问题就是你的域名可能需求变化的ip地址,或扩增加个ip,这时分就能够用其他方式,更改中间的局部(ip4对应位置):

代码语言:javascript复制
二级域名:空或@txt记载值为:v=spf1 include:spf1.a.com include:spf2.a.com -all

再设置一个spf1.a.com的txt解析记载,内容为:

代码语言:javascript复制
二级域名:spf1txt记载值为:v=spf1 ip4:1.1.1.0/24 ip4:1.2.3.4 -all

其中include的意义是运用其后的地址的SPF记载。而ip4:1.1.1.0/24则是运用一个段。设置spf2.a.com与此相似。这样就能够运用更多的地址作为合法地址。也能够include多层,但常见的普通最多三层曾经够用,最后一层要指定到详细的ip或域名。

其他如:v=spf1 a mx ip4:x.x.x.x -all 运用a记载,mx解析记载和指定的ip作为合法地址。

关于剩余检查项all前面的“-”符号,参见下表:

代码语言:javascript复制
" " Pass(经过) "-" Fail(回绝) "~" Soft Fail(软回绝) "?" Neutral(中立)

倡议运用“-all”来回绝生疏地址的邮件。当运用“~all”时,普通会将邮件标志为渣滓邮件。但是由于有时人们还是会翻查渣滓邮件(以至有时官方都会倡议去检查渣滓邮件),因而这样处置并不平安。所以如无特殊需求,倡议运用“-all”来回绝。

禁用一切邮件效劳:

代码语言:javascript复制
v=spf1 -all

0 人点赞