域名服务器间接访问有正式限制吗?


8

如果域及其名称服务器不共享TLD,则胶水记录通常不可用,并且如果它们不共享相同的二级域,则从技术上讲也不需要胶水记录,这可能导致解析域的额外步骤。解析程序必须先查找名称服务器的地址,然后才能找到您的域的地址。但是从理论上讲,您可以在其中添加更多步骤,而不仅仅是这两个步骤。

这里的问题是,该链条可以保留多长时间

if xyz.com使用nameserver ns1.xyz.info
xyz.info使用nameserver ns1.xyz.co
xyz.co使用nameserver ns1.xyz.cc
xyz.cc使用nameserver ns1.xyz.co.uk,...依此类推

...您可能最终需要很长的链来让解析程序解开,才能解析您最初想要的名称。

大概有一个实际的限制-BIND应该只愿意遍历这么多的链接,否则就有可能遭到拒绝服务。但是有官方限制吗?某些步骤是否正式不需要解析器进行?


1
想到的tools.ietf.org/html/rfc1035#section-7.1中的“有限的工作量”部分。关于限制应该是多少,并没有具体说明,但我不知道对此有明确的规定。
哈坎·林奎斯特

另外,您能否详细说明一些实际情况,您认为这是一个问题(在实践中很少会出现)还是纯粹是学术性质的问题?
哈坎·林奎斯特

@HåkanLindqvist我实际上正在构建一个工具,用于查找DNS配置中的问题。这是要寻找的问题之一。问题是,在放弃之前,系统应该递归到寻找更多问题的深度。
tylerl 2014年

1
@tylerl您可能想看看github.com/dotse/dnscheck
珍妮·D

@JennyD是的,有几个类似的项目。但是我正在构建一个希望提供更多细节并且更易于理解的工具。但是,感谢您指出这一点。
tylerl 2014年

Answers:


1
if xyz.com uses nameserver ns1.xyz.info,

在这种情况下,您的本地解析器将首先询问服务器.com(例如a.gtld-servers.net)在哪里可以找到xyz.com域的名称服务器。.com域服务器通常将为xyz.com域的名称服务器的IP地址提供粘合记录。

例如:

$ dig  gmail.com @a.gtld-servers.net 

; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1.1 <<>> gmail.com @a.gtld-servers.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46893
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 5
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;gmail.com.         IN  A

;; AUTHORITY SECTION:
gmail.com.      172800  IN  NS  ns2.google.com.
gmail.com.      172800  IN  NS  ns1.google.com.
gmail.com.      172800  IN  NS  ns3.google.com.
gmail.com.      172800  IN  NS  ns4.google.com.

;; ADDITIONAL SECTION:
ns2.google.com.     172800  IN  A   216.239.34.10
ns1.google.com.     172800  IN  A   216.239.32.10
ns3.google.com.     172800  IN  A   216.239.36.10
ns4.google.com.     172800  IN  A   216.239.38.10

;; Query time: 375 msec
;; SERVER: 192.5.6.30#53(192.5.6.30)
;; WHEN: Thu Jul 10 01:10:57 EST 2014
;; MSG SIZE  rcvd: 181

以我的经验,您所说的“如果域及其名称服务器不共享TLD,则通常无法使用胶水记录”是不正确的。但是,它取决于域的注册服务商提供的数据,并且它们的策略会有所不同。有些要求指定IP。有些人将其留给域所有者。我想我记得在澳大利亚有一个不支持他们的人。如果处理您所在国家/地区域名的注册服务商数量很少,那么在域名空间的那部分也许是正确的,但是对于整个网络而言,这是非典型的。

对于域所有者而言,提供Glue记录当然是一个好习惯,但是有时可以通过名称指定DNS服务器而不用钉住IP的能力被视为提供了灵活性,并且许多域所有者都不了解由此产生的性能问题。

如果您要提供DNS报告工具,那么您是否真的对这种错误配置有绝对的限制?当然,更重要的是,即使出现一个这样的丢失的粘合记录问题,也要报告缺失的粘合记录作为警告。您可能希望至少跟踪一些您提供的间接信息(并报告缺少的粘合记录),但是必须遵循一定的限制。如果DNS报告工具警告前3个左右,我会很高兴,因为我只对将粘合记录添加到我的域中,或将域的DNS提供程序切换到功能更强大的DNS感兴趣。

我对您在BIND上建议的DOS方法表示怀疑,因为BIND会缓存它收集的有关名称服务器位置的信息。攻击者必须建立许多没有胶水的域,然后对它们进行大量查询。设置域名的成本可能会在使用后被注册服务商取消,这很可能使攻击者无法承受。


1
.com和.net都是verisign。他们是例外。cn.wikipedia.org/wiki/Verisign
tylerl 2014年

“例外”似乎涵盖了我使用过的大多数TLD,但是可以肯定的是,在某些领域中没有粘合记录。
mc0e 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.