灰名单不是针对邮件进行内容过滤,而是基于大多数垃圾邮件对一封垃圾信只发送一次,发送失败不重试的特点。对于垃圾邮件发送人来说,他要发的邮件至少百万封以上,如果发送失败重试的话,会大大影响发送速度和系统资源。灰名单技术只是利用了一个简单的SMTP协议——SMTP 450 错误。对于第一次接受到的邮件打上时间戳,并且拒绝该邮件,拒绝信息是“服务暂时不可用,请稍候再次发送”。如果是正常的邮件服务器发送的邮件,那么,一段时间后会自动第二次发送。第二次发送接收到后,进行时间戳的对比,如果超过了配置中设置的延迟时间,就会自动接收该邮件,否则就会拒绝。
在我们的邮件服务器中,把内网的IP地址网段加入白名单,这样,内网发信及内部员工发信就不受影响。根据经验,灰名单可以拦截40%左右的垃圾邮件。
● 贝叶斯智能分析
贝叶斯智能分析听起来高深莫测,事实上,这个智能分析就是一个统计学上贝叶斯定律的应用而已。这 个智能分析其实是将IP阻挡名单、域名阻挡名单、垃圾邮件指纹检查、统计规律结合起来,从而实现反垃圾邮件的智能分析。
最著名的利用贝叶斯统计算法的反垃圾邮件系统是Spamassassin,在很多邮件系统中可以集成该模块功能。据统计,利用Spamasassin可以过滤70%以上的垃圾邮件,且误判率极低。
为了提高贝叶斯统计反垃圾邮件系统的准确性,平时应该收集误判的邮件提交系统进行自学习。误判的邮件包含两类,一类是把正常邮件误判为垃圾邮件,另一类是把垃圾邮件误判为正常邮件。根据我们的经验,Spamassassin的评分值达到11,判断为垃圾邮件比较合适。
● 验证电子邮件发件人地址技术SPF
SPF是一种较好的垃圾邮件解决方案,旨在应对垃圾邮件中的一个特别问题——发送方假冒问题。很多垃圾邮件假冒是Hotmail、Gmail、新浪、163、Yahoo等的邮件运营商发送的,以前很难辨别,现在有了SPF技术就能很方便地辨别。而且越来越多的域已经发布了各自的SPF记录。
SPF原理分为两步:第一,发送方向接收方发送一封电子邮件。第二,邮件接收服务器接收电子邮件并执行如下操作:检查哪一个域声称发送了该邮件并检查该域DNS中的SPF记录;确定发送服务器的IP地址是否与SPF记录中的某个已发布IP地址相匹配;对电子邮件进行打分:如果IP地址匹配,则邮件通过身份验证并获得一个正分。如果IP地址不匹配,则邮件无法通过身份验证并获得一个负分。然后,结合其他的的防垃圾邮件筛选策略进行综合判断。
例如,一份邮件声明是来自Hotmail的,其IP地址为111.23.45.67,接收方邮件服务器通过DNS查询Hotmail发布的SPF记录,而在Hotmail发布的SPF记录中该IP地址不属于他们的发信服务器,这样,很明显地说明了该邮件是冒充Hotmail发送的垃圾邮件,直接拒绝就行。
SPF是一个非常有效的反垃圾邮件方案,其在SMTP握手通信的时候就进行检查,而不是在收完信后才检查,这样可以减少带宽的消耗。
通过检查SPF记录,可以把绝大多数冒充大型邮件运营商的垃圾邮件直接拦截。据统计,可以减少垃圾邮件10%。随着使用SPF方案的用户越来越多,效果会越来越好。微软的反垃圾邮件Send ID方案和SPF方案相类似,建议可以结合使用。
● 减少无效过滤
反垃圾邮件系统占用大量系统资源,一封信要经过7至8道不同方案的分析过滤拦截。所以,如何减少无效过滤也非常关键。
对大于200K的邮件不进行任何分析过滤处理。由于垃圾邮件发送商要在短时间内发送成百上千万封的邮件,所以,过大的邮件会占用大量的带宽,使发送速度减慢。
经我们统计,绝大多数垃圾邮件都是小于100K的,所以设置200K是一个比较合适的参数。
一些通过群发软件发送的垃圾邮件有时会在邮件头中的X-mailer项标明群发软件的名称,例如JiXing、Jp-GroupMailer、Jpfree。可以在系统中设置过滤条件,如果X-Mailer包含有那些群发软件的名称的邮件,可以判断为垃圾邮件,直接删除即可。

