可扩展的邮件过滤程序与API,SpamAssassin 3.4.0 发布

jopen 10年前

近日,Apache软件基金会(由志愿者所构成的开发者、管理员团队,拥有170多个开源的孵化项目)发布了一个“献给Internet的情人节礼物”,即Apache SpamAssassin 3.4.0——备受赞誉、高度可扩展的邮件过滤程序与API。eWeek称其为过去10年间改变计算机产业的11项Apache技术之一。 SpamAssassin已经被全球不计其数的组织所部署。这个备受赞誉的反垃圾邮件平台赋予了系统管理员强大的能力,能够有效防止邮件遭受垃圾邮件的骚 扰。该版本的主要新特性有增加了对IPv6的支持、改进的DNS Blocklist技术,通过Redis后端支持可伸缩的贝叶斯过滤器等。

通过提供一个广泛的特性集并支持邮件分类(包括基于文本的模式、贝叶斯过滤器、DNS Blocklists、校验和过滤器、发送者认证以及自动化的规则通道更新等),SpamAssassin采用了一种多步骤/分层的方式对邮件进行过滤, 从而提升精确度,并降低将正常邮件错误地识别为垃圾邮件的几率。

该项目的此次发布也是一个里程碑事件,上一次发布可以追溯到两年前。Apache SpamAssassin副总裁Kevin A. McGrail说到“借助于SpamAssassin 3.4.0的发布,该项目将会继续与垃圾邮件制造者战斗到底。SpamAssassin最棒的一个特性就是经过验证的分类分数框架,系统管理员可以凭借它 用新的理念来改进邮件分类,这使得SpamAssassin能够不受时间影响而具有很强的可扩展性”。

目前,世界上已经有很多组织部署了Apache SpamAssassin,这包括国家、地区以及本地的ISP、邮件服务提供商、财富世界500强公司以及中小型企业等,涵盖了教育部门、政府部门以及个 人。Apache软件基金会高级系统管理员Joseph Schaefer说“SpamAssassin是Apache软件基金会反垃圾邮件解决方案的核心系统,我们每天都会收到50多万个连接,首先都会指向邮 件列表,但我们却几乎感觉不到垃圾邮件的骚扰,这多亏了SpamAssassin”。SpamAssassin项目每天都会提供规则更新来与垃圾邮件作斗 争,上个月,该项目就已经服务于100多万台邮件服务器了。

SpamAssassin也是几个商业产品的基础,并且作为核心用于很多邮件与垃圾邮件过滤公司的商业产品中,包括最流行的Web托管控制平台 cPanel。cPanel将SpamAssassin呈现在众多系统管理员面前。cPanel的开发部主管Eric Ellis说“成千上万的最终用户提供了很多解决方案来消除服务器上的垃圾邮件”。Apache SpamAssassin反映出了反垃圾邮件社区的大力支持,这包括开发、测试以及研究,从有经验的用户所得到的建议到与垃圾邮件作斗争所吸取的经验教 训。此次发布将献给整个社区。

与Apache所有的产品一样,Apache SpamAssassin软件也是基于Apache License v2.0发布的,并且受自选的项目活跃贡献者的监管。项目管理委员会(PMC)将会指导项目每天的运作,包括社区开发与产品发布等。感兴趣的读者可以在http://spamassassin.apache.org/上查看SpamAssassin的发布声明、源代码、文档与相关资源等信息。

Apache SpamAssassin背景知识

SpamAssassin是个用于识别垃圾邮件的邮件过滤器。它是个智能的邮件过滤器,通过各种测试来识别未经请求的邮件,即垃圾邮件。这些测试会 应用到邮件头与内容,使用高级的统计方法来对邮件进行分类。此外,SpamAssassin还拥有一个模块化的架构,可以快速利用其他技术来对抗垃圾邮 件,同时也可以很轻松地与几乎任何邮件系统进行集成。

相对于其他反垃圾邮件系统来说,SpamAssassin实用的多技术解决方案、模块化与可扩展性是其一大特色。由于这些优 势,SpamAssassin被广泛应用于邮件系统的方方面面。无论是邮件客户端还是邮件服务器,你都会看到SpamAssassin的影子,它可用于多 种不同的操作系统,过滤进出的邮件,还实现了范围广泛的策略动作。服务提供商、业务、非营利与教育组织以及最终用户系统都会安装 SpamAssassin。此外,SpamAssassin还是当今市场上众多反垃圾邮件产品的根基。

SpamAssassin灵活且强大的Perl程序集与其他老式反垃圾邮件过滤方式不同,它联合使用了多种检查方式来确定某个消息是否是垃圾邮件。其主要测试方式如下所示:

  • 邮件头测试
  • 邮件体短语测试,请参看SpamAssassinRules了解更多信息
  • 贝叶斯过滤器
  • 自动化的地址白名单/黑名单
  • 手工设定的地址白名单/黑名单
  • 协作式的垃圾邮件识别数据库
  • DNS Blocklists,也称作“RBLs”或“Realtime Blackhole Lists”
  • 字符集与本地化

虽然上述每一种方法都有可能错误识别垃圾邮件,不过上述方法的组合是很少会出现错误的。

SpamAssassin拥有众多优秀的特性,下面列出其主要功能及优势:

  • 广泛性:SpamAssassin使用了多种本地与网络测试来识别垃圾邮件签名。这使得垃圾邮件制造者很难逃脱出SpamAssassin的识别范围。
  • 自由软件:SpamAssassin与其他流行的开源软件包如Apache Web Server等一样基于相同的条款与使用条件。
  • 易于扩展:反垃圾邮件测试与配置以普通文本的形式存储,这使得它非常容易配置,添加新规则也易如反掌。
  • 灵活性:SpamAssassin以经过良好设计、抽象API的形式封装了自身的逻辑,因此可以集成到邮件系统的任何地方。Mail::SpamAssassin类可用在为数众多的邮件系统中,比如说procmail、sendmail、Postfix及qmail等等。
  • 易于配置:SpamAssassin只需要极少的配置;你无需不断地使用邮件帐号、邮件列表成员等来更新它。分类完毕后,站点与用户指定的策略就可以应用于垃圾邮件。策略可以应用于邮件服务器,也可以使用用户自己的邮件应用。

值得注意的是,SpamAssassin并不是一个删除、路由垃圾邮件并对收件箱进行分类的程序。这些都是邮件路由功能,而 SpamAssassin却并非一个邮件路由器。它是一个邮件过滤器或是分类器。它会检查接收到的每条消息,然后为其设定一个分数,表示该邮件是垃圾邮件 的可能性。接下来,外部程序必须要检查这个分数,然后执行用户期望的路由。在检查完SpamAssassin所设定的分数后,有很多程序都可以轻松执行后 续的功能。

来自:http://www.infoq.com/cn/news/2014/02/SpamAssassin-3.4-Release