在 Amazon Route53 中保护 DNS 子域委派

在 Amazon Route53 中保护 DNS 子域委派

我们公司拥有该域名example.com。我们有一个合作伙伴,我们想将子域名委托给他sub.example.com。他们想使用亚马逊的 Route53 DNS 服务来管理这个区域。

我认为AWS 文档

  • sub.example.com我们的合作伙伴必须创建一个名为Route53 的DNS 区域。
  • 然后,我们必须将子域的 NS 记录更新sub.example.com到我们合作伙伴的 DNS 服务名称服务器。

好了,子域名已委托。

此过程意味着,在 Route53 中创建 DNS 区域会将该区域“注册”在 Route53 的一个(或多个)名称服务器中,无论该域的 NS 记录是否实际指向这些名称服务器(因为该区域是创建的NS 记录)。

现在,假设亚马逊的 Route53 DNS 服务只有 1 个名称服务器(以下推理可以轻松扩展到 N 个名称服务器)。如果另一家公司已经创建了自己的sub.example.com区域,当我的合作伙伴尝试为自己声明 DNS 区域时会发生什么他?

当然,DNS区域不能在两家公司之间共享!那么Route53如何降低恶意公司抢注DNS区域的风险并阻止其他人创建自己的DNS区域呢?

答案1

正是您上面描述的 NS 代表团保护您免受虐待。

如果我是 DNS 客户端并且想要查找 xxx.sub.example.com,那么原则上我会执行以下操作:

  1. 我检查了我配置的根名称服务器列表;
  2. 我向其中一个根名称服务器请求 .com 的名称服务器;
  3. 我向 .com 服务器请求 example.com 的名称服务器;
  4. 我向 example.com 名称服务器询问 sub.example.com 的名称服务器;
  5. 然后我要求该名称服务器解析xxx.sub.example.com。

因此,我可以构建一个邪恶的名称服务器,为 sub.example.com 域提供错误的答案,但步骤 4(由您控制​​)意味着没有真正的客户端会打电话给我。(这不是 Route53 特有的;只是 DNS 的工作原理)

答案2

经过进一步调查,我发现并非所有 DNS 服务都以相同的方式处理 DNS 区域冲突。

OVH 会阻止客户创建另一个客户已在其名称服务器中声明的 DNS 区域。任何 OVH 客户都可能滥用此功能,因为他们可以创建 DNS 区域并阻止任何其他 OVH 客户稍后声明同一区域。

Amazon Route53 拥有多个名称服务器,因此他们可以保证不同客户创建的两个相同 DNS 区域不会在同一个名称服务器中声明。这可以通过为他们拥有的每个名称服务器组创建 1 个 AWS 账户,并在每个账户中声明区域来以同样的方式被滥用,从而“填满”所有名称服务器并阻止其他 AWS 账户创建相同的区域。尽管这可能很难设置,具体取决于 AWS 拥有的名称服务器的数量。

我不确定目前是否有标准方法可以防止此类滥用。我能想到的 DNS 服务的唯一解决方法是在创建新区域时将客户 ID 包含在名称服务器域中,这样不同的客户在创建同一区域时就不会引起冲突。这看起来不像是 DNS 服务实际会做的事情。

相关内容