DNSSEC检测

Test whether a domain is protected by DNSSEC: we verify the DS record at the parent against the zone's DNSKEYs and check that validating resolvers accept its answers.

试试: cloudflare.com, ietf.org, dnssec-failed.org (故意配置错误), google.com
cloudflare.com 已启用 DNSSEC 且验证有效验证型解析器会对该域名的应答进行认证(已设置 AD 标志)。

DS 记录(位于上级区域)

密钥标签算法摘要与某个 DNSKEY 匹配
2371ECDSA P-256/SHA-256SHA-256
32996839A6D808AFE3EB4A795A0E6A7A39A76...
是

DNSKEY 记录(位于本区域)

密钥标签角色算法标志
34505ZSKECDSA P-256/SHA-256256
2371KSKECDSA P-256/SHA-256257

什么是 DNSSEC?

DNS 在设计时没有任何办法检查应答是否真实,这使得缓存投毒和欺骗攻击成为可能。DNSSEC(DNS Security Extensions,DNS 安全扩展)为 DNS 记录添加了数字签名。区域会把自己的公钥发布为 DNSKEY 记录,并用 RRSIG 为每个记录集签名。上级区域(例如 .com)会发布一条 DS 记录,其中包含子区域密钥签名密钥的哈希。沿着 DS → DNSKEY → RRSIG 的链接一路向上直到根区,就形成了验证型解析器可以验证的信任链。阅读我们的 DNSSEC 指南。

本检测工具会验证什么

  1. 上级区域的 DS:注册局是否为该域名发布了 DS 记录。
  2. 区域内的 DNSKEY:已发布的密钥、它们的角色(KSK 或 ZSK)和算法。
  3. DS ↔ DNSKEY 匹配:我们自己重新计算每个密钥的标签和摘要,并确认 DS 记录指向的是一个真实存在的密钥。
  4. 实时验证:我们向验证型解析器(Cloudflare 1.1.1.1)查询该域名,检查已认证数据(AD)标志,以及解释失败原因的扩展 DNS 错误(如有)。

如何启用 DNSSEC

  1. 在您的 DNS 托管服务商处开启 DNSSEC 签名。大多数主流 DNS 服务商只需点击一下即可完成。
  2. 复制它们提供给您的 DS 记录(密钥标签、算法、摘要类型和摘要)。
  3. 把它添加到域名注册商的 DNSSEC 设置中。如果注册商同时托管您的 DNS,有些注册商会自动完成这一步。
  4. 等待上级区域的 TTL 过期,然后再次运行此检测。
要更换 DNS 服务商?请在切换名称服务器之前先在域名注册商处删除 DS 记录,否则旧的 DS 将与新服务商的密钥不匹配,使用验证型解析器的用户将无法解析您的整个域名。

常见问题

DNSSEC 会加密 DNS 吗?

不会。DNSSEC 证明应答是真实的,但不会隐藏应答。加密来自 DNS-over-HTTPS 或 DNS-over-TLS。

应该使用哪种算法?

采用 SHA-256 的 ECDSA P-256(算法 13)是现代的默认选择:体积小、速度快,并且得到广泛支持。在支持的情况下,Ed25519(算法 15)也很好。

为什么有些大型网站不使用 DNSSEC?

出于运维风险和复杂性的考虑,尤其是对于大型的多服务商部署。DNSSEC 的采用率因顶级域和服务商而差异很大。

更新于

已复制到剪贴板