为域配置 DNSSEC
攻击者有时会通过拦截 DNS 查询并将其自己的 IP 地址返回给 DNS 解析器而不是这些端点的实际 IP 地址来劫持互联网端点(例如 Web 服务器)的流量。然后,用户被路由到攻击者在欺骗响应中提供的 IP 地址,例如,虚假网站。
您可以通过配置域名系统安全扩展 (DNSSEC)(一种用于保护 DNS 流量的协议)来保护您的域免受这种类型的攻击(称为 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 以保护您的 Internet 主机免受 DNS 欺骗的方法,为清楚起见进行了简化:
- 使用您的 DNS 服务提供商提供的方法,使用非对称密钥对中的私钥对托管区域中的记录进行签名。
- 将密钥对中的公钥提供给您的域注册商,并指定用于生成密钥对的算法。域注册商将公钥和算法转发给顶级域 (TLD) 的注册机构。
有关如何对您在 Route 53 中注册的域执行此步骤的信息,请参阅 为域添加公钥。
配置 DNSSEC 后,它可以保护您的域免受 DNS 欺骗:
- 提交 DNS 查询,例如,通过浏览网站或发送电子邮件。
- 请求被路由到 DNS 解析器。解析器负责根据请求向客户端返回适当的值,例如,运行 Web 服务器或电子邮件服务器的主机的 IP 地址。
- 如果 IP 地址缓存在 DNS 解析器上(因为其他人已经提交了相同的 DNS 查询,并且解析器已经获得了值),解析器将 IP 地址返回给提交请求的客户端。然后客户端使用 IP 地址访问主机。
如果 IP 地址未缓存在 DNS 解析器上,则解析器会在 TLD 注册中心向您的域的父区域发送请求,该请求会返回两个值: - DNS 解析器将原始请求发送到另一个 DNS 解析器。如果该解析器没有 IP 地址,它会重复该过程,直到解析器将请求发送到您的 DNS 服务提供商处的名称服务器。名称服务器返回两个值:
- DNS 解析器使用您提供给域注册商(以及转发给 TLD 注册机构的注册商)的公钥来做两件事:
- 如果响应是真实的,则解析器将值返回给提交请求的客户端。
如果无法验证响应,则解析器会向用户返回错误。
如果域的 TLD 注册机构没有域的公钥,则解析器会使用从 DNS 服务提供商处获得的响应来响应 DNS 查询。
为域配置 DNSSEC 的先决条件和最大值
要为域配置 DNSSEC,您的域和 DNS 服务提供商必须满足以下先决条件:
- TLD 的注册机构必须支持 DNSSEC。要确定您的 TLD 的注册表是否支持 DNSSEC,请参阅 您可以向 Amazon Route 53 注册的域。
- 域的 DNS 服务提供商必须支持 DNSSEC。
- 在将域的公钥添加到 Route 53 之前,您必须使用域的 DNS 服务提供商配置 DNSSEC。
- 您可以添加到域的公钥数量取决于域的 TLD:
为域添加公钥
当您轮换密钥或为域启用 DNSSEC 时,请在使用域的 DNS 服务提供商配置 DNSSEC 后执行以下过程。
为域添加公钥
- 如果您尚未使用您的 DNS 服务提供商配置 DNSSEC,请使用您的服务提供商提供的方法来配置 DNSSEC。
- 登录 AWS 管理控制台并在 https://console.aws.amazon.com/route53/打开 Route 53 控制台
. - 在导航窗格中,选择Registered domain。
- 选择要为其添加密钥的域的名称。
- 在DNSSEC 状态字段中,选择Manage keys。
- 指定以下值:
- 选择添加。
- 当 Route 53 收到来自注册表的响应时,我们会向域的注册联系人发送一封电子邮件。该电子邮件要么确认公钥已添加到注册表中的域,要么解释为什么无法添加密钥。
删除域的公钥
当您轮换密钥或为域禁用 DNSSEC 时,请使用以下过程删除公共密钥,然后再通过 DNS 服务提供商禁用 DNSSEC。请注意以下事项:
- 如果您正在轮换公钥,我们建议您在添加新公钥后最多等待三天以删除旧公钥。
- 如果您要禁用 DNSSEC,请先删除域的公钥。我们建议您最多等待三天,然后再通过域的 DNS 服务禁用 DNSSEC。
如果为域启用了 DNSSEC 并且您使用 DNS 服务禁用了 DNSSEC,则支持 DNSSEC 的 DNS 解析器将向SERVFAIL
客户端返回错误,并且客户端将无法访问与域关联的端点。
删除域的公钥
- 登录 AWS 管理控制台并在 https://console.aws.amazon.com/route53/打开 Route 53 控制台
. - 在导航窗格中,选择Registered domain。
- 选择要从中删除密钥的域的名称。
- 在DNSSEC 状态字段中,选择Manage keys。
- 找到要删除的密钥,然后选择Delete。
- 当 Route 53 收到来自注册表的响应时,我们会向域的注册联系人发送一封电子邮件。该电子邮件要么确认公钥已从注册表中的域中删除,要么解释为什么无法删除该密钥。