DNS 是否允许第三方注册子域?

信息安全 dns dns 欺骗
2021-08-28 11:49:44

我有一个依赖于 DNS 查找规则集的问题。

假设人 A 拥有该站点https://www.example.com与 A 没有关联的另一个人 B 尝试https://sub.example.com在本地注册表中注册。注册表会允许吗?还是有一种隐含的理解,这些域名是相互关联的,第三方无法获取?

我问的原因是我的大学https://www.sydney.edu.au应该在一封由作者撰写的电子邮件中给我发了一个链接,notifications@instructure.com这个链接将我定向到https://canvas.sydney.edu.au/.

这对我来说看起来很糟糕。但也许 DNS 规则只允许https://www.sydney.edu.au 拥有关联的域https://canvas.sydney.edu.au

否则,如果任何人(例如坏人)可以注册https://badsite.sydney.edu.au并且 DNS 允许它通过......那么 DNS 世界中就会出现一个漏洞,它是为坏人制造的。

4个回答

简短回答:,未经域所有者授权,第三方不能注册子域。


DNS 是一个分层系统,在主机名中从右到左排序。注册了给定域名的人控制了该域的权威名称服务器。这意味着该域或其子域之一的所有查询(未从缓存中回答)将被定向到该组织的 DNS 服务器,从而使它们能够完全控制所有子域。当然,如果他们愿意,他们可以选择将此控制权委托给其他人。

例如,如果我要注册 reirab.com,如果有人查询 subdomain.reirab.com(并且不涉及缓存),会发生以下情况:

他们的 DNS 服务器会首先向根服务器询问右侧的第一个域,即 com。他们将返回一个 DNS NS 记录,告诉他们 com 的权威名称服务器。

然后,他们的 DNS 服务器将向 com 权威名称服务器提交一个请求,该请求是从之前对 reirab.com 的请求中发现的。它会再次得到一个 NS 记录响应,告诉它 reirab.com 的权威名称服务器。

他们的 DNS 服务器现在将向 reirab.com 的 subdomain.reirab.com 的权威名称服务器提交请求。由于我将拥有 reirab.com,因此我将完全控制这个权威的名称服务器。它可以是我自己拥有的服务器,也可以是由第三方代表我托管的服务器。唯一可能为该域返回(权威地)的子域是我自己在该权威名称服务器上为其创建记录的子域。其他人注册 reirab.com 子域的唯一方法是让他们要求我为他们设置它,因为我拥有 reirab.com 的权威名称服务器,并且对其子域的所有请求都将通过我的服务器。

如果我确实想将某些子域的控制权委托给其他人,我会以我的注册商将 reirab.com 的控制权委托给我的方式完全相同:使用 NS 记录。通过将 subdomain.reirab.com 的 NS 记录添加到 reirab.com 的权威名称服务器,我可以将 subdomain.reirab.com 及其任何子域的请求权威地定向到该 NS 记录中列出的名称服务器,这将由我授权控制该子域的组织。我可以随时通过删除或更改该 NS 记录来撤销此授权。

顺便说一句,“www”没有被 DNS 特殊处理。它只是其域的权威 DNS 服务器中的另一个主机名。只是按照惯例,我们将该组织的 Web 服务器的主机(A 或 AAAA)记录放在那里。www.exampledomain.com 和 somethingelse.exampledomain.com 的 A 记录很可能位于同一台服务器上:exampledomain.com 的 DNS 服务器。


注意:对于有人从 Internet 请求 DNS 记录的情况,此答案有意简化了一些事情。如果对域的请求来自域的组织内部,则该请求可能会直接由组织的名称服务器解析,而无需通过链上的 root-servers.net、TLD 的名称服务器等。在这种情况下,主机如果组织选择,名称甚至可能解析为不同于从 Internet 解析的内容。

欢迎来到安全!

教育/政府机构的案例是子域的一个特殊案例。基本上,统治互联网顶级名称的 ICANN 将.auTLD 的管理权委托给了澳大利亚政府(为了简单起见)。但由于.eduand .gov(et similia) 出于历史原因归美国所有,澳大利亚和其他一些国家一样,别无选择,只能在.au. 其他例子有.gov.uk.gov.it等等,做出了类似的选择。

如果您使用whoisLinux 工具,您可以找到有趣的信息。我总结了它的输出

:~> whois au
% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object

domain:       AU

organisation: .au Domain Administration (auDA)
address:      Lv 17
address:      1 Collins St
address:      Melbourne VIC 3000
address:      Australia


:~> whois edu.au
Domain Name: EDU.AU
Registry Domain ID: D407400000002449554-AU
Registrar WHOIS Server: whois.auda.ltd
Registrar URL: http://www.afilias.com.au
Last Modified:
Registrar Name: Afilias Australia Pty Ltd

:~> whois sydney.edu.au
Domain Name: SYDNEY.EDU.AU
Registry Domain ID: D407400000000057080-AU
Registrar WHOIS Server: whois.auda.org.au
Registrar URL: https://www.domainname.edu.au
Last Modified: 2018-07-17T00:59:06Z
Registrar Name: EDUCATION SERVICES AUSTRALIA LIMITED

链中的每个主体负责允许各方注册子域。例如,如果您的科学部门想要注册一个子域,他们必须查询Education Services Australia.

实验:尝试usrlocalechelon.edu.au在 GoDaddy 上注册:他们不允许卖给你

实验 2:https ://www.domainname.edu.au/让我注册usrlocalechelon.edu.au41 澳元。在我看来,这看起来太公开了,因为如果您可以支付.edu.au域名费用,您可能会声称自己是澳大利亚的教育机构。

评论:该网站显示了注册的“资格详细信息”步骤,我可能无法注册澳大利亚教育域名,因为我没有在欧盟下注册的权限。我没有费心试图推动向导前进。

实验 3(回答安全问题)

https://www.domainname.edu.au/不允许我注册usrlocalechelon.sydney.edu.au因为

要求申请人具有国家利益和责任,或在多个州或地区获得认可和提供服务

示例域搜索

总结

您永远不能在公共注册商处申请您最喜欢的子子域,因为技术原因需要您通过减一级域的所有者。DNS 是分层的。

但是,如果拥有您的三级或四级域的组织(例如示例中的 sydney.edu.au)在过滤域应用程序方面存在缺陷,那是他们自己的组织问题,而不是 DNS 系统中的缺陷。

DNS 注册商只关心主域的注册,即example.com. 他们不关心任何类似www.example.comwww.math.example.com类似的子域它们完全控制拥有主域的组织,该组织也可能决定将对这些域或其中一些域的控制权委托给其他方。

请注意,主域不一定是,domain.toplevel可以是类似的东西,但也可以是. 有关这些的更多信息,请参阅publicsuffix.orgdomain.publicsuffixpublicsuffixcomco.uk

注册表会允许吗?还是有一种隐含的理解,这些域名是相互关联的,第三方无法获取?

没有技术原因他们不能这样做,但是*。DNS 记录由名称服务器集中管理,记录可以并且确实指向任何方向。dns 记录的基本文本性质几乎要求它如此自由。事实上,这就是为什么欺骗和中间人控制 dns 服务器是一个问题。

也就是说,域名注册管理机构通过合同义务遵守规则。违反这些规则,即允许其他人在未经域“所有者”(承租人)许可的情况下在给定域上注册子域,将冒着与顶级域持有者或 ICANN 签订非常有利可图的合同的风险。因此,难以在别人的域上获得子域的隐含理解仅仅是注册商的财务自身利益。

为了解决这个问题,其他技术,如站点的 ssl 签名、受信任的根证书或 DNSSEC(DNS 安全扩展)非常重要。*DNSSEC 是目前通过端到端加密和 DNS 请求验证来对抗 DNS 解析漏洞的计划。