1、什么是SPF
SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有用来发邮件的IP地址。
SPF是跟DNS相关的一项技术,它的内容写在DNS的txt类型的记录里面。mx记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟mx相反,它向收信者表明,哪些邮件服务器是经过域名认可的。
2、SPF的作用
从上面的描述可以看出,SPF的作用主要是反垃圾邮件,针对那些发信人伪造域名的垃圾邮件,并提高该域名的信誉度。
3、垃圾邮件的新伎俩
现在发送垃圾邮件出现了新的伎俩:伪造发件人地址,使其看起来就像一个合法的地址。特别是网络钓鱼的邮件,试图欺骗收件人,从而获取信用卡号码、QQ密码、Paypal 密码等帐号资料。这些邮件的“发件人”的地址,一般都经过了伪装,使其看起来是一个合法的地址(如银行、网站服务商等)。
而 SPF正是近年来解决邮件防伪和anti-spam 的一个新标准,SPF 全称为 Sender Policy Framework,即发送方策略框架。您只需要在您的域名 DNS 中发布一条 SPF 记录,这条记录标识了授权的邮件发送服务器。邮件接收系统,会查询对应域名的 SPF 记录,检查邮件是否真正来自授权过的邮件发送服务器。如果是垃圾邮件、钓鱼邮件伪造的“发件人”地址,那么他们的邮件将无法通过 SPF 的验证。所以这样就解决了“伪造的发件人”的问题。
4、如何添加SPF记录
添加SPF记录的方法如下:
添加SPF记录的方法很简单,只要在“DNS供应商”提供的管理界面中,添加SPF记录就可以了(不是所有的供应商都会提供这种服务器,但是我们可以咨询他们)。
设置步骤如下:
1) 添加一个SPF记录
2) 输入域名(如果是本域,可用@来表示)
3) 在“文本内容”中输入内容(如“v=spf1 ip4:67.202.107.106 -all”)
其中“文本内容”可以分为三个部分:
1) v=spf1 说明是一个SPF的v1记录
2) ip4:67.202.107.106 说明邮件会从这个IPv4地址发出。它可以是一个IP地址,也可以是一个IP地址段 (如“ip4:1.0.1.0/24 ip4:1.0.2.0/24”,每个ip4记录间用空格分隔)。
另外,除了用IPv4外,还可以有如下选择:
1、 ip6: 使用 IPv6 进行验证。
2、 a:使用一个域名进行验证。这将会对域名服务器进行一次 A RR 查询。可以按照 a:domain, a:domain/cidr 或 a/cidr 的形式来使用。
3、 mx:使用 DNS MX RR 进行验证。MX RR 定义了收信的 MTA,这可能和发信的 MTA 是不同的,这种情况基于mx 的测试将会失败。可以用 mx:domain, mx:domain/cidr 或 mx/cidr 这些形式进行 mx 验证。
4、 ptr:使用域名服务器的 PTR RR 进行验证。这时,SPF 使用 PTR RR 和反向进行查询。如果返回的主机名位于同一个域名之内,就验证通过了。这个参数的写法是 ptr:domain
5、 exist:验证域名的存在性。可以写成 exist:domain 的形式。
6、 ext:定义对 type 的可选扩展。如果没有这个字段,那么仅使用单个记录进行问询。
7、 mod:这是最后的类型指示,作为记录的一个修正值。修正值描述:
redirect 重定向查询,使用给出的域名的 SPF 记录。
以 redirect=domain 的方式使用。
exp 这条记录必须是最后一条,允许给出一条定制的失败消息。
IN TXT “v=spf1 mx -all exp=getlost.example.com”
getlost IN TXT “You are not authorized to send mail for the domain”
3) -all 定义匹配时的返回值,可有如下选择:
1、 + 缺省值。在测试完成的时候表示通过。
2、 – 表示测试失败。这个值通常是 -all,表示没有其他任何匹配发生。
3、 ~ 表示软失败,通常表示测试没有完成。
4、 ? 表示不置可否。这个值也通常在测试没有完成的时候使用。
5、 所以“v=spf1 ip4:67.202.107.106 -all”的意思是这个域只有67.202.107.106这个IP可以发送邮件,其他IP发送的邮件都是非法的。
5、测试SPF记录是否有成功
在 http://www.kitterman.com/spf/validate.html 网站上输入Domain(如 yaozhi.com),然后再输入来源 IP 位址(如 210.241.239.221),得到Result为Pass,表示为可信任的来源。
6、DBMail相关
如果DBMail日志信息中有类似的提示如:“rejected: SPF-Result=czbaolong.com: 'SERVFAIL' error on DNS 'TXT' lookup of ‘czbaolong.com’ ”;那么把就需要增加一条SPF记录。