本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DNSSEC为域进行配置
攻击者有时会拦截DNS查询并将自己的 IP 地址返回给DNS解析器,而不是这些端点的实际 IP 地址,从而劫持网络服务器等互联网端点的流量。然后,系统会将用户路由到攻击者在虚假响应中提供的 IP 地址,例如虚假网站。
您可以通过配置域名系统安全扩展 (DNSSEC)(一种保护流量的协议)来保护您的域名免受此类 man-in-the-middle攻击(称为DNS欺骗或攻击)。DNS
重要
亚马逊 Route 53 支持DNSSEC签名和DNSSEC域名注册。如果要为在 Route 53 中注册的域配置DNSSEC签名,请参阅在 Amazon Route 53 中配置DNSSEC登录。
概述如何DNSSEC保护您的域名
当您DNSSEC为域名进行配置时,DNS解析器会为来自中间解析器的响应建立信任链。信任链从域名的TLD注册机构(您的域名的父区域)开始,到DNS服务提供商的权威域名服务器结束。并非所有DNS解析器都支持DNSSEC。只有支持签名或真实性验证的解析器才能DNSSEC执行任何签名或真实性验证。
以下是您如何DNSSEC为注册到 Amazon Route 53 的域名进行配置,以保护您的互联网主机免受DNS欺骗,为清楚起见进行了简化:
使用DNS服务提供商提供的方法,使用非对称 key pair 中的私钥在托管区域中对记录进行签名。
重要
Route 53 支持DNSSEC签DNSSEC名和域名注册。要了解更多信息,请参阅 在 Amazon Route 53 中配置DNSSEC登录。
向域注册商提供密钥对中的公有密钥,并指定用于生成密钥对的算法。域名注册商将公钥和算法转发给顶级域名的注册机构 (TLD)。
有关如何为向 Route 53 注册的域执行此步骤的信息,请参阅 为域添加公有密钥。
配置完成后DNSSEC,以下是它如何保护您的域名免受DNS欺骗:
例如,通过浏览网站或发送电子邮件来提交DNS查询。
请求被路由到DNS解析器。解析程序负责根据请求向客户端返回相应的值,例如,运行 Web 服务器或电子邮件服务器的主机的 IP 地址。
-
如果由于其他人已经提交了相同的DNS查询而将 IP 地址缓存在DNS解析器上,并且解析器已经获得了该值,则解析器会将 IP 地址返回给提交请求的客户端。然后,客户端将使用该 IP 地址来访问主机。
如果 IP 地址未缓存在DNS解析器上,则解析器会在TLD注册表中向您域名的父区域发送请求,该请求会返回两个值:
Delegation Signer (DS) 记录,这是与用于签署记录的私有密钥对应的公有密钥。
域的授权名称服务器的 IP 地址。
解DNS析器将原始请求发送给另一个DNS解析器。如果该解析器没有 IP 地址,它将重复该过程,直到解析器将请求发送到您的DNS服务提供商的域名服务器。该名称服务器将返回两个值:
域的记录,如 example.com。其中通常包含主机的 IP 地址。
记录的签名,是在配置时创建的DNSSEC。
解DNS析器使用您提供给域名注册商的公钥和转发给注册机构的TLD注册商来做两件事:
建立信任链。
验证来自DNS服务提供商的签名响应是否合法,且未被攻击者的错误响应所取代。
如果响应是真实的,解析程序会将该值返回给提交请求的客户端。
如果无法对响应进行验证,解析程序将向用户返回错误。
如果域的TLD注册管理机构没有该域的公钥,则解析器会使用从DNS服务提供商那里得到的响应来响应DNS查询。
为域进行配置的先决条件DNSSEC和上限
要DNSSEC为域进行配置,您的域名和DNS服务提供商必须满足以下先决条件:
的注册表TLD必须支持DNSSEC。要确定您的注册表是否TLD支持DNSSEC,请参阅可向 Amazon Route 53 注册的域。
该域的DNS服务提供商必须支持DNSSEC。
重要
Route 53 支持DNSSEC签DNSSEC名和域名注册。要了解更多信息,请参阅 在 Amazon Route 53 中配置DNSSEC登录。
在将域DNSSEC的公钥添加到 Route 53 之前,必须向域的DNS服务提供商进行配置。
您可以向域添加的公钥数量取决于该域TLD的公钥数量:
.com 和 .net 域 — 最多 13 个密钥
所有其它域 — 最多 4 个密钥
为域添加公有密钥
在轮换密钥或DNSSEC为域启用密钥时,请在向该域的DNS服务提供商DNSSEC进行配置后执行以下步骤。
为域添加公有密钥
如果您尚未向DNS服务提供商DNSSEC进行配置,请使用服务提供商提供的方法进行配置DNSSEC。
登录 Amazon Web Services Management Console 并打开 Route 53 控制台,网址为https://console.aws.amazon.com/route53/
。 在导航窗格中,选择 Registered domains。
选择要为其添加密钥的域的名称。
在DNSSEC密钥选项卡中,选择添加密钥。
指定以下值:
- 密钥类型
选择是要上传密钥签名密钥 (KSK) 还是要上传区域签名密钥 ()。ZSK
- 算法
选择您用来为托管区域签署记录的算法。
- 公有密钥
指定用于DNSSEC与DNS服务提供商配置的非对称密钥 pair 中的公钥。
请注意以下几点:
指定公有密钥,而不是摘要。
您必须以 base64 格式指定密钥。
选择 添加。
注意
一次只能添加一个公有密钥。如果您需要添加更多密钥,请等待,直至收到来自 Route 53 的确认电子邮件。
当 Route 53 收到来自注册机构的响应时,我们会向域的注册联系人发送电子邮件。该电子邮件将确认已将公有密钥添加到注册结构的域或解释无法添加密钥的原因。
删除域的公有密钥
在轮换密钥或禁DNSSEC用域名时,请先使用以下步骤删除公钥,然后再向DNS服务提供商禁用DNSSEC。请注意以下几点:
如果您要轮换公有密钥,我们建议您在添加新公有密钥之后最多等待 3 天,再删除旧私有密钥。
如果您要禁用DNSSEC,请先删除该域的公钥。我们建议您最多等待三天,然后再禁DNSSEC用该域的DNS服务。
重要
如果已DNSSEC为域启用而您禁DNSSEC用该DNS服务,则支持的DNS解析器DNSSEC将向客户端返回SERVFAIL
错误,并且客户端将无法访问与该域关联的终端节点。
删除域的公有密钥
登录 Amazon Web Services Management Console 并打开 Route 53 控制台,网址为https://console.aws.amazon.com/route53/
。 在导航窗格中,选择 Registered domains。
选择要从中删除密钥的域的名称。
在DNSSEC密钥选项卡中,选择要删除的密钥旁边的单选按钮,然后选择删除密钥。
在 “删除DNSSEC密钥” 对话框中,在文本框中输入 d elete 以确认要删除密钥,然后选择 “删除”。
注意
一次只能删除一个公有密钥。如果您需要删除更多密钥,请等待,直至收到来自 Amazon Route 53 的确认电子邮件。
当 Route 53 收到来自注册机构的响应时,我们会向域的注册联系人发送电子邮件。该电子邮件将确认已将公有密钥从注册结构的域中删除或解释无法删除密钥的原因。