垃圾邮件已成为一个日益严重的问题。为了打赢这场与垃圾邮件的战争,我们用上十八般武器,其中的黑名单、白名单和灰名单应该算是这场反垃圾邮件战中最基本的工具,本文将详细阐述企业应该怎样有效地利用它们。
正如邮资成本在不停地上升,电子邮件的复杂性日益增加是必然趋势。在垃圾邮件泛滥以前,互联网很平静,基于简单电子邮件传输协议(SMTP)连接的邮件系统运转得很好,邮件过滤器只是那些专门的邮件服务提供商才会使用。然而现在,邮件过滤器几乎成了很多部门的必需品。
那究竟该选什么样的过滤器呢?如果你的企业每天收到电子邮件数量特别巨大,大多数情况下使用黑名单和白名单过滤垃圾效果不会太好,他们通常只能解燃眉之急。订阅类似Postini这样的服务可以从邮件接收的角度来缓解这个问题,但这也仅仅完成了反垃圾邮件战的一半。
免费的域名服务器黑名单(blacklist)——如、等网站有这项服务,提供了一个交互式的服务。基于这项服务,通过简单的DNS查询,接受邮件的服务器可以把发送邮件服务器的IP地址与一个已知的垃圾邮件服务器名单进行比较。如果IP地址在此名单中,这封邮件就会被拒绝。
很多组织也依赖于白名单(white-list),这是一个可以接受它们发出邮件的域、IP地址以及SMTP转发IP地址的简单列表。在大多数网络中,这是一个与公司关系紧密的合作伙伴的域以及补充的IP地址,或者会被垃圾邮件过滤器捕获而实际上应该有效的域的名单。
另有一种基于名单的保护方式是灰名单(greylist)。灰名单介于黑名单和白名单两者之间,它用解释型的后台程序和SMTP状态标记来动态创建黑名单和白名单。
所有这三种方法在现代企业反垃圾邮件战中都有它自己的位置,但是必须仔细规划,特别是使用黑名单时,一定要小心,以免伤及无辜。
把好黑名单第一关
尽管DNS黑名单有很多人在用,但是对于它们的使用一直存在争议。如果这个黑名单太大的话,将会使邮件服务器根本没有办法工作,好在目前还没有出现这种情况,而且DNS黑名单所列出的垃圾邮件服务器还很少发现“误判”的情况。
正常的邮件服务器是有可能被列入黑名单的,造成这种情况的原因有很多: 直接将垃圾邮件发送者的IP地址上报可能导致不仅仅是这个IP地址,甚至是这个IP地址所在的整个网段都被列入DNS黑名单。那些共享主机的用户很容易成为受害者,由于使用的是同一个IP地址,因此如果一个用户违规就会造成使用这个IP地址的所有网站受到影响; 另外一种情况就是ISP的终端用户可能将合法的邮件发送清单中的邮件标记为垃圾邮件,而不是取消自己的订阅服务。这样这台服务器可能就会被列入黑名单,至少那个ISP会被列入黑名单。
不同的服务提供商提供的名单本身在侧重点和范围上都各不相同。最大的、和 这3个网站使用通用的垃圾邮件指南来确定一个服务器的状态。而Rfc-igno-则更进一步,它把违反RFC 821和2821条款的邮件服务器列入黑名单中(RFC 821和2821是SMTP通信的主要规范)。不幸的是,有相当多合法的邮件服务器由于设计不好或者实现不正确而违反了这些规范。凡是使用了这些邮件服务器的用户都可能被rfc-列入黑名单,即使他们并不是垃圾邮件发送者。尽管这些网站应该使用符合规范的服务器,但是它们被列入DNS黑名单可能会妨碍与其他合法的交流。
尽管如此,不可否认的是,在过去几年里最流行的DNS黑名单已经有了很大的改进,给用户提供了比以前更准确的结果。事实上,和等免费提供的黑名单中不仅仅列出了人们常见的垃圾邮件服务器所在的网段,也列出了通过家用宽带连接的垃圾邮件发送者的动态IP网址以及被黑客们控制来发送垃圾邮件的僵尸网络和僵尸机。
这些黑名单到底有多流行呢?据在工作的Steve Linford估计, spamhaus网络每秒收到8万到10万条搜索请求。这还不包括那些没有使用公共服务器的大型组织的成员单位,这些大型组织按照计划定期从公共服务器上获得DNS黑名单,然而放到自己网络中供下级成员使用,这样大大地减少了用户对公共服务器的请求数量。
黑名单的误判
但是误判率怎么样?一位用户的话很有代表性,他说: “直到昨天晚上,由于害怕误判我们一直没有用DNS黑名单。然而,在过去的几个月里,我们收到的垃圾邮件数量增加很快。不得已,我最终决定将的黑名单用于我们的邮件过滤器里。在刚过去的15小时里我们已经阻止了3100多个连接。”
如果DNS黑名单流行,误判就永远客观存在,但是由于使用黑名单的好处远远大于坏处,这种担心相对于不断增长的垃圾邮件问题也不算什么了。
当一个服务器被列入黑名单后,网站管理人员通常不知道,直到大量被拒绝的邮件退回到用户手中。大多数情况下,返回的信息包括邮件为什么被阻止、被谁阻止等信息。警告信中通常包括了URL,用来指导管理人员如何申请将自己的邮件服务器从黑名单中去除。据估计,每天有50万个服务器被列入黑名单。
每个DNS黑名单在收集和维护其数据库方面都有它自己独特的方法。很多使用蜜网技术(Honeynet)自动对来自僵尸网络的攻击进行分类,如果发现了僵尸网络,它们就会将源IP地址添加到数据库中。空端SMTP服务器(Dead-end SMTP)技术也经常被用到,它们没有真正的邮箱,但是会收取那些发送给根本不存在的用户的邮件来鉴别垃圾网站和系统。
尽管在今天的互联网上,开放式转发(Open relay)的威胁已经远不比过去了,但是它仍然存在。有几个提供DNS黑名单的机构会主动搜索开放式转发,一旦发现,就把它们列入黑名单。
不久前,在许多销售的商业SMTP服务器中,开放式转发还是默认的设置。但今天已不再用它了。然而,Sun公司首批员工之一、EFF的Cygnus方案的创始人及UseNet alt新闻组之父John Gilmore还坚持保留受限的开放式转发功能。对他来说,这是一个言论自由问题。但对于我们来说,它并不是一个好做法,会使电子邮件基本上无效。
灰名单开始流行
灰名单可以机智地阻截大多数垃圾邮件。它的主要功能基于SMTP错码(error-code),这个代码的意思是要发送方在把刚才发送的电子邮件重新发送一次之前先等几分钟。
通常这个代码在接受邮件服务器收到的请求太多而来不及处理时才会发出。灰名单基于这样一个事实,就是大多数的垃圾邮件服务器和僵尸网络的邮件只发送一次,而会忽略要求它们在一定的时间间隔后再次发送的请求。因为对它们来说,重发每封邮件会大大减少他们总的业务量。
最初被邮件服务器拒绝接收、并被要求“稍后重发”的所有邮件都会进入灰名单过滤器。如果在10分钟左右,远程服务器再次发送了这封邮件,它则会毫无障碍地被通过,而且以后与这封邮件头一致的邮件也会顺利通过。
近来灰名单越来越流行。这种方法能够大大地减少垃圾邮件数量,但是它因为要求服务器再次发送邮件也延迟了邮件的接收。不过,这种延误对于区分是否是垃圾邮件是必要的。
尽管如此,灰名单加上一个和多个的DNS黑名单、再加上垃圾和病毒过滤器可以给我们提供一个相对清洁的邮件系统,今天,它们已经成为SMTP服务器防治垃圾邮件和病毒的必不可少的标准方法。尽管丢失邮件的机会还是存在的,但并不是致命的问题。
垃圾邮件的最终解决
要真正解决垃圾邮件对我们的困扰,还需要一些真正突破性的技术。一种可能真正应对垃圾邮件的技术就是SPF(Sender Policy Framework)。SPF本质上就是对接收的每一封邮件进行逆向确认。
正如每个互联网邮件服务器都需要一份接收邮件的MX DNS记录,SPF要求每个服务器必须有一个发送MX的记录。也就是在一个域的DNS记录中有一条记录可以用来证实某个服务器负责发送某个邮件。如果使用SPF的一个邮件服务器发现某个发送邮件的服务器在域的DNS中没有记录,它发送的邮件就会被退回,或者会被标记为疑似垃圾邮件。例如,服务器收到一封声称是来自的邮件,但SPF在aol
.com中根本找不到这个邮件服务器, 那么这封邮件很有可能是伪造的。
这种解决方案有利也有弊。比如说,MTA(Mail Transfer Agent,邮件传输代理)转发邮件失败,使用SPF过滤器这时候会要求服务器重新发送邮件,而不是再次转发。对于这点有待相关技术来解决,这些技术现在仍处于发展过程中。
另一个选择就是用x.509证书来保护SMTP。这种方法要求互联网上的每一个有效的SMTP服务器都有一个对应的身份证书。只有具备有效证书的服务器才允许发送邮件到另一个服务器。这种解决方案需要大多数目前运行的邮件服务器都有证书,否则不允许发送或者被列入待查的行列。
尽管SPF最近变得越来越流行,但是真正完善的解决方案不太可能会很快出现。除非几个主要的开源和商业的MTA产品提供商在共同的标准上开始合作,否则,基于黑名单的邮件接收系统仍然将是一种主要的方法。(译自美国《Inforworld杂志》)
链接:魔道斗法
尽管主要的DNS黑名单网站免费向大多数用户提供他们的服务,但是这些服务是需要成本的。随着DNS黑名单越来越流行、越有效,它对那些大规模发送垃圾邮件者及其客户的利益造成很大威胁。因此,DNS黑名单的提供者发现他们自己已经卷入一场与垃圾邮件发送者的战斗,但并不是如何对付垃圾邮件。
的一位工作人员说: “这的确是一场战争,而且正在升级。我们积极地试图发现并且阻止垃圾邮件的制造者,而他们也在想尽办法来破坏我们。”他举例说,“比如,我们会对由恶意软件产生的开放式转发(open relay)进行扫描,一些恶意软件的程序员就通过回复无效的信息来迷惑我们的扫描程序,从而导致重复扫描。这样就降低了扫描的有效性,我们只好对扫描程序进行修改以避免这种问题。”
这场战争中也不乏间谍和双重间谍的故事。这位的工作人员还回忆起一件事,曾经有人给发了一封匿名信,信中说如果发送某个特定的24个字节的数据到TCP端口,这台电脑上的一些Windows恶意软件将自动卸载。收到这个消息后,对扫描程序进行了修改,添加上了这个序列,后来果然发现有成千上万被感染的计算机上的病毒得到了清除。
尽管DNS黑名单使用各种各样的方法来编译他们的数据库,但垃圾邮件发送者仍然能识别出来并设法逃避。比如,垃圾邮件的制造者会专门开发一些恶意软件来阻止来自知名的DNS黑名单的连接以避免被扫描。其他的技术包括DNS黑名单的“反黑名单”,即垃圾邮件的制造者整理出DNS黑名单服务的提供方常用来扫描的服务器地址名单,这样他们就可以有针对性地预防。
DNS黑名单与垃圾邮件发送者之间除了进行猫捉老鼠的游戏之外,垃圾邮件发送者还通过DDoS来攻击一些较大的DNS黑名单。前不久就深受其害,最后被迫采取反DDoS来维持它的服务。
现在的局面就是躲避与攻击、躲避与迂回行进,一方千方百计想胜过另一方。如果Windows XP SP2和即将推出的Vista安全性更高些,也许垃圾邮件制造者们的诡计就不会那么容易得成,然而这终究只是“如果”。目前看来,双方的斗争还将继续下去。