禁用DNSSEC签名 - Amazon Route 53
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

禁用DNSSEC签名

在 Route 53 中禁用DNSSEC签名的步骤各不相同,具体取决于您的托管区域所属的信任链。

例如,您的托管区域可能具有包含 Delegation Signer (DS) 记录的父区域,作为信任链的一部分。您的托管区域本身也可能是已启用DNSSEC签名的子区域的父区域,这是信任链的另一部分。在采取措施禁用DNSSEC签名之前,请调查并确定托管区域的完整信任链。

禁用签名时,必须谨慎撤消托管区域中允许DNSSEC签名的信任链。要从信任链中删除托管区域,请删除包含此托管区域的信任链的所有 DS 记录。这意味着您必须按顺序执行以下操作:

  1. 删除此托管区域对于属于信任链一部分的子区域具有的所有 DS 记录。

  2. 从父区域删除 DS 记录。如果您具有信任岛(父区域中没有 DS 记录,此区域中的子区域没有 DS 记录),则可以跳过此步骤。

  3. 如果无法删除 DS 记录,为了从信任链中删除该区域,请从父区域中删除 NS 记录。有关更多信息,请参阅 为域添加或更改名称服务器和粘附记录

以下增量步骤允许您监控各个步骤的有效性,以避免您的区域出现DNS可用性问题。

禁用DNSSEC签名
  1. 监控区域可用性。

    您可以监控区域以了解域名的可用性。这可以帮助您解决在启用DNSSEC签名后可能需要回退的任何问题。您可以使用查询日志记录来监控流量最多的域名。有关设置查询日志记录的更多信息,请参阅 监控 Amazon Route 53

    可以通过 Shell 脚本或付费服务完成监控。但是,其不应作为确定是否需要回滚的唯一信号。由于域名不可用,您也可能会从客户处获得反馈。

  2. 找到当前 DS TTL。

    你可以TTL通过运行以下 Unix 命令来找到 DS:

    dig -t DS example.com example.com

  3. 找出最大的 NS TTL。

    有 2 组 NS 记录与您的区域相关:

    • 委托 NS 记录 — 这是由父区域持有的您的区域的 NS 记录。您可以通过运行以下 Unix 命令找到此记录:

      首先找到父区域的 NS(如果您的区域为 example.com,则父区域为 com):

      dig -t NS com

      选择一个 NS 记录,然后运行以下命令:

      dig @one of the NS records of your parent zone -t NS example.com

      例如:

      dig @b.gtld-servers.net. -t NS example.com

    • 区内 NS 记录 — 这是您的区域中的 NS 记录。您可以通过运行以下 Unix 命令找到此记录:

      dig @one of the NS records of your zone -t NS example.com

      例如:

      dig @ns-0000.awsdns-00.co.uk. -t NS example.com

      请注意两个区域TTL的最大值。

  4. 从父区域删除 DS 记录。

    请与父区域拥有者联系以删除 DS 记录。

    回滚:重新插入 DS 记录,确认 DS 插入有效,然后等待最大 NS(不是 DS),TTL然后所有解析器才会重新开始验证。

  5. 确认删除 DS 是否有效。

    如果父区域在 Route 53 DNS 服务上,则父区域所有者可以通过确认完全传播GetChangeAPI。

    否则,您可以定期检查 DS 记录的父区域,然后再等 10 分钟,以提高完整传播 DS 记录删除的可能性。请注意,一些注册商计划了 DS 删除,例如,每天一次。

  6. 等待 DS TTL。

    等待直到所有解析程序缓存中的 DS 记录过期。

  7. 禁用DNSSEC签名并停用密钥签名密钥 ()。KSK

    CLI

    致电DisableHostedZoneDNSSEC然后 DeactivateKeySigningKeyAPIs.

    例如:

    aws --region us-east-1 route53 disable-hosted-zone-dnssec \ --hosted-zone-id $hostedzone_id aws --region us-east-1 route53 deactivate-key-signing-key \ --hosted-zone-id $hostedzone_id --name $ksk_name
    Console

    禁用DNSSEC签名

    1. 登录 Amazon Web Services Management Console 并打开 Route 53 控制台,网址为https://console.aws.amazon.com/route53/

    2. 在导航窗格中,选择托管区域,然后选择要禁用DNSSEC签名的托管区域。

    3. 在 “DNSSEC签名” 选项卡上,选择 “禁用DNSSEC签名”。

    4. 在 “禁用DNSSEC签名” 页面上,根据您要禁用DNSSEC签名的区域的场景,选择以下选项之一。

      • 仅限父区域 — 此区域具有带有 DS 记录的父区域。在这种情况下,您必须删除父区域的 DS 记录。

      • 仅限子区域 — 此区域具有包含一个或多个子区域的信任链的 DS 记录。在这种情况下,您必须删除区域的 DS 记录。

      • 父区域和子区域 — 此区域包含一个或多个子区域的信任链的 DS 记录以及具有 DS 记录的父区域。对于此场景,请执行以下操作:

        1. 删除区域的 DS 记录。

        2. 删除父区域的 DS 记录。

        如果您具有信任岛,可跳过本步骤。

    5. 确定您在步骤 4 中删除的每个 DS 记录的内容。TTL ,请确保最长的TTL期限已过期。

    6. 选中复选框以确认您已按顺序执行步骤。

    7. 在字段中键入 disable,如图所示,然后选择 Disable(禁用)。

    停用密钥签名密钥 () KSK

    1. 登录 Amazon Web Services Management Console 并打开 Route 53 控制台,网址为https://console.aws.amazon.com/route53/

    2. 在导航窗格中,选择托管区域,然后选择要停用密钥签名密钥 () KSK 的托管区域。

    3. 在 “密钥签名密钥” (KSKs) 部分中,选择KSK要停用的密钥,然后在 “操作” 下选择 “编辑”,将KSK状态设置为 “非活动” KSK,然后选择 “保存”。KSK

    回滚:致电ActivateKeySigningKey和. EnableHostedZoneDNSSECAPIs

    例如:

    aws --region us-east-1 route53 activate-key-signing-key \ --hosted-zone-id $hostedzone_id --name $ksk_name aws --region us-east-1 route53 enable-hosted-zone-dnssec \ --hosted-zone-id $hostedzone_id
  8. 确认禁用区域签名是否有效。

    使用EnableHostedZoneDNSSEC()呼叫中的 ID 进行运行 GetChange,确保所有 Route 53 DNS 服务器都已停止对响应进行签名(status =INSYNC)。

  9. 注意名称解析。

    应注意解析程序验证您的区域时没有导致问题。还要考虑 1-2 周客户向您报告问题所需的时间。

  10. (可选)清除。

    如果您不想重新启用签名,则可以清KSKs理DeleteKeySigningKey并删除相应的客户托管密钥以节省成本。