View a markdown version of this page

为域配置 DNSSEC - Amazon Route 53

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

为域配置 DNSSEC

攻击者有时会通过拦截 DNS 查询并向 DNS 解析程序返回自己的 IP 地址而不是 Internet 端点的实际 IP 地址来劫持发往这些端点的流量。然后,用户被路由到攻击者在欺骗响应中提供的 IP 地址,例如虚假网站。

可以通过配置用于确保 DNS 流量安全的协议 – 域名系统安全扩展 (DNSSEC) 来保护您的域免受此类攻击,即 DNS 欺骗或中间人攻击。

重要

Amazon Route 53 支持将 DNSSEC 签名和 DNSSEC 用于域注册。如果要为使用 Route 53 注册的域配置 DNSSEC 签名,请参阅 在 Amazon Route 53 中配置 DNSSEC 签名

DNSSEC 如何保护域的概览

当您为域配置 DNSSEC 时,DNS 解析程序将为来自中间解析程序的响应建立信任链。该信任链从域 (您的域的父区域) 的 TLD 注册机构开始,至 DNS 服务提供商的授权名称服务器结束。并非所有 DNS 解析程序都支持 DNSSEC。只有支持 DNSSEC 的解析器才会执行签名或真实性检查。

以下是您为在 Amazon Route 53 注册的域名配置 DNSSEC 以保护您的互联网主机免受 DNS 欺骗的方法:

  1. 使用 DNS 服务提供商提供的方法通过非对称密钥对中的私有密钥签署 托管区域内的记录。

    重要

    Route 53 支持将 DNSSEC 签名和 DNSSEC 用于域注册。要了解更多信息,请参阅在 Amazon Route 53 中配置 DNSSEC 签名

  2. 向域注册商提供密钥对中的公有密钥,并指定用于生成密钥对的算法。域名注册商将公钥和算法转发到顶级域 (TLD) 注册管理机构。

    有关如何为向 Route 53 注册的域执行此步骤的信息,请参阅 为域添加公有密钥

在配置 DNSSEC 后,下面介绍如何保护您的域免受 DNS 欺骗:

  1. 提交 DNS 查询,例如通过浏览网站或发送电子邮件消息。

  2. 将请求路由到 DNS 解析程序。解析器根据请求将正确的值返回给客户端,例如 Web 服务器或电子邮件服务器的 IP 地址。

  3. 如果 IP 地址缓存在 DNS 解析器上,则解析器会将 IP 地址返回给客户端。然后,客户端将使用该 IP 地址来访问主机。

    如果 IP 地址未缓存在 DNS 解析器上,则解析器会向 TLD 注册机构的域名父区域发送请求。TLD 注册表返回两个值:

    • Delegation Signer (DS) 记录,这是与用于签署记录的私有密钥对应的公有密钥。

    • 域的授权名称服务器的 IP 地址。

  4. DNS 解析器将请求发送给另一个 DNS 解析器。如果该解析程序没有此 IP 地址,它将重复该过程,直至解析程序将请求发送到位于您的 DNS 服务提供商的名称服务器。该名称服务器将返回两个值:

    • 域的记录,如 example.com。其中通常包含主机的 IP 地址。

    • 您在配置 DNSSEC 时创建的记录的签名。

  5. DNS 解析程序将使用您向域注册商提供的公有密钥(注册商又将其转发给 TLD 注册机构)来执行以下两项操作:

    • 建立信任链。

    • 确认来自 DNS 服务提供商的签名响应合法,并且未被来自攻击者的错误响应替换。

  6. 如果响应是真实的,解析程序会将该值返回给提交请求的客户端。

    如果无法对响应进行验证,解析程序将向用户返回错误。

    如果域的 TLD 注册机构没有用于域的公有密钥,解析程序将使用它从 DNS 服务提供商处获得的响应来响应 DNS 查询。

为域配置 DNSSEC 的先决条件和最大数量

要为域配置 DNSSEC,您的域和 DNS 服务提供商必须满足以下先决条件:

  • TLD 的注册机构必须支持 DNSSEC。要确定 TLD 注册机构是否支持 DNSSEC,请参阅可向 Amazon Route 53 注册的域。

  • 域的 DNS 服务提供商必须支持 DNSSEC。

    重要

    Route 53 支持将 DNSSEC 签名和 DNSSEC 用于域注册。要了解更多信息,请参阅在 Amazon Route 53 中配置 DNSSEC 签名

  • 您必须使用域的 DNS 服务提供商配置 DNSSEC,然后才能将域的公有密钥添加至 Route 53。

  • 可以添加到域的公有密钥的数量取决于该域的 TLD:

    • .com 和 .net 域 — 最多 13 个密钥

    • 所有其它域 — 最多 4 个密钥

为域添加公有密钥

您在轮换密钥或为域启用 DNSSEC 时,请在用域的 DNS 服务提供商配置 DNSSEC 之后执行以下步骤。

为域添加公有密钥
  1. 如果您尚未用 DNS 服务提供商配置 DNSSEC,请使用服务提供商提供的方法来配置 DNSSEC。

  2. 登录 AWS 管理控制台 并打开 Route 53 控制台,网址为https://console.aws.amazon.com/route53/

  3. 在导航窗格中,选择 Registered domains

  4. 选择要为其添加密钥的域的名称。

  5. DNSSEC 密钥选项卡中,选择添加密钥

  6. 指定以下值:

    密钥类型

    选择您要上传密钥签名密钥 (KSK) 还是区域签名密钥 (ZSK)。

    算法

    选择您用来为托管区域签署记录的算法。

    公有密钥

    指定您在使用 DNS 服务提供商配置 DNSSEC 时所使用的非对称密钥对中的公有密钥。

    注意以下几点:

    • 指定公有密钥,而不是摘要。

    • 您必须以 base64 格式指定密钥。

  7. 选择添加

    注意

    一次只能添加一个公有密钥。如果您需要添加更多密钥,请等待,直至收到来自 Route 53 的确认电子邮件。

  8. 当 Route 53 收到来自注册机构的响应时,我们会向域的注册联系人发送电子邮件。该电子邮件将确认已将公有密钥添加到注册结构的域或解释无法添加密钥的原因。

删除域的公有密钥

您在轮换密钥或为域禁用 DNSSEC 时,请使用以下步骤删除公有密钥,然后再用 DNS 服务提供商禁用 DNSSEC。注意以下几点:

  • 如果您要轮换公有密钥,我们建议您在添加新公有密钥之后最多等待 3 天,再删除旧私有密钥。

  • 如果您要禁用 DNSSEC,请先删除域的公有密钥。我们建议您最多等待 3 天,再用域的 DNS 服务禁用 DNSSEC。

重要

如果已为域启用 DNSSEC 并用 DNS 服务禁用 DNSSEC,则支持 DNSSEC 的 DNS 解析程序将向客户端返回 SERVFAIL 错误,客户端将无法访问与该域关联的端点。

删除域的公有密钥
  1. 登录 AWS 管理控制台 并打开 Route 53 控制台,网址为https://console.aws.amazon.com/route53/

  2. 在导航窗格中,选择 Registered domains

  3. 选择要从中删除密钥的域的名称。

  4. DNSSEC 密钥选项卡中,选择您要删除的密钥旁边的单选按钮,然后选择删除密钥

  5. 删除 DNSSEC 密钥对话框中,在文本框中输入 delete 以确认要删除密钥,然后选择删除

    注意

    一次只能删除一个公有密钥。如果您需要删除更多密钥,请等待,直至收到来自 Amazon Route 53 的确认电子邮件。

  6. 当 Route 53 收到来自注册机构的响应时,我们会向域的注册联系人发送电子邮件。该电子邮件将确认已将公有密钥从注册结构的域中删除或解释无法删除密钥的原因。