Era*_*rin 48 domain-name-system a-record dns-hosting domain-name dns-zone
当我注册一个新域时,我会通过在注册商的设置中为其分配域名服务器来将其发送给我的托管服务提供商。例如,使用 Digital Ocean,我输入以下内容:
ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com
Run Code Online (Sandbox Code Playgroud)
然后我在我的服务器的 A 记录中添加域设置。我突然想到同一托管服务提供商的任何其他人都可以使用我拥有的域添加 A 记录。
有什么可以阻止这种情况发生吗?如果使用同一个域名服务器的 2 个不同的服务器尝试通过 A 记录为自己分配一个域,那么当您在浏览器中输入该域时,该域实际上会解析到哪里?什么可以防止同一 DNS 服务器上的域名冲突?
Wes*_*ley 60
别介意下面的评论部分,也别介意编辑历史中以前的答案。在与朋友(谢谢@joeQwerty、@Iain 和@JourneymanGeek)进行了大约一个小时的交谈之后,经过一些愉快的黑客攻击,我们深入了解了您的问题和整体情况。抱歉,一开始的鲁莽和完全误解了情况。
让我们逐步完成整个过程:
wesleyisaderp.com
在 NameCheap.com 上购买。ns1.digitalocean.com
和ns2.digitalocean.com
。wesleyisaderp.com
到wesleyisbetterthanyou.com
.我和一些朋友刚刚玩了这个确切的场景,是的,它有效。如果@JoeQwerty 购买了一个域并将其指向 Digital Ocean 名称服务器,但我已经将该区域添加到我的帐户中,那么我就是区域主并且可以随心所欲地使用它。
但是考虑到有人必须首先将区域添加到他们的 DNS 帐户,然后您必须将您的 NS 记录指向同一主机的名称服务器,以防发生任何恶意事件。此外,作为域所有者,您可以随时切换 NS 记录并将解析从坏区主机移开。
至少可以说,这种情况发生的可能性有点低。据说,从统计学上讲,你可以洗一副 52 张扑克牌,然后得到一个其他人从未得到过的顺序,也没有其他人会得到。我认为这里存在同样的推理。有人利用它的可能性非常低,而且存在更好的捷径,它可能不会在野外偶然发生。
此外,如果您在注册商处拥有一个域,并且有人碰巧在与您发生冲突的 Digital Ocean 这样的提供商上创建了一个区域,我敢肯定,如果您提供所有权证明,他们会询问创建该域的人zone 在他们的帐户中删除它,因为它没有存在的理由,因为他们不是域名所有者。
第一个拥有区域的人,例如 Digital Ocean,将是控制它的人。您不能在同一个 DNS 基础架构上拥有多个相同的区域。例如,使用上面这些愚蠢的名称,如果我将 wesleyisaderp.com 作为 Digital Ocean 上的一个区域,则 Digital Ocean 的 DNS 基础设施上的其他任何人都无法将其添加到他们的帐户中。
这是有趣的部分:我实际上真的将 wesleyisaderp.com 添加到我的 Digital Ocean 帐户!继续尝试将其添加到您的。它不会伤害任何东西。
因此,您无法向 wesleyisaderp.com 添加 A 记录。都是我的。
正如@Iain 在下面指出的那样,我上面的第 4 点实际上太冗长了。我根本不需要等待或策划或计划。我可以在一个帐户中创建数千个区域,然后坐等。从技术上讲。如果我创建了数千个域,然后等待它们注册,然后希望它们使用我设置了区域的 DNS 主机……也许我可以做点坏事?也许?但可能不是?
注意 Digital Ocean 和 NameCheap 不是唯一的,与本场景无关。这是正常行为。他们在各方面都无可指责。我只是使用它们,因为这是给出的示例,它们是非常知名的品牌。
Jen*_*y D 32
除了韦斯利的出色回答之外,我想补充一点,已经有一个解决方案可以防止这种情况发生。它被称为 DNSSEC。
基本原理是这样的:
wesleyisaderp.com
在这里使用著名的名字,只是因为。).com
.的根服务器。)再次,当您使用自己的用户名/密码登录时上传组合,因此它连接到您的域而不是其他人的域。wesleyisbetterthanyou.com
,他的记录将不会被 .com 根域服务器接受,因为它们没有使用正确的密钥进行签名。如果您的 DNS 托管服务提供商很聪明,他们会立即检查,甚至不会允许他尝试向该域添加记录,除非他有正确的私钥。(在 Wesley 描述的原始案例中,主要错误是 Digital Ocean 在允许某人为其设置 DNS 记录之前没有验证域的所有权。不幸的是,他们并不孤单;我知道至少一位瑞典注册商有同样的问题。)
只要您在告诉注册商使用他们的名称服务器之前在 DigitalOcean 上声明域的所有权(即将其与您的帐户相关联),您就可以了。
如果有人已经将您的域与他们的帐户相关联,您会在 DigitalOcean 名称服务器成为权威之前发现。如果发生这种情况,请与 DigitalOcean 讨论如何将该人从其帐户中删除。
根据最佳实践,{ns1,ns2,ns3}.DigitalOcean.com 不充当托管在别处的域的递归解析器。如果他们这样做了,并且如果 DigitalOcean 托管的服务器将这些服务器用作通用解析器,那么问题就会大得多。尽管众所周知这是不好的做法,但找到错误的托管服务提供商可能并不难,这可能会导致滥用。
归档时间: |
|
查看次数: |
9359 次 |
最近记录: |