本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
防止 Route 53 中悬挂委派记录
您可以使用 Route 53 通过创建 NS 记录将流量路由到子域。当这些 NS 记录指向 Route 53 名称服务器时,预计这些名称服务器与对子域具有权威性的托管区的委托集中的名称服务器相匹配。如果这些 NS 记录未指向正确的域名服务器,则会暴露风险,攻击者可以利用并控制子域。这些被称为悬挂的 NS 记录。
例如,当删除子域的 Route 53 托管区时,其 NS 记录可能会悬挂在父域中。发生这种情况时,攻击者可以通过在已删除区域的名称服务器上创建新的托管区来劫持子域。Route 53 试图通过跟踪子域委托集对来防止这种情况,并且在删除悬挂的 NS 记录之前,不允许在这些名称服务器上创建子域的任何新区域。
但是,由于 NS 记录的配置错误,仍可能出现悬挂的 NS 记录。为了降低这种风险,我们建议您采取以下措施:
确保子域的权威性 Route 53 托管区的 apex NS 记录与为托管区设置的委托相匹配。您可以通过 Route 53 控制台或 Amazon CLI 找到托管区的委托集。有关更多信息,请参阅 列出记录 或 get-hosted-zone
。 为 Route 53 托管区启用 DNSSEC 签名。DNSSEC 会验证 DNS 答案是否来自权威来源,从而有效防止风险。有关更多信息,请参阅在 Amazon Route 53 中配置 DNSSEC 签名。
将不托管子域的名称服务器从父托管区的子域 NS 记录中移除。
- 或 -
将名称服务器替换为子域的权威 Route 53 托管区的委托集中的四个名称服务器。这也有效地降低了风险。
示例
在以下示例中,我们假设您有一个父域 parent-domain.com
和一个子域 sub-domain.parent-domain.com
,并展示了三种存在悬挂 NS 记录的场景以及如何降低风险。
- 方案 1:
在父托管区
parent-domain.com
中,您可以使用四个名称服务器 <ns1>、<ns2>、<ns3> 和 <ns4> 为sub-domain.parent-domain.com
创建 NS 记录。权威子域的名称服务器是 <ns5>、<ns6>、<ns7> 和 <ns8>。因此,<ns1>、<ns2>、<ns3> 和 <ns4> 都是悬挂 NS 记录,这暴露了攻击者可以控制 sub-domain.parent-domain.com 的风险。要降低风险,请将子域 NS 记录替换为 <ns5>、<ns6>、<ns7> 和 <ns8>。- 方案 2:
parent-domain.com
有sub-domain.parent-domain.com
NS 记录指向 <ns1>、<ns2>、<ns3>、<ns4>、<ns5>、<ns6>、<ns7> 和 <ns8>。权威子域托管区的名称服务器是 <ns5>、<ns6>、<ns7> 和 <s8>。因此,<ns1>、<ns2>、<ns3> 和 <ns4> 同样是悬挂 NS 记录。要降低风险,请从 NS 记录中删除 <ns1>、<ns2>、<ns3> 和 <ns4>。- 场景 3:
您有一个可重用的委托集 <ns1>、<ns2>、<ns3> 和 <ns4>。您在父区域中创建 NS 记录,并将子域委托给可重用的委托集中的这些名称服务器。但是,您尚未在可重用的委托集中创建子域区域。因此,<ns1>、<ns2>、<ns3> 和 <ns4> 是悬挂 NS 记录。为了降低风险,请使用可重用的委托集创建子域托管区。