2024年5月25日发(作者:)
邮件拒收与DNS劫持
最近接到了一些反馈说,在使用我们的RBL时,会拒绝所有入站信件。据我们判
断,应该是查询者使用了具有DNS劫持的DNS服务器所导致。
首先,我们先简单说一下RBL的原理。目前用于垃圾邮件过滤的RBL服务,
应该称之为基于DNS的实时黑名单查询,也就是说,这个服务是通过DNS协议来
完成的。
具体而言,当一个客户端希望查询某个IP地址(如11.22.33.44)是否在某
个RBL(如)中 是,其实际上是查询如下地址是否存在解
析: . (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中时,返回状态为MXDOMAIN。
# dig .
; <<>>DiG 9.3.3rc2 <<>> .
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 58553
;; flags: qrrdra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;. IN A
;; AUTHORITY SECTION:
. 3600 IN SOA
. . 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 .
; <<>>DiG 9.3.3rc2 <<>> .
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5032
;; flags: qrrdra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 0
;; QUESTION SECTION:
;. IN A
;; ANSWER SECTION:
. 10800 IN A 127.0.8.2
;; AUTHORITY SECTION:
.
.
.
.
.
.
.
.
.
.
.
.
10800 IN NS
10800 IN NS
10800 IN NS
10800 IN NS
10800 IN NS
10800 IN NS
;; 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


发布评论