当我注册一个新域名时,我通过在注册商的设置中为其分配域名服务器,将其发送给我的托pipe服务提供商。 例如,数字海洋,我input以下内容:
ns1.digitalocean.com ns2.digitalocean.com ns3.digitalocean.com
然后我在我的服务器的Alogging中添加域设置。 我想到,在同一托pipe服务提供商的其他人可以添加一个我拥有的域的Alogging。
有什么可以防止这种情况发生吗? 如果使用相同域名服务器的两台不同服务器尝试通过Alogging为自己分配一个域,那么当您在浏览器中input域名时,域名实际上会在哪里parsing? 什么防止在同一台DNS服务器上的域名冲突?
你不介意下面的评论部分,也不介意编辑历史中的以前的答案。 和朋友聊了一个小时后(感谢@joeQwerty,@ Iain和@JourneymanGeek),还有一些快速的黑客攻击,总的来说,我们已经把你的问题和情况都弄清楚了。 对不起,粗暴和误解的情况一开始就完全。
我们一步一步来看看这个过程:
wesleyisaderp.com
,比如NameCheap.com。 ns1.digitalocean.com
和ns2.digitalocean.com
。 wesleyisaderp.com
wesleyisbetterthanyou.com
。 有些朋友和我只是玩了这个确切的场景,是的,它的工作原理。 如果@JoeQwerty购买域名并将其指向Digital Ocean域名服务器,但我已经将该域名添加到我的帐户,那么我是域名主服务器,可以使用我想要的。
然而,考虑到有人必须先将区域添加到他们的DNS帐户,然后你必须把你的NSlogging指向同一主机的名称服务器,以防发生任何恶意事件。 此外,作为域所有者,您可以随时切换NSlogging,并将分辨率从不良区域主机移开。
这种情况发生的可能性有点低。 据说在统计上,你可以洗牌52副扑克牌,并得到一个没有其他人曾经得到的命令,没有其他人会永远。 我想这里也有同样的推理。 有人利用这个机会的可能性非常低,现在有更好的捷径,它可能不会在意外发生。
此外,如果您在注册服务商拥有一个域名,而且某个人碰巧与像Digital Ocean这样的供应商build立了联系,那么我确信,如果您提供所有权certificate,他们会询问制作该域名的人因为没有理由存在,因为他们不是域名所有者。
例如数字海洋上的第一个人将成为控制它的人。 在同一个DNS基础结构上不能有多个相同的区域。 例如,如果使用上面的愚蠢的名字,如果我把wesleyisaderp.com作为数字海洋上的一个区域,那么Digital Ocean的DNS基础设施上的其他人都不能将其添加到他们的帐户中。
以下是有趣的部分:我其实已经将wesleyisaderp.com添加到了我的数字海洋帐户! 继续尝试将其添加到你的。 它不会伤害任何东西。
因此,您无法向wesleyisaderp.com添加Alogging。 这全是我的。
正如@Iain指出的,上面的第4点实际上太冗长了。 我不必等待,也不必计划或计划。 我可以在一个帐户中创build数千个区域,然后坐下来等待。 技术上。 如果我做了成千上万的域名,然后等待他们注册,然后希望他们使用DNS设置我的区域的主机…也许我可以做一些有点不好? 也许? 但可能不是?
请注意,Digital Ocean和NameCheap并不是唯一的,与此情况无关。 这是正常的行为。 他们在各方面都是无可指责的。 我只是用它们,因为这是给出的例子,他们是非常知名的品牌。
除了卫斯理的出色答案外,我想补充一点,已经有一个解决scheme来防止这种情况发生。 这就是所谓的DNSSEC。
基本的是这样的:
wesleyisaderp.com
一起去,只是因为。) .com
的根服务器。)再次,当您使用自己的用户名login时/密码组合,所以它连接到你的域名,而不是别人的。 wesleyisbetterthanyou.com
,他的logging将不会被.com域名服务器接受,因为他们没有用正确的密钥进行签名。 如果您的DNS托pipe提供商是聪明的,他们会检查这个权利,甚至不会允许他尝试添加logging到该域名,除非他有正确的私钥。 (在Wesley所描述的原始案例中,主要的错误是Digital Ocean在允许某人为其设置DNSlogging之前没有validation域名的所有权,但不幸的是,他们并不孤单,至less有一个瑞典注册商的问题相同。)
只要您声明DigitalOcean的域名拥有权(即将其与您的帐户相关联),您就可以罚款,然后再通知注册服务商使用其名称服务器。
如果有人已经将您的域名与他们的账户相关联,那么在DigitalOcean域名服务器成为权威之前,您将会发现它。 如果发生这种情况,请与DigitalOcean讨论如何将其从帐户中删除。
根据最佳实践,{ns1,ns2,ns3} .DigitalOcean.com不会充当其他地方托pipe的域的recursionparsing器。 如果他们这样做,并且DigitalOcean托pipe的服务器使用这些服务器作为通用的parsing器,那么将会有一个更大的问题。 尽pipe这是众所周知的不好的做法,但find托pipe服务提供商可能并不难,因为托pipe服务提供商可能会出错。
我认为这个问题意味着没有人应该使用这样的名字服务器(如Digital Ocean's)作为他们的parsing器,因为任何人都可以为其上的现有域名制作一个域名服务器。 控制域名的争夺是无关紧要的,因为域名所有权可以被容易地certificate,但是有人可以例如将任何不在数字海洋上托pipe的现有域名引导到任何他们想要的地方。
底线:不要信任任何托pipe服务的DNS服务器,这些服务器不需要域名所有权的certificate(例如通过上面build议的方法可以轻松快速地完成:通过在域上添加具有特定值的TXTlogging这就是Microsoft O365和Google所做的)。