msbl - MSPF/SPF记录检测插件

该插件是APF 技术的重点核心之一,对于识别伪造来信人具有非常重大的意义。MSPF实际是一个经过改造的SPF协议,与SPF在协议内容上是完全一致的,只是实现和查询机制上有所区别。

MSPF与SPF的本质区别在于:MSPF的记录记录在相对集中的msbl列表服务器上,而SPF则由每个域名自己的管理员维护,域名与域名间不存在关系,也不存在集中的数据源。

  • 先介绍一下SPF:

SPF的官方网站见:http://www.openspf.org,其指导思想是发布能以本域发送邮件的合法/授权的主机列表,其他接受端的服务器必须检查这个列表,如果以此域发邮件的ip地址经过检测不在授权范围内,则判决为伪造来信,予以拒绝。

因此SPF具有了非常明显的防垃圾邮件作用,因为只要一个域名发布了SPF记录,对于支持spf技术的邮件服务器,就可以准确的知道来信是否伪造,这一实现原则上是100%准确而无错误的。

  • 再介绍一下MSPF:

MSPF是在03年底SPF发布草案不久后诞生的一个设计,主要原因是由于国内对SPF的了解基本是空白,dns/虚拟主机控制在少数大型isp手里,他们对spf基本没有认识,也不提供支持,广大的中小企业技术水平低,要设置spf基本是不可能的。因此设计一个相对集中的“SPF化”的数据源,统一的进行管理和查询,可以极大的推进反垃圾邮件的效果。

MSPF就是在这样的历史条件下被设计出来。详细的mspf技术白皮书及相关原理,可以在http://apf.org.cn或者中国反垃圾邮件联盟网站上搜索。(目前apf.org.cn仍处于关闭状态,请大家耐心等待恢复)

MSPF的本质可以用一句话概括:将SPF记录集中存放到一个数据源,例如msbl服务器上,并提供用于spf的查询。 由于mspf和spf在实现上无任何差别,因此支持spf的库只需要进行非常小的修改就可以直接支持mspf。mspf/spf也有点类似于sina,163的白名单,但比这些单纯的白名单要有效率得多,是标准化、开放的设计,拥有大量支持。

回到msbl插件,msbl插件同时支持mspf和spf记录,并根据APF技术规范中关于mspf的规定实现, 其主要逻辑是:

  1. 首先检查该域名是否具有spf 特征
  2. 如果具有,则直接套用spf校验,与常规spf无任何差异
  3. 如果没有(spf),则套用mspf校验
  4. 根据校验结果,判断来信ip是否合法,
  5. 合法则pass,返回OK,不合法则错误,如不确定则返回DUNNO

目前msbl 服务器里保存有2万多条中小企业及网站域名的mspf记录,其中也包含了在163.com等部分国内大型isp没有支持spf之前的记录。这些数据对于识别伪造来信人是非常有效的。

 
slockd/plugin/spf.txt · 最后更改: 2010/09/04 10:15 由 shaobo
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki