什么是SPF?html
这里的SPF不是防晒指数,而是指Sender Policy Framework。翻译过来就是发信者策略架构,比较拗口,一般都直接称为SPF。
SPF是跟DNS相关的一项技术,它的内容写在DNS的txt类型的记录里面。mx记录的做用是给寄信者指明某个域名的邮件服务器有哪些。SPF的做用跟mx相反,它向收信者代表,哪些邮件服务器是通过某个域名承认会发送邮件的。
由定义能够看出,SPF的做用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。
例如:当coremail邮件服务器收到自称发件人是spam@gmail.com的邮件,那么到底它是否是真的gmail.com的邮件服务器发过来的呢?那么咱们能够查询gmail.com的SPF记录。apache
关于SPF的一些知识服务器
当前市场上不少邮件系统和供应商都已经开始支持SPF,好比163.com,那么该如何获得163.com的SPF值呢?在CMD环境中,键入:
nslookup
set type=txt
163.com
就会获得如下的结果:
163.com text ="v=spf1 include:spf.163.com -all"
其中:="v=spf1 include:spf.163.com -all" 就是163.com的SPF值。这个数据中说明了163.com有效合法服务器都有哪些!
那么咱们该如何建立呢?
进入域名解析建立一条TXT记录填写正确的SPF数据就能够生效了。
在MDaemon7.x中启用SPF功能,并做适当调整就能够了。
另外8.x版本新增长了一个DomainKey签名,不过MDaemon已经自动帮你建立。架构
另外给你们一个网址,很实用
http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/
这个网址是一个建立SenderID的向导网站,他能帮你建立一个SenderID值。
SenderID (寄件人身份识别技术)。
SPF(SenderPolicyFramework,寄件人政策架构)。
SenderID技术与SPF同样,都是一种以IP(互联网协定)位址认证电子邮件寄件人身份的技术。框架
SPF 简介dom
SPF 是发送方策略框架 (Sender Policy Framework) 的缩写,但愿能成为一个防伪标准,来防止伪造邮件地址。这篇文章对 SPF 进行了简单介绍,并介绍了它的一些优势和不足。
SPF 诞生于2003年,它的缔造者 Meng Weng Wong 结合了反向 MX 域名解析(Reverse MX) 和 DMP (Designated Mailer Protocol) 的优势而付予了 SPF 生命。
SPF 使用电子邮件头部信息中的 return-path (或 MAIL FROM) 字段,由于全部的 MTA 均可以处理包含这些字段的邮件。不过微软也提出了一种叫作 PRA (Purported Responsible Address)的方法。PRA 对应于 MUA (好比 thunderbird) 使用的终端用户的地址。
这样,当咱们把 SPF 和 PRA 结合起来的时候,就能够获得所谓的“Sender ID”了。Sender ID 容许电子邮件的接收者经过检查 MAIL FROM 和 PRA 来验证邮件的合法性。有的说法认为,MAIL FROM 检查由 MTA 进行,而 PRA 检查由 MUA 来完成。
事实上,SPF 须要 DNS 以某种特定的方式来工做。也就是必须提供所谓的“反向 MX 解析”记录,这些记录用来解析来自给定域名的邮件对应的发送主机。这和目前使用的 MX 记录不通,后者是用来解析给定域名对应的接收邮件的主机的。post
要想用 SPF 来保护你的系统,你必须:测试
上述第一步要在邮件服务器所属的域名服务器上进行调整,下一节中,咱们将讨论这个记录的细节内容。你首先须要肯定的一点是你的域名服务器(bind,djbdns)所使用的语法。但别担忧,SPF 的官方网站提供了一个很好用的向导来指导你如何添加记录。网站
SPF 的 TXT 记录this
SPF 记录包含在一个 TXT 记录之中,格式以下:
v=spf1 [[pre] type [ext] ] ... [mod]
每一个参数的含义以下表所示:
参数 | 描述 | ||||||||||||||||||
v=spf1 | SPF 的版本。若是使用 Sender ID 的话,这个字段就应该是 v=spf2 | ||||||||||||||||||
pre | 定义匹配时的返回值。 可能的返回值包括:
|
||||||||||||||||||
type | 定义使用的确认测试的类型。 可能的值包括:
|
||||||||||||||||||
ext | 定义对 type 的可选扩展。若是没有这个字段,那么仅使用单个记录进行问询。 | ||||||||||||||||||
mod | 这是最后的类型指示,做为记录的一个修正值。
|
ISP 实施 SPF 可能对于他们处于漫游状态(roaming)的用户带来一些麻烦,当这些用户习惯使用 POP-before-Relay 这样的方式处理邮件,而不是 SASL SMTP 的时候问题就会出现。
嗯,若是你是一个被垃圾邮件、地址欺骗所困扰的 ISP 的话,你就必须考虑你的邮件策略、开始使用 SPF 了。
这里是你能够考虑的几个步骤。
这样,你就保护了你的服务器、你的客户和整个世界免受垃圾邮件之类的困扰了。
SPF 是一个对于欺骗的完美保护。但它有一个局限:传统的邮件转发方式再也不有效了。你不能仅仅从你的 MTA 接受邮件并简单地从新发送它了。你必须重写发送地址。常见的 MTA 的补丁能够在 SPF 的网站找到。换句话说,若是你把 SPF 记录加入到了域名服务器,你就必须更新你的 MTA 来进行发送地址改写,即便你尚未对 SPF 记录进行检查。
你可能以为 SPF 的实施有点难以理解。不过这确实不算复杂,并且还有一个不错的向导来帮你完成这个转换(参见参考文献)。
若是你被垃圾邮件所困扰的话,SPF 将能够帮助你,保护你的域名免受伪造邮件地址的影响,你所要作的仅仅是在域名服务器上添加一行文本并配置你的电子邮件服务器而已。
SPF 的优势有不少。不过,像我对一些人所说的,这不是一晚上之间就能够达到的,SPF 的好处将经过日积月累来表现出来,当其余人都使用它的时候就能明显地看到了。
我也提到了 Sender ID,这和 SPF 有关,但我没有去解释它。可能你已经知道缘由了,微软的策略一贯如此---软件专利。在参考文献中,你能够看到 openspf.org 对于 Sender ID 的立场声明。
下一篇文章中,咱们将讨论 MTA 的设置,咱们到时再见。
我仅仅但愿给你一个 SPF 的简短说明。若是你对此感兴趣,想要了解更多信息的话,你能够看看参考文献,本文的内容就来自于此。
blog系统有一个颇有用的功能就是邮件发送留言通知:可是发送到GMail邮箱的通知信十有八九都会被标记为垃圾邮件。缘由就是SPF:Sender Policy Framework (SPF) 要作发送人校验,而MT设置的发信人是留言者的邮件地址,而退信地址是MT系统所在服务器的邮箱。
Received-SPF: neutral (google.com: 60.195.249.163 is neither permitted nor denied by domain of apache@localhost.localdomain)
个人WEB服务器上没有任何邮件系统。因此没法经过SPF校验,有严格的SPF校验这也是GMail相对Spam比较少的缘由。
如何解决呢:
1 增长邮件系统,设置MX记录等,须要学很多东西;
2 简单的就是先发到不支持SPF校验的邮件系统上,而后再转发给GMail,这时候的退信地址已经转发邮箱了:
Received-SPF: pass (google.com: domain of #####@yeah.net designates 60.12.227.137 as permitted sender)
什么是SPF?
SPF 是发送方策略框架 (Sender Policy Framework) 的缩写,正在逐步成为一个防伪标准,来防止伪造邮件地址。
您的域管理员或托管公司仅需在域名系统 (DNS) 中发布 SPF 记录。这些简单的文本记录标识了通过受权的电子邮件发送服务器(经过列出这些服务器的 IP 地址)。电子邮件接收系统会检查邮件是否来自通过正确受权的电子邮件发送服务器。检查步骤以下,发送人向接收方发送一封电子邮件后,邮件接收服务器接收电子邮件并执行以下操做:
• 检查哪个域声称发送了该邮件并检查该域的 SPF 记录的 DNS。
• 肯定发送服务器的 IP 地址是否与 SPF 记录中的某个已发布 IP 地址相匹配。
• 对电子邮件进行打分:若是 IP 地址匹配,则邮件经过身份验证并得到一个正分。若是 IP 地址不匹配,则邮件没法经过身份验证并得到一个负分。而后,对现有的防垃圾邮件筛选策略和启发式筛选应用这些结果。
如何给邮件服务器增长SPF设置,请参考chicheng的文章:为你的mail server增长SPF记录
什么是SPF
就是Sender Policy Framework。SPF能够防止别人伪造你来发邮件,是一个反伪造性邮件的解决方案。当你定义了你的domain name的SPF记录以后,接收邮件方会根据你的SPF记录来肯定链接过来的IP地址是否被包含在SPF记录里面,若是在,则认为是一封正确的邮件,不然则认为是一封伪造的邮件。关于更详细的信息请参考RFC4408(http://www.ietf.org/rfc/rfc4408.txt