Apache 软件基金会发布 SpamAssassin 3.4.0

  • 张龙

2014 年 2 月 15 日

话题:ApacheDevOps

近日,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 所设定的分数后,有很多程序都可以轻松执行后续的功能。

ApacheDevOps