本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
防止 Route 53 中悬挂委派记录
使用 Route 53,客户可以创建托管区域(例如example.com
)来托管他们的DNS记录。每个托管区域都附带一个 “委托集”,这是一组由四个名称服务器组成的集合,客户可以使用它们在父域中配置 NS 记录。这些 NS 记录可以称为 “委托 NS 记录” 或 “委托记录”。
为了使 R example.com
oute 53 托管区域具有权威性,该域的合法所有者需要通过example.com
域注册商在其 “.com” 父域中配置委托记录。如果客户无法访问在父域中配置的四个域名服务器,例如由于关联的托管区域被删除,则可能造成攻击者可以利用的风险。这被称为 “悬而未决的授权记录” 风险。
在删除托管区域的情况下,Route 53 可防止悬而未决的委托记录风险。删除后,如果使用相同的域名创建新的托管区域,Route 53 将检查指向已删除托管区域的委托记录是否仍存在于父域中。如果是,Route 53 将防止分配任何重叠的域名服务器。这是以下示例中的场景 1。
但是,还有其他悬而未决的委托记录风险,Route 53 无法防范这些风险,如以下示例中的场景 2 和 3 所详述。为了保护自己免受这些更广泛的风险,请确保父 NS 记录与为 Route 53 托管区域设置的授权相匹配。您可以通过 Route 53 控制台或者,找到托管区域的委托集 Amazon CLI。有关更多信息,请参阅列出记录或get-hosted-zone
此外,除了上述最佳实践之外,为 Route 53 托管区域启用DNSSEC签名还可以作为另一层保护。DNSSEC验证DNS答案来自权威来源,从而有效防范这种风险。有关更多信息,请参阅在 Amazon Route 53 中配置DNSSEC登录。
示例
在以下示例中,我们假设您有一个域example.com
及其子域child.example.com
。我们将解释在各种情况下如何创建悬而未决的委托记录,Route 53 如何保护您的域名免受滥用,以及如何有效降低与悬挂的委托记录相关的风险。
- 方案 1:
您可以创建一个
child.example.com
包含四个域名服务器的托管区域:<ns1><ns2>、<ns3>、和<ns4>。您在托管区域中正确设置了委example.com
托,为child.example.com
四个域名服务器<ns1>、<ns2><ns3>、和创建委托 NS 记录<ns4>。如果在不移除中的委托 NS 记录的情况下删除child.example.com
托管区域example.com
,Route 53 会防止<ns1>、<ns2><ns3>、和<ns4>分配给新创建的具有相同域名的托管区域,从而防止委托记录悬而未决的风险。child.example.com
- 方案 2:
与场景 1 类似,但这次是删除托管区域中委托 NS AND 在托管区域中记录的子托管区域
example.com
。但是,您可以在<ns1><ns2><ns3><ns4>不创建子托管区域的情况下重新添加委托 NS 记录、、和。这里<ns1>、、<ns2><ns3>、和<ns4>是悬而<ns1><ns2><ns3><ns4>未决的委托记录,因为 Route 53 移除了阻止、、和分配,现在允许新创建的托管区域使用上述域名服务器。为了降低风险,请<ns1><ns2><ns3><ns4>从委托记录中删除、、和,并且只有在创建了子托管区域后才将其重新添加。- 场景 3:
在这种情况下,您将创建一个 Route 53 可重复使用的委托集,其中包含名称服务器<ns1><ns2><ns3>、、和<ns4>。然后,您将域
example.com
委托给父域中的这些域名服务器.com
。但是,您尚未在可重复使用的委托example.com
集中为创建托管区域。这里、<ns1>、<ns2><ns3>、和<ns4>是悬而未决的委托记录。为了降低风险,请使用带有名称服务器、<ns1>、<ns2><ns3>和的可重复使用的委托集创建托管区域<ns4>。