钉子 发表于 2008-2-26 23:39:53

URL Blacklist之 uribl.com Blacklist 误判的修正方法

近日有客户反映,在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的运行方式,及这类误断有一定的认识。

jhonlone 发表于 2008-2-27 14:31:42

老大,正文内容呢????

atong999888 发表于 2008-2-27 22:32:49

http://www.assistant-soft.com/orf/install/advance/surbl_dnsproblem.htm

DNS服务器不规范导致URL黑名单误判
标准的DNS对不在黑名单的域名解析结果是"Non-existent domain",
对在黑名单的域名解析结果是127.0.0.x,

C:\>nslookup
Default Server: FJ-DNS.fz.fj.cn
Address: 218.85.157.99
> feibay.com.multi.surbl.org
Server: FJ-DNS.fz.fj.cn
Address: 218.85.157.99
Non-authoritative answer:
Name: feibay.com.multi.surbl.org
Address: 127.0.0.114 (127.0.0.x表示feibay.com在ulti.surbl.org黑名单里)
> 126.com.multi.surbl.org
Server: FJ-DNS.fz.fj.cn
Address: 218.85.157.99
*** FJ-DNS.fz.fj.cn can't find 126.com.multi.surbl.org: Non-existent domain
(查询结果表示126.com不在muti.surbl.org黑名单)

ORF的缺省配置如下图,它认为只要某个dns查询能返回“纪录存在",则认为该dns在黑名单里,而不管具体返回的数据, 对于正常的DNS服务器,这样的配置是没任何问题,也就不存在误判。
http://www.assistant-soft.com/orf/install/advance/surbl_dnsproblem01.jpg
但最近国内不少ISP服务商不知出于什么目的,把DNS服务规范被篡改,对不在黑名单的域名解析指向到一个特定的IP, 该IP对应网站一般是一个服务商自己搞得"域名输入错误"的导航网站。

C:\>nslookup
Default Server: dnsserver
Address: x.x.x.x
> feibay.com.multi.surbl.org
Server: dnsserver
Address: x.x.x.x
Non-authoritative answer:
Name: feibay.com.multi.surbl.org
Address: 127.0.0.114
(对于在黑名单的dns返回纪录为127.0.0.x,这个返回是对的)
> 126.com.multi.surbl.org
Server: dnsser
Address: x.x.x.x

on-authoritative answer:
Name: feibay.com.multi.surbl.org
Address: 220.250.64.23
(这个返回结果是被篡改的,对于不在黑名单的dns返回纪录应该为"Non-existent domain")

解决方法有2个:
1。更换ORF使用的dns服务器
2。在ORF手工指定返回码,返回码范围为127.0.0.1到127.0.0.255, 如下图
http://www.assistant-soft.com/orf/install/advance/surbl_dnsproblem02.jpg
您可直接下载我们定制好的SURBL定义再倒入ORF即可。
先下载定制的SURBL(使用“按右键另存在”方式保存到你的电脑里)
再按下图导入SURBL定义
最后选择你想使用的URL黑名单
http://www.assistant-soft.com/orf/install/advance/surbl_dnsproblem03.jpg

钉子 发表于 2008-2-28 01:51:30

回复 3楼 的帖子

如果是针对multi.surbl.org,意思是说将susrbl.org旗下的多个SURBL集中到一个中使用。

127.0.0.2 = comes from sc.surbl.org
127.0.0.4 = comes from ws.surbl.org
127.0.0.8 = comes from phishing data source (labelled as in multi)
127.0.0.16 = comes from ob.surbl.org
127.0.0.32 = comes from ab.surbl.org
127.0.0.64 = comes from jp data source (labelled as in multi)

我个人认为无需从127.0.0.1-255分别加。而只需要填127.0.0.126的返回验证码即可(所有X相加)。ORF默认是127.0.0.14,意即当sc.surbl.org+ws.surbl.org+phishing data source(2+4+8=14)。

当然,也可以分别加入上面的6个返回验证码到multi.surbl.org的Lookup results中。

而feibay.com.multi.surbl.org我这边的返回验证码是127.0.0.86,大家可以算算是被哪几个SURBL同时列入。

有在信息可以参考:http://www.surbl.org/

钉子 发表于 2008-2-28 02:02:57

不好意思,前天晚上打算写这一个帖子,后来太晚也没有继续。大家久等了。刚好atong也把这个问题写了文章,大家看完后应该会有一些答案。

999819 发表于 2008-10-13 10:32:20

学习了,谢谢大家鼎力支持!

alexhy 发表于 2009-3-26 16:29:03

我是MD 9.5.1的版本,遇到搂主同样的问题!
请问,因该如何设置解决办法是什么?谢谢!

alexhy 发表于 2009-3-27 09:33:32

斑竹哦,请帮我看看,MD 9.5.1的版本遇到的同样问题如何解决!

钉子 发表于 2009-3-27 10:04:43

本帖只讨论ORF使用,请发新帖子到MD版块,谢谢。

keenchi 发表于 2009-6-10 15:29:42

我们也遇到这种情况,我们DNS用的就是网通IP。然后我指定multi.surbl.org的返回码为127.0.0.6,虽然没有误判但还是收到有URL的垃圾邮件。请问怎么解决呢?
页: [1]
查看完整版本: URL Blacklist之 uribl.com Blacklist 误判的修正方法