首先,我们先简单说一下RBL的原理。目前用于垃圾邮件过滤的RBL服务,应该称之为基于DNS的实时黑名单查询,也就是说,这个服务是通过DNS协议来完成的。
具体而言,当一个客户端希望查询某个IP地址(如11.22.33.44)是否在某个RBL(如cbl.anti-spam.org.cn)中是,其实际上是查询如下地址是否存在解析: 44.33.22.11.cbl.anti-spam.org.cn. (IP地址逆转附加在RBL地址后)。DNS的解析分为几种类型,对于RBL查询,通常是查询这个地址是否存在A记录、TXT记录或者任意(ANY)记录。
如果该地址被列入了这个RBL,那么查询会返回一个具体的解析结果,根据RBL和查询的不同,可以返回一段文本,也可以返回一个或几个IP地址,也可以同时返回文本和IP。返回的文本通常是一个说明,用来说明这个IP地址被列入了哪个RBL,具体信息去哪里查询等。返回的IP地址并不具有实际意义,只是标识该查询有结果,通常这个IP地址是一个保留IP段的地址,如127.0.0.1、127.0.0.2等。
如果该地址没有被列入这个RBL,那么该查询会返回一个查询错误(NXDOMAIN),表示该地址未列入。DNS劫持就发生在这里,具体情况我们下面再详细解释。
举例说明这个查询过程:
当查询的IP地址不在RBL中时,返回状态为NXDOMAIN。
# dig 44.33.22.11.cbl.anti-spam.org.cn.
; <<>> DiG 9.3.3rc2 <<>> 44.33.22.11.cbl.anti-spam.org.cn. ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 58553 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION: ;44.33.22.11.cbl.anti-spam.org.cn. IN A
;; AUTHORITY SECTION: cbl.anti-spam.org.cn. 3600 IN SOA cbl.anti-spam.org.cn. wxy.anti-spam.org.cn. 2008061006 14400 3600 14400 3600
;; Query time: 8 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Jun 10 09:28:55 2008 ;; MSG SIZE rcvd: 90 |
当查询的IP地址在RBL中时,返回状态为NOERRO,并给出具体的结果:127.0.8.2(这里使用RBL的测试地址127.0.0.2,通常RBL都会提供一个特定地址,用于测试RBL是否工作)。
# dig 2.0.0.127.cbl.anti-spam.org.cn.
; <<>> DiG 9.3.3rc2 <<>> 2.0.0.127.cbl.anti-spam.org.cn. ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5032 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 0
;; QUESTION SECTION: ;2.0.0.127.cbl.anti-spam.org.cn. IN A
;; ANSWER SECTION: 2.0.0.127.cbl.anti-spam.org.cn. 10800 IN A 127.0.8.2
;; AUTHORITY SECTION: cbl.anti-spam.org.cn. 10800 IN NS ns1.anti-spam.org.cn. cbl.anti-spam.org.cn. 10800 IN NS ns3.anti-spam.org.cn. cbl.anti-spam.org.cn. 10800 IN NS ns4.anti-spam.org.cn. cbl.anti-spam.org.cn. 10800 IN NS ns5.anti-spam.org.cn. cbl.anti-spam.org.cn. 10800 IN NS ns7.anti-spam.org.cn. cbl.anti-spam.org.cn. 10800 IN NS ns8.anti-spam.org.cn.
;; Query time: 3 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Jun 10 09:31:01 2008 ;; MSG SIZE rcvd: 172 |
查询TXT记录的结果如下(通常收到由于RBL列入而退回的信件中的退信消息就是来自这里的):
# dig 2.0.0.127.cbl.anti-spam.org.cn. TXT
; <<>> DiG 9.3.3rc2 <<>> 2.0.0.127.cbl.anti-spam.org.cn. TXT ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21173 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 0
;; QUESTION SECTION: ;2.0.0.127.cbl.anti-spam.org.cn. IN TXT
;; ANSWER SECTION: 2.0.0.127.cbl.anti-spam.org.cn. 10800 IN TXT "Mail from 127.0.0.2 refused, see "
;; AUTHORITY SECTION: cbl.anti-spam.org.cn. 10675 IN NS ns5.anti-spam.org.cn. cbl.anti-spam.org.cn. 10675 IN NS ns7.anti-spam.org.cn. cbl.anti-spam.org.cn. 10675 IN NS ns8.anti-spam.org.cn. cbl.anti-spam.org.cn. 10675 IN NS ns1.anti-spam.org.cn. cbl.anti-spam.org.cn. 10675 IN NS ns3.anti-spam.org.cn. cbl.anti-spam.org.cn. 10675 IN NS ns4.anti-spam.org.cn.
;; Query time: 37 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Jun 10 09:33:06 2008 ;; MSG SIZE rcvd: 255 |
摘抄自:
阅读(4159) | 评论(0) | 转发(0) |