KNOWLEDGE ARTICLE

DNSSEC 是什么?

DNS 安全扩展

通过数字签名验证 DNS 响应是否被篡改。

核心解释

DNSSEC 为 DNS 记录增加可验证签名,使解析器能够确认响应来自正确的域名区域,并且在传输过程中没有被修改。它保护的是解析真实性,不负责加密网页内容。

DNSSEC 解决的是哪一种 DNS 风险

普通 DNS 主要负责返回域名记录,本身没有为回答提供端到端的真实性证明。如果递归解析器收到伪造回答并把它写入缓存,后续用户可能被带到错误地址。DNSSEC 在 DNS 数据上增加数字签名,让支持验证的解析器能够确认回答来自对应授权区域,并且数据在传递过程中没有被修改。

DNSSEC 保护的是解析数据的真实性与完整性,不隐藏查询内容,也不加密浏览器与网站之间的通信。访问链路通常还需要 HTTPS 保护页面传输;如果希望减少 DNS 查询被旁观,则属于 DoH、DoT 等加密解析协议的职责。

信任链如何从根延伸到具体域名

  • DNS 根区域发布受信任的起点,顶级域通过 DS 记录保存下级区域密钥的摘要,形成逐级委派关系。
  • 域名区域使用 DNSKEY 公布验证密钥,并用 RRSIG 为 A、MX、TXT 等记录集签名;解析器会检查签名、密钥与上级 DS 是否能够连续对应。
  • 当查询的名称不存在时,NSEC 或 NSEC3 记录提供经过签名的不存在证明,防止攻击者随意伪造 NXDOMAIN。
  • 只要委派、密钥、签名有效期或算法中的任一关键环节断裂,验证解析器就可能返回 SERVFAIL,而不是把无法验证的数据交给用户。
DNSSEC 使用 DS、DNSKEY 与 RRSIG 从根区域建立到具体域名的信任链
DNSSEC 从根到域名的信任阶梯解释 DS、DNSKEY 与 RRSIG 如何逐级形成或断开信任

密钥轮换和配置失误为什么重要

DNSSEC 上线并不是一次性增加 DS 记录。运营方需要管理区域签名密钥、密钥签名密钥、签名刷新和算法升级,并在更换 DNS 服务商时协调新旧密钥。若父区 DS 已经指向旧密钥,而子区只保留新密钥,域名可能在验证解析器中整体不可用。

常见排查顺序是先确认普通解析是否有回答,再检查 DS、DNSKEY 和 RRSIG 是否匹配、签名是否过期、服务器时间是否准确,以及不同权威节点是否发布一致区域。分阶段轮换并保留重叠期,通常比直接删除旧密钥更稳妥。

实际应用与信息解读

查询到有效 DS 和 DNSKEY,并且签名链可验证时,可以确定该域名启用了 DNSSEC 验证链。只看到 DNSKEY 而父区没有 DS 时,可能只是区域已经准备签名,尚未建立从父区向下的信任关系。

未取得 DNSSEC 记录时,应根据查询是否完整区分“未启用”和“未知”。DNSSEC 正常可以推测域名重视解析完整性,但不能据此判断网站内容、服务器漏洞或 HTTPS 配置;这些属于不同的安全层。

重点关注

启用 DNSSEC 可以降低缓存投毒和伪造解析的风险,但配置错误也可能导致域名无法解析。

常见问题

DNSSEC 会让 DNS 查询变成加密通信吗?

不会。DNSSEC 为 DNS 数据提供签名验证,主要解决回答是否真实、是否被篡改的问题;DoH 或 DoT 才负责加密客户端与解析服务之间的查询传输。

为什么启用 DNSSEC 后域名反而打不开?

常见原因是父区 DS 与当前 DNSKEY 不匹配、签名过期、算法不受支持或不同权威节点数据不一致。验证解析器遇到断裂信任链时通常会拒绝返回结果。

没有 DNSSEC 就代表网站不安全吗?

不能这样判断。它表示解析链少了一项真实性验证,实际网站安全还取决于 HTTPS、应用安全、账号保护和基础设施管理等多个层面。

权威资料