当我注册一个新的域时,我通过在寄存器的设置中分配它的域名服务器将它发送给我的托管提供商。例如,使用数字海洋,我输入以下内容:
ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com然后在服务器的A记录中添加域设置。我刚刚想到,在同一个主机提供商中的任何其他人都可以添加一个带有我拥有的域的A记录。
有什么能阻止这种情况发生的吗?如果两个使用相同域名服务器的不同服务器试图通过A记录将域分配给自己,那么当您在浏览器中输入该域时,该域将实际解析到何处?是什么防止同一DNS服务器上的域名冲突?
发布于 2015-12-19 06:31:14
不要介意下面的注释部分,也不要介意编辑历史记录中先前的答案。在和朋友们聊了大约一个小时(谢谢你@joeQwerty、@Iain和@JourneymanGeek),以及一些愉快的黑客活动之后,我们彻底了解了你的问题和总体情况。抱歉,一开始就把情况完全误解了。
让我们逐步完成这个过程:
wesleyisaderp.com买NameCheap.com。ns1.digitalocean.com和ns2.digitalocean.com。wesleyisaderp.com到wesleyisbetterthanyou.com。有几个朋友和我刚刚完成了这个方案,是的,很有效。如果@JoeQwerty购买了一个域并将其指向数字海洋名称服务器,但我已经将该区域添加到我的帐户中,那么我就是区域管理员,我可以用它做我想做的事情。
但是,考虑到有人必须首先将区域添加到他们的DNS帐户,然后您必须将您的NS记录指向同一主机的名称服务器,以便发生任何邪恶的事情。此外,作为域所有者,您可以随时切换NS记录,并将分辨率从坏区域主机移开。
至少可以说,这种情况发生的可能性有点低。据说,从统计上说,你可以洗牌52张牌,并得到一个订单,从来没有其他人得到,也没有其他人永远不会。我认为这里也有同样的理由。有人利用这一点的可能性是如此之低,而且有更好的捷径存在,这很可能不会发生在野外偶然。
此外,如果你在注册中心拥有一个域名,而有人碰巧在你遇到的数字海洋这样的提供商上划出了一个区域,我相信如果你提供了所有权证明,他们会要求在他们的账户中创建域名的人删除它,因为它没有理由存在,因为他们不是域名所有者。
呢
第一个拥有一个区域的人,例如数字海洋,将是控制它的人。在同一个DNS基础结构上不能有多个相同的区域。例如,使用上面这些愚蠢的名称,如果我将wesleyisaderp.com作为数字海洋上的一个区域,数字海洋的DNS基础设施上的其他任何人都无法将其添加到他们的帐户中。
有趣的是:我真的把wesleyisaderp.com添加到了我的数字海洋帐户!去吧,试着把它加进你的。不会有任何伤害的。
因此,您不能向wesleyisaderp.com添加A记录。都是我的。
呢?
正如@Iain在下面指出的,我上面的第4点实际上太冗长了。我根本不需要等待、阴谋或计划。我只需在一个帐户中建立数千个区域,然后坐等。从技术上讲。如果我创建了数千个域,然后等待它们注册,然后希望它们使用我设置区域的DNS主机.也许我能做点坏事?也许吧?但很可能不是?
请注意,数字海洋和NameCheap并不是唯一的,并且与此场景无关。这是正常的行为。他们在所有方面都是无可指责的。我只是用了他们,因为这是给出的例子,他们是非常著名的品牌。
发布于 2015-12-19 09:31:05
除了卫斯理出色的回答,我想补充的是,已经有一个解决方案来防止这种情况发生。它叫DNSSEC。
基本内容如下:
wesleyisaderp.com,仅仅是因为。).com的根服务器。)同样,当你用你自己的用户名/密码组合登录时,你会上传这个,所以它是连接到你的域名(S),而不是别人的。wesleyisbetterthanyou.com时,他的记录将不会被.com根域服务器接受,因为它们没有用正确的密钥签名。如果您的DNS主机提供商是聪明的,他们会立即检查,甚至不允许他尝试添加记录到该领域,除非他有正确的私钥。(在Wesley描述的原始案例中,主要错误是Digital在允许某人为其设置DNS记录之前没有验证域的所有权。不幸的是,他们并不是唯一这样的人;我知道至少有一位瑞典注册官也有同样的问题。)
发布于 2015-12-19 10:07:57
只要您在DigitalOcean (即将其与您的帐户相关联)声称对域名拥有所有权,在告诉注册商使用他们的名称服务器之前,您就不会有事。
如果有人已经将您的域名与他们的帐户相关联,您将在DigitalOcean名称服务器变得权威之前找到答案。如果发生这种情况,请与DigitalOcean谈谈如何让这个人从他们的帐户中启动。
根据最佳实践,{ns1、ns2、ns3}.DigitalOcean.com不充当其他托管域的递归解析器。如果是这样的话,如果DigitalOcean托管的服务器使用这些服务器作为通用解决方案,那么就会有一个更大的问题。尽管众所周知,这是一种糟糕的做法,但很可能不难找到错误的托管提供商,这为滥用提供了可能性。
https://serverfault.com/questions/744147
复制相似问题