为了有效地拒绝来自恶意的垃圾邮件来源站点和/或被利用的垃圾邮件来源站点所发来的垃圾邮件,最直接和有效的办法就是拒绝该来源的连接。
虽然从理论上说,这样也有可能会拒绝掉来自该站点的正常邮件,从而造成邮件不能正常的投递,但是有以下理由支持我们这样做:
1、接收任何来源的邮件则有可能导致邮箱中充满了垃圾邮件,影响了邮件服务器的性能和容量以及带来高额的带宽费用,而且导致了收取邮件的人浪费了不必要时间处理这些垃圾邮件;
2、通过程序过滤垃圾邮件不但从技术上不能保证完全可靠,而且会对服务器带来很多负载;
3、通过人工一一分拣邮件基本上是不可行的,不但从工作量上不可承受,而且有可能会带来隐私问题;
4、通过拒绝恶意的垃圾邮件站点的连接,可以使垃圾邮件的实际发送量下降,从而缩小了垃圾邮件市场和压制了垃圾邮件的发展;
5、通过拒绝被利用的垃圾邮件来源站点的连接,可以使该站点的管理员能充分认识到被利用所带来的后果,从而消除被利用的条件。
综合以上利弊,我们认为,通过将确认后的垃圾邮件来源站点(无论是否是恶意与否)放入一个黑名单(Blackhole List),然后通过发布该名单来保护邮件服务器不受到黑名单中站点的侵扰确实是一个目前对抗日益严重的垃圾邮件的行之有效的方法。
目前在黑名单技术上最流行和最有前景的是实时黑名单(Realtime Blackhole List,简称RBL)技术。RBL是一些由国际知名的反垃圾邮件组织所提供的恶意发送垃圾邮件的发件人邮箱地址,IP地址,URL地址等黑名单列表的服务。目前国外流行的几个主要的实时黑名单服务器都是通过DNS方式提供的,如Mail-Abuse的RBL、RBL+等。国内目前尚未出现比较大的RBL服务。
实时黑名单实际上是一个可供查询的IP地址列表,通过DNS的查询方式来查找一个IP地址的A记录是否存在来判断其是否被列入了该实时黑名单中。举例来说,比如如果要判断一个地址111.222.333.444是否被列入了黑名单,那么使用黑名单服务的软件会发出一个DNS查询到黑名单服务器,该查询是这样的:444.333.222.111.cbl.anti-spam.org.cn是否存在A记录?如果该地址被列入了黑名单,那么服务器会返回一个有效地址的答案,按照惯例,这个地址是127.0.0.2(之所以使用这个地址是因为127/8这个地址段被保留用于打环测试,除了127.0.0.1用于打环地址,其它的地址都可以被用来做这个使用,比如有时候还用127.0.0.3等)。如果没有列入黑名单,那么查询会得到一个否定回答。
有时候,由于邮件服务器非常繁忙,而且这个查询结果是不缓存的,那么对黑名单服务器的查询会非常多,导致查询响应迟缓。在这种情况下,可以使用DNS的区域传输,将黑名单服务器的数据传输到本地的DNS服务器,然后对本地的DNS服务器进行查询即可。区域传输可以设置为手工更新、定时更新或自动更新等方式,这依赖于你的应用。
黑名单服务器的DNS查询和区域传输,并不是都可以随意使用的。有些服务器可供任何人查询和区域传输,而有些只对特定的用户开放。 黑名单服务的提供和黑名单的维护由黑名单服务提供者来提供和维护。所以该名单的权威性和可靠性就依赖于该提供者。通常多数的提供者都是比较有国际信誉的组织,所以对于该名单来说还是可以信任的。