战争不会停息 反垃圾邮件的实用技巧

互联网 | 编辑: 潘翔城 2007-08-13 00:30:00转载 返回原文

清除垃圾邮件(1)

反垃圾邮件的战争永不会停息,而本文在此给出了一些反垃圾邮件的实用技巧。

2004年之初,比尔·盖茨做出了一个轻率的承诺:凭借微软的强大实力,垃圾邮件在两年内将被彻底清除。我们都已经习惯了微软发布新软件时的“跳票”行为,但垃圾邮件解决方案的跳票则更加离谱。垃圾信息与日俱增,几年前似乎能拦截多数垃圾信息的过滤技术再也无法奏效,而且,很多人在过滤信箱垃圾信息上花的时间比以前更多了。

是否出现了新的技术?能否采用这些技术来帮我们赢得对收件箱原有的掌控呢?是要将垃圾信息的发送者告上法庭吗?或者,我们是否应该勇敢承认,互联网电子邮件在设计时就没有考虑到要防止这些骗子、诈骗者和铤而走险之徒?有人甚至认为,应放弃为互联网电子邮件系统提供基础架构的开放标准,进而采用能将垃圾邮件拒之“箱”外的下一代标准。

我们来看看,为什么有如此多的垃圾信息,始终把握垃圾信息动态的最佳方法是什么,同时我们将提供一些策略供你选择,使之在反垃圾邮件之战中发挥应有的作用。

为什么会出现垃圾邮件

虽然你可能从来没有碰到被垃圾邮件内容所欺骗的这类受害人,但是这类受害群体的确存在。因为发送数以百万计的邮件几乎不需任何成本,所以,只要有那么几个人上当受骗,不法分子就有利可图。

即使正规公司有时也认为,大量群发邮件是合乎常理的营销策略:可结果是,连他们自己也成了那些不那么有良心的电邮营销公司的牺牲品,而且自己毫不知情。如果你从个人邮箱地址中收到了来自某个公司的那些“不请自来”的电子邮件,打电话礼貌地告诉他们,你不会购买、也不会推荐他们的产品。我们发现,这种方法比较有效。

僵尸部落

然而,发送垃圾邮件越来越有利可图的这种情形,并不是在很短的时间内形成的。时下,垃圾邮件数量如此巨大的一个原因在于,宽带接入用户的绝对数量庞大。除此之外,便是使用电脑但对安全威胁没有足够防护的用户数量太大。

垃圾邮件出现之初,互联网的多数邮件服务器都欣然接收任何邮件,并将其发送到其目的地,跟处理其他电子邮件没什么两样。SMTP(简单邮件传输协议)的设计初衷就是要解决邮件传输问题,使你能够通过方便实用的SMTP服务器轻易地发送和转发处理电子邮件。不过,SMTP协议中并没有内置认证机制。由于有人开始滥用这种方便的协议,多数此类“开放式的中继站”最后都关闭了。因此,现在的邮件服务器往往仅接收那些它事实上能处理其地址的电子邮件,或仅接收那些有备份地址的电子邮件。而且,服务器也有其他方式的防护,如对来自一个来源发往邮件接收者或连接的最大数量限制。所以,垃圾邮件发送者再也无法找到一个开放式的SMTP中转站,再也无法以百万计的邮件轰炸中转站而任由它花时间将邮件发送出去。

在这种情形下,大量的垃圾邮件就直接发到了每个邮件地址的邮件接收服务器,这意味着要接入世界各地大量不同的服务器。如果要从某一个地方完成发送,这要花很长时间,更不用提这要占用相对大量的带宽了—而这类行为很容易被监测其网络的ISP(互联网服务提供商)所发现。

包含在图片中的营销信息和随意的文本内容,都想骗过贝叶斯分析蒙混过关。许多收件箱中这类图片信息已逐渐发展为大家所熟悉的“风景”。

“得益于”很多家用电脑使用的宽带和落后的安全防护,所谓的“僵尸网络” “解决”了上述问题。“僵尸网络”是一组被感染的PC(也叫僵尸电脑)网络,能够被远程控制,用来发送垃圾邮件,而用户甚至都没有意识到。在这种情形下,由于成百上千的电脑从世界各地发送垃圾邮件,所以,要识别互联网流量模式就变得更为困难,而且,垃圾邮件发送者能在非常短的时间内就将垃圾邮件发给大量的邮件接收人。

清除垃圾邮件(2)

真实情形

在开放式中转站如此少的情况下,如此大量的垃圾邮件是怎样被发送的呢?上文的解释可能为我们提供了答案。然而,上文并没有说明,有多少垃圾邮件究竟如何进入了你的收件箱。几年前,我们在杂志中读到那些反垃圾邮件工具的时候,其中有些工具特别有效,删除或标出垃圾邮件的比例非常高。

而如今,垃圾邮件情形则完全变了。一个典型的收件箱不仅包括各种分门别类的过时的促销商品广告,而且充斥各种商品,如高级手表,还有近来出现的买进股票的建议。不用说,高级手表极有可能是赝品,买进的股票肯定要赔钱。问题是,所有那些垃圾邮件到底是如何绕过你设置的垃圾邮件过滤器的?

垃圾邮件发送者很狡猾。好几年前,Bayesian filtering(贝叶斯)被捧为垃圾邮件识别的最强大的工具之一。这种工具不是仅仅查找信息中的关键词和短语从而加以过滤,而是分析所有单词过滤垃圾邮件,允许你用好或坏的信息对系统进行“训练”。其构想是,某些单词组合在一起使用是垃圾邮件的典型特征,而在其他语境中,同样的单词组合却可能并非如此。通过谨慎地分析其概率,Bayesian filtering能捕捉大量的垃圾邮件。

然而,过不了多久,垃圾邮件发送者就弄明白了这个道理,这就是为什么很多垃圾邮件都包含看上去是任意组成的部分文本—你可能没能看见这些白底白色的文本,但是这些文本的确存在—而Bayesian filtering读到的则是垃圾邮件之外的文本。 因此,如果在邮件中放进大量的随意组成的常见单词和短语,那么垃圾邮件成为过滤器漏网之鱼的机遇还是不小的。

当然,也还有其他的方法:诸如Cloudmark和DCC这样的系统,能够计算垃圾邮件的校验和或“指纹”,并在服务器上与其他机器共享。邮件服务器能利用其指纹来识别垃圾邮件,而且,这类系统在设计时还设置了一定程度的模糊性,包容信息中通常出现的个性化内容。然而问题是:由于僵尸网络使发送者具备了强大的计算处理能力,因此,对数以百万计的垃圾邮件进行分别设置,对一台机器来言,是一项耗时费力的工作,发送过程由此变得缓慢,因此,仍然有足够的垃圾邮件能混进信息之中,因而“指纹”就不再那么可靠了。

但同时,垃圾邮件也有了最新的招数:图片垃圾邮件。虽说垃圾邮件发送者也常常利用图片来推广其产品,但近来,使用图片的垃圾邮件数量显著上升:根据McAfee的说法,图片垃圾邮件占到了所有垃圾邮件的40%以上,而且比例还在上升,这是去年图片垃圾数量的四倍。这种图片垃圾邮件在“炒股诈骗”式的骗局(该骗局的目的,就是骗你去购买某公司股票,从而抬高该公司的股价)中最为常见。由于没有真正的文本可以扫描识别,而且信息都是从大量不同的IP地址发送过来,因此,当它们达到邮件服务器时,就很难识别出来。从理论上讲,你可以在信息中运行字符识别程序,但这样做会耗费大量的处理时间。你也不能看到带有图片的信息就加以阻止,因为如此多的个人都通过邮件共享照片,或将他们公司的标徽贴在信息中作为署名。

到处都是垃圾邮件,数量如此巨大,难怪也有人在想,互联网是否也该需要新的邮件系统了。然而,这种情况却不太可能会发生。首先,就是因为有太多的人在使用现有的标准,沟通交流由此变得更为容易。其次,还有那些僵尸部落的存在:由于如此多的系统都被感染,进而受到控制,因此,用不了多久,垃圾邮件发送者就会找到方法去攻击那些系统。如此看来,可能只有从技术和法律层面提供解决方案了:从技术层面看,可以采用新技术,将其融入现存系统,以此来验证邮件;从法律层面来看,只要这些邮件发送者利用垃圾邮件的行为触犯法律,那么就将其告上法庭。

同时,要保持收件箱干净,你能采取什么措施呢?很明显,对于桌面反垃圾邮件软件而言,有效的清除工作十分困难,清除图片垃圾邮件更是如此。当然,就清除其他各类垃圾邮件而言,只要通过查找关键字、阻止已知的垃圾邮件域名或将已知联系人放进“白名单”中,这些桌面反垃圾邮件软件仍然发挥着作用。但是,看起来,要有效地解决这个问题,真的有必要,在全球的电子邮件服务器上展开对垃圾邮件的战争。

传统做法中的“黑名单”就是反垃圾邮件的一项工具。黑名单就是一个已知的垃圾邮件发送者的IP地址列表,因此,只要邮件发送者试图接入,邮件服务器就会拒绝这种垃圾邮件。虽然这种名单能够阻止商业电子邮件营销公司来骚扰你,但正如Spamhaus(www.spamhaus.org )这类组织发现的那样,当具商业目的的垃圾邮件发送者污染我们收件箱的“权利”受到侵犯时,他们会付诸法律,和受害人对簿公堂。

跟SPF一样,域名允许你设置哪个邮件服务器是否是可靠的服务器,是否可以用来发送哪些宣称是来自你的域名的信息。

当然,限制垃圾邮件发送者,我们也有其他策略:其中之一就是试图将邮件发回到发送邮件的每一台机器上,不过,这的确耗费资源,而且,不一定总是可靠。其他两项新技术则更为实用。其中一项是使用灰色名单,阻止垃圾邮件一次性大量群发邮件的行为,另外一项就是使用发送方策略框架(Sender Policy Framework, SPF)。这两项策略都可以应用于你自己的邮件服务器,当前,为公司提供主机空间的越来越多的ISP都大量使用这两项策略。

清除垃圾邮件(3)

SPF可识别出假冒者

SPF是一种解决方案,旨在应对垃圾邮件中的一个特别问题—发送方假冒问题。如果你曾遭遇过别人用你的地址发送垃圾邮件的情形,那么你就知道你会收到多少弹回邮件和充满愤怒之辞的信息了。如果你自己拥有一个带有“拦截”电子邮件地址的域名,那情形就尤为糟糕,因为任何发往那个域名的信息最后却竟然进入了你的收件箱。

只要把额外信息添加到域名系统,SPF就会展开工作,告诉你哪个IP地址被允许发送某个特殊域名的邮件。通过这种方式,邮件接收服务器就能执行检查,看看宣称从诸如这类nigelwhitfield.com域名发送的电脑是否真的被SPF允许发送,而且可根据SPF的设置,要么发出警告,要么拒绝邮件。

然而,这样做也并不完美。如果通过假名或电子邮件营销列表服务将来自某一个地址的邮件自动转发给另一个人,那么SPF就不会发挥作用,因为系统将禁止转发电脑使用原始邮件发送方的域名。相反,如果要转发邮件,服务器需要重写信息地址,这可能意味着,如果邮件被转发后失败,那么弹回邮件则无法送达原始发送方。

然而,如果你想要保护你自己的域名,而且只从自己或你的ISP邮件服务器上发送邮件,那么使用www.openspf.org的wizard就很容易可以设好SPF内容;根据上面的介绍,你能完全弄清楚是怎样一步一步来完成设置的。要检查其他人的SPF信息,你可能需要升级你的邮件服务器软件,当然,由于近来新出的诸如Postfix和Sendmail这类系统软件都允许安装过滤插件,因此升级比你想象的更为简单。将SPF过滤设置信息添加到我们两年前建设的邮件服务器项目中很简单,只要采用OpenSPF的Perl Policy daemon就行。

在阻止僵尸部落方面,灰色名单已经证明是一项非常有效的策略(下图)。灰色名单积累的数据库显示,有成千上万的尝试都是发往那些看上去都很任意的地址—在7000次的发送尝试中,以单一主题“Nigel”为基础的变体就达1500个之多(上图)。

要防止你的域名来发送垃圾邮件,SPF并不是唯一的方式,域名密码也不错,可在电子邮件信头使用数字签名,甚至还能验证邮件正文是否添加其他任何信息。要了解域名密码的详细介绍,请访问http://antispam.yahoo.com/domainkeys. 虽然域名密码的设置来的没有SPF设置那样一目了然,但都是靠把额外信息添加到DNS中去,然后,邮件服务器会执行检查。同时,很多主要服务器套件也能通过开源程序来执行。

有效度如何

我们为邮件服务器既添加了灰名单,又增加了SPF检查设置。虽然,在相对短的时间内,要得出一个最终结论非常困难,但我们看到,进入我们收件箱的垃圾邮件数量大量减少。这证明灰色名单设置是一项有效的策略,在一天之内,阻止恶意群发信息的企图达1.4万次之多。看看灰色名单软件编纂的数据库就知道,很明显,这些垃圾邮件很多都会弹回原址,因为这些邮件地址试图虚构发送地址,如nigelozhk@,而并非nigel@这种地址。但是,因为发送地址是假的,邮件弹回的工作还需要处理,因此这给邮件管理员留下来了大量需要处理的错误信息,不用说,这要耗费大量的资源。

而SPF过滤设置阻止的信息则要相对少些:在头24个小时内,阻止了约300个邮件。但这仍然是一个令人欣慰的进步。论其总数目,新过滤设置添加之前时,我们的测试服务器每天收到的邮件数量通常在2.1万条。其中,大约有1.5万条邮件会被拒绝,要么是因为现存的垃圾邮件过滤设置发挥了作用,要么是因为那些邮件是发送给无效地址—有些会弹回。其他6000条邮件会“各显神通”最终进入用户邮箱,其中有很多就是图片垃圾邮件,或是假发送方地址造成的弹回邮件。

采用新技术后,很多信息还没有到达垃圾邮件过滤软件就被灰色名单或SPF阻止或清除了。最终到达用户收件箱的信息数量,实际上只有1000条左右,入侵收件箱的垃圾邮件数量可谓巨减,这也从另外一个侧面说明了互联网中估计存在的垃圾邮件数量是多大了。

清除垃圾邮件(4)

打一场漂亮的反击战

如果你收到的垃圾邮件太多,深受其苦,而你当前的过滤设置又没多少效果,那么值得考虑把灰色名单添加到你的邮件服务器中,或要求你的ISP为你做好相关配置。如果你有自己的域名,虽然这并没有灰色名单的效果来得好,你也应该考虑采用SPF—即使你不会运行邮件服务器来检查到达邮件,仍然可以保护你自己,免得别人把你的域名拿来发送他们的垃圾邮件。

只要确保ISP使用了灰色名单和SPF,或域名密码,再利用良好的桌面反垃圾工具将其他漏网的邮件进行过滤,那么不会管理自己邮件的用户就可高枕无忧了。

毫无疑问,对垃圾邮件作战就是一场军备竞赛,需要不断更新软件,这的确让人烦恼。但既然电子邮件对很多人来说是如此重要的交流工具,那么退出竞赛则更不值得,我们的损失会更大。 

杂志社员工收到的大量垃圾邮件中,有些是一些产品促销信息,看上去是一些著名的软件产品或众所周知的邮购公司所为。那些小印刷品宣称,那些信息是根据《数据保护法》,利用第三方名单供应商提供的地址来发送邮件的。

但是,这里有个问题。不管那些信息怎么说,只要是这些“不请自来”的信息进入个人邮件收件箱,这就是违反了英国法规。将这点向两家当事公司(我们不能点出名字)表明后,他们告诉我们,他们可以肯定,邮件列表中地址是通过正规方式获得的,从而将全部责任推到了那些宣称提供营销服务的公司方面。其中一家公司告诉我们,尝试过用这种方式推广其软件产品之后,还因为该公司收到了大量投诉,因此他们再也不会采纳电子邮件营销方式了,而且,和那家邮件营销公司之间,现在还存在法律争端。

因此,即使其他公司可能为你们公司提供了一份电子邮件地址“投诉”列表,或承诺能提供一项遵守法律法规的服务,但是,只有你十分肯定电子邮件营销列表人员愿意接受电子邮件,那么该邮件列表才是你唯一可以信赖的。电子邮件的大量群发,看上去可能是一个很有吸引力的策略,但即使你试图和那些著名的电子邮件营销公司合作,也仍然可能发生意想不到的结果,丢掉业务,而不是提高收入。

为你自己的域名添加一个SPF纪录,非常简单。以下就是添加过程。注意,在最后一步中,具体的细节则要视你用来管理自己域名的具体软件而定。如果你不能将“TXT”纪录添加上去,可能你需要咨询为你提供域名空间的公司或ISP,进而获得帮助。

第一步

访问www.openspf.org ,并在主页中输入你的域名。然后点击“Go”开始运行wizard, 接着就会出现该网页。根据哪个已知电脑要为你的域名接收电子邮件,Wizard会自动为你做好大部分的设置,不过,你应该仔细检查一下才好。

第二步

向下滚动网页。我们已经为我们的家用宽带网络添加了地址,Wizard已经在文本框中创建了SPF详细信息,因此你能进行复制和粘贴。但是要记住将“~all”更改为“-all”,如此一来,如果邮件与你的设置不一致,那么邮件就会被拒绝。如果用“~all”,则会产生警告信息。

第三步

现在你就可以将信息添加到你的域名详细信息之中了。这里,我们用的是Plesk网络管理服务器,这使我们管理自己的域名信息变得很轻松。点击“Domain”,选择你要升级的域名,然后点击“DNS”按钮。

第四步

点击“Add New Record”(添加新记录)按钮。选择TXT作为记录类型,把从OpenSPF wizard中获得的密码粘贴在底部的方框内,不要引号。点击“OK”。

很多邮件管理员采用的一项技术就是灰色名单设置。到目前为止,在拒绝大量垃圾邮件方面,灰色名单非常有效,令人吃惊,而且,不像其他解决方案,也不会带来主动错误信息和被动错误信息的危险。

灰色名单(www.greylisting.org) 不担心邮件是什么内容。邮件服务器收到邮件时,就会把带有暂时的失败码(temporary failure code)的邮件拒绝。典型的邮件服务器将会注意到回应信息,然后将邮件安排到发送阵列之中,稍后投送。多数的垃圾邮件服务器工作程序并非如此:只要出现的回应不是“正常”,就会将其列为问题邮件,然后接着发送待处理的下一个地址。

如果是真实的邮件,发送服务器会再次处理,但是其时间间隔为多长,则要取决于他们的配置方式,常见的间隔为半个小时或一个小时一次。当灰色名单系统下次再看到发送服务器、地址和接收方的这些组合信息时,马上就会放过不查—可能同时也执行其他一些反垃圾邮件和防病毒检查。

当然,灰色名单系统也有需改进之处。如果某个邮件发送服务器发送了大量的邮件,那么有些灰色名单软件会自动将那个邮件发送服务器添加到允许列表之中,因此,保持联络的联系人会发现其消息不再在灰色名单之中了。

而最让人省事的是,你能轻松地把灰色名单添加到一个邮件服务器中,15分钟之内就能搞定。举个例子,把gld工具(www.gasmi.net/gld.html)添加到OpenBSD邮件服务器,只要把这个工具插入当前Postfix邮件系统,再来一个SPF检查就行了。

难道垃圾邮件发送者就只会反复重发邮件么?可能吧!但只要延缓了他们发送垃圾邮件的时间,这就意味着垃圾邮件就会更少,而同时,DCC或Cloudmark这类系统采集指纹的机会就会越多,识别出垃圾邮件的概率就会越大。

返回原文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑