近日有客户反映,在
ORF启用了URL Blacklist的 uribl.com Blacklist 后误判情况严重。本文说明URL Blacklist之 uribl.com Blacklist 误断的修正方法.
一。现象:在ORF启用了URL Blacklist的 uribl.com Blacklist 后出现误判,使用ORF LOG Viewer查看后得到类似下面的LOG:
Version: 4.0.4 EVALUATION
Log Mode: Verbose
Server: it02
Source: SMTPSVC-1
Time: 2007-11-18 15:18:32
Class: Blacklist
Severity: Information
Actions: Redirect Email
Filtering Point: On Arrival
Related IP Address: 192.168.1.8
Message ID: (not available)
Email Subject: Re: GSP
Sender: fqlhxy@126.com
Recipient(s):
* backup@abc.com
Message:
Blacklisted by the UB-BLACK SURBL (domain: "126.com", DNS lookup result: 220.250.64.23).
二。原因分析:
起初,我们并没有从上面的LOG中发现什么异常。但是当我们分析多条LOG后发现。所有的DNS lookup result都是指向了同一个IP--220.250.64.23,220.250.64.23是网通的一个IP,当我们尝试访问这个IP后发现,我们将看到一个“域名纠错系统”,终于找到原因了---原来是网通的DNS被劫持了。
1.什么是DNS劫持?
简单来说,当服务器使用网通的DNS IP时,如果DNS查询失败或是超时时会将结果统一的指向220.250.64.23这一个IP,达到推广相应的搜索功能和“域名纠错系统”页面的广告点击率的功能。其实除了网通的DNS IP,中国电信的部分地区用户的DNS IP也同样出现了类似的问题。
2.DNS劫持和uribl.com Blacklist 误断又有什么关系呢?
A.SURBL的原理简析:
uribl.com Blacklist ,属于SURBL的一种,而SURBL与RBL(实时黑名单服务(Realtime Blackhole List(RBL)))是实现的原理是类似的,它借助DNS的查询方式实现。我们可以这样来简单的理解他的原理:首先,SURBL提供者,建一个DNS服务器。比如 black.uribl.com,然后将自己或是用户投诉的垃圾邮件中存在的URI(比如:域名,链接地址)做为A记录增加到这个DNS服务器中。而使用SURBL进行邮件过滤的邮件服务器,会将收到的邮件中的存在的URI(比如:5dmail.net.black.uribl.com)与SURBL DNS服务器的A记录进行查询对比,如果在SURBL DNS服务器中有5dmail.net.black.uribl.com 这一个A记录,并会返回一个特定的“返回状态码”,即为垃圾邮件,并中断连接,以达到过滤垃圾邮件的效果。反之则为通过SURBL过滤,交于其它垃圾邮件过滤策略处理或视为正常邮件,开始接收。
对于返回状态码,一般是127.0.0.1-255这样的特殊IP,不过每一家SURBL会不一样。我们需要参考对应的SURBL的网站说明。
接下来,我们用实例来解释一下SURBL的概念。
我们在命令行。来查询5dmail.net是否在black.uribl.com的SURBL中。
C:\Documents and Settings\Administrator>nslookup
Default Server: UnKnown
Address: 192.168.0.1
> 5dmail.net.black.uribl.com
Server: UnKnown
Address: 192.168.0.1
*** UnKnown can't find 5dmail.net.black.uribl.com: Non-existent domain
---无返回码,说明black.uribl.com的DNS不存在5dmail.net.black.uribl.com这样的A记录,这封邮件为正常的邮件。
我们再来试试feibay.com是否在black.uribl.com的SURBL中。
C:\Documents and Settings\Administrator>nslookup
Default Server: UnKnown
Address: 192.168.0.1
> feibay.com.black.uribl.com
Server: UnKnown
Address: 192.168.0.1
Name: feibay.com.black.uribl.com
Address: 127.0.0.2
--返回代码为127.0.0.2 说明black.uribl.com的DNS不存在feibay.com.black.uribl.com这样的A记录,这封邮件可能为垃圾邮件。
B.当使用被劫持的DNS IP后的情况:
当使用的DNS IP被劫持DNS IP后,一切都变了。请看:
C:\Users\Neil.Ting>nslookup
Server: cache-b.guangzhou.gd.cn
Address: 202.96.128.166
> 5dmail.net.blacklist.uribl.com
Server: cache-b.guangzhou.gd.cn
Address: 202.96.128.166
Name: 5dmail.net.blacklist.uribl.com
Address: 59.37.71.85
--返回码变成了"59.37.71.85"(中国电信广东这边劫持后的一个IP)
B.ORF 中uribl.com Blacklist 的不同:
刚刚我们说了,如果在SURBL DNS服务器中有5dmail.net.blacklist.uribl.com这一个A记录,并会返回一个特定的“返回状态码”,即为垃圾邮件.且返回状态码,一般是127.0.0.1-255这样的特殊IP。但当使用的DNS IP被劫持DNS IP后,同样会有一个返回状态码为---59.37.71.85.如果设定SURBL检测时,忘记了指定127.0.0.1-255这样的特殊“返回状态码”.就有可能会的把59.37.71.85也会当成了一个合理的返回状态码.不幸的是:在ORF中的uribl.com Blacklist 刚好就是这种情况。请看下面的几张ORF中关于black.uribl.com的设定图:
ORF把black.uribl.com的Lookup results默认设定为"Blacklist if DNS record exists(Regardless record data)",即是说:只要某个dns查询能返回“纪录存在",则认为该dns在黑名单里,而不管具体返回的数据。这就是导致即使返回的是220.250.64.23(中国网通DNS IP劫持后的一个目标IP)或是59.37.71.85"(中国电信广东DNS IP劫持后的一个目标IP)都被认为是有效的返回信息,并将邮件判断为垃圾邮件,造成误判。
三。解决办法:
经过上面长篇论述。我们找到了原因。并且,大家可以花时间对比一下ORF中的其它SURBL,他们与black.uribl.com的不同。就是其它的SURBL是在指定了Lookup results的。所以,要解决black.uribl.com的在DNS IP被劫持后造成误判的问题很简单。哪就是:
1.更改ORF所使用的DNS IP
有人说建议自己建一个DNS Server,有人建议使用香港或是台湾的DNS Server,总之只是用的是干净的DNS IP,各有所爱了。
2.指定black.uribl.com的返回状态码
经过查询,black.uribl.com的返回状态码为127.0.0.2,所以我们只需在ORF中指定black.uribl.com的返回状态码,就可以避免误判了。方法如下图:
PS:请记得保存和更新配置,及时应用到ORF的环境。
另外uribl.com并不是只有black.uribl.com一个SURBL,它还提供其它的SURBL,比如:
地址 返回验证码
black.uribl.com 127.0.0.2
grey.uribl.com 127.0.0.4
red.uribl.com 127.0.0.8
multi.uribl.com 127.0.0.14
更多信息请查看:http://www.uribl.com/about.shtml
最后,希望经过说明,大家对SURBL的运行方式,及这类误断有一定的认识。