Postfix 安全防护实战及垃圾邮件防范(2)

SMTP 用户认证技术

目前常见并十分有效的方法是,在邮件传送代理 MTA 上对来自本地网络以外的互联网的发信用户进行 SMTP 认证,仅允许通过认证的用户进行远程转发。这样既能够有效避免邮件传送代理服务器为垃圾邮件发送者所利用,又为出差在外或在家工作的员工提供了便利。如果 不采取 SMTP 认证,那么在不牺牲安全的前提下,设立面向互联网的 Web 邮件网关也是可行的。此外,如果 SMTP 服务和 POP3 服务集成在同一服务器上,在用户试图发信之前对其进行 POP3 访问验证(POP before SMTP)就是一种更加安全的方法,但在应用的时候要考虑到当前支持这种认证方式的邮件客户端程序还不多。

逆向 DNS 解析

无论哪一种认证,其目的都是避免邮件传送代理服务器被垃圾邮件发送者所利用,但对于发送到本地的垃圾邮件仍然无可奈何。要解决这个问题,最 简单有效的方法是对发送者的 IP 地址进行逆向名字解析。通过 DNS 查询来判断发送者的 IP 与其声称的名字是否一致,例如,其声称的名字为 mx.hotmail.com,而其连接地址为 20.200.200.200,与其 DNS 记录不符,则予以拒收。这种方法可以有效过滤掉来自动态 IP 的垃圾邮件,对于某些使用动态域名的发送者,也可以根据实际情况进行屏蔽。但是上面这种方法对于借助 Open Relay 的垃圾邮件依然无效。对此,更进一步的技术是假设合法的用户只使用本域具有合法互联网名称的邮件传送代理服务器发送电子邮件。例如,若发件人的邮件地址为 someone@yahoo.com,则其使用的邮件传送代理服务器的 Internet 名字应具有 yahoo.com 的后缀。这种限制并不符合 SMTP 协议,但在多数情况下是切实有效的。需要指出的是,逆向名字解析要进行大量的 DNS 查询。

实时黑名单过滤

以上介绍的防范措施对使用自身合法域名的垃圾邮件仍然无效。对此比较有效的方法就是使用黑名单服务了。黑名单服务是基于用户投诉和采样积累 而建立的、由域名或 IP 组成的数据库,最著名的是 RBL、DCC 和 Razor 等,这些数据库保存了频繁发送垃圾邮件的主机名字或 IP 地址,供 MTA 进行实时查询以决定是否拒收相应的邮件。但是,目前各种黑名单数据库难以保证其正确性和及时性。例如,北美的 RBL 和 DCC 包含了我国大量的主机名字和 IP 地址,其中有些是早期的 Open Relay 造成的,有些则是由于误报造成的。但这些问题迟迟得不到纠正,在一定程度上阻碍了我国与北美地区的邮件联系,也妨碍了我国的用户使用这些黑名单服务。

白名单过滤

白名单过滤是相对于上述的黑名单过滤来说的。其建立的数据库的内容和黑名单的一样,但其性质是:库中存在的都是合法的,不应该被阻断。同 样,该过滤方法存在的缺点与黑名单类似,也是更新和维护难以达到实时,一些正常的、不为系统白名单所收集的邮件有可能被阻断。从应用的角度来说,在小范围 内使用白名单是比较成功的。

内容过滤

即使使用了前面诸多环节中的技术,仍然会有相当一部分垃圾邮件漏网。对此情况,目前最有效的方法是基于邮件标题或正文的内容过滤。其中比较 简单的方法是,结合内容扫描引擎,根据垃圾邮件的常用标题语、垃圾邮件受益者的姓名、电话号码、Web 地址等信息进行过滤。更加复杂但同时更具智能性的方法是,基于贝叶斯(Bayes)概率理论的统计方法所进行的内容过滤,该算法最早由 Paul Graham 提出(),并使用他自己设计的 Arc 语言实现。这种方法的理论基础是通过对大量垃圾邮件中常见关键词进行分析后得出其分布的统计模型,并由此推算目标邮件是垃圾邮件的可能性。这种方法具有一 定的自适应、自学习能力,目前已经得到了广泛的应用。最有名的垃圾邮件内容过滤是 SpamAssassin(将在后面详细介绍),其使用 Perl 语言实现,集成了以上两种过滤方法,可以与当前各种主流的 MTA 集成使用。内容过滤是以上所有各种方法中耗费计算资源最多的,在邮件流量较大的场合,需要配合高性能服务器使用。另外,当前也有很多学者将人工神经网络、 支持向量机、Winnow 算法等及其学习的方法引入到内容过滤垃圾邮件的研究中来,并且取得了很好的效果。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d5268b917b865a444c84e20fb01df3f9.html