Cyber Security Academy · 课时

DNSSEC 与 DNS 筛选

保护域名系统。

第 4 / 4 课13 个步骤

DNSSEC 与 DNS 筛选 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。

保护名称系统

普通 DNS 不提供真实性验证。两种互补的防御措施可以解决这一问题:DNSSEC 证明应答真实且未被篡改,而DNS 过滤会阻止解析已知恶意的名称。二者结合可以保护完整性并减少攻击面。

本课将介绍它们各自的工作方式,以及它们在分层 DNS 安全策略中的作用。

DNSSEC 提供什么

DNSSEC(DNS 安全扩展)会向 DNS 数据添加加密签名。它可以保证:

  • 来源真实性 — 应答来自真正的区域所有者。
  • 数据完整性 — 应答在传输过程中未被修改。

需要特别注意的是,DNSSEC 不提供机密性。查询和应答仍以明文传输;如果需要隐私保护,仍然需要 DoT/DoH。

签名记录:RRSIG

已签名区域中的每个记录集都会获得一条 RRSIG 记录,即针对这些数据生成的数字签名。匹配的公钥会作为 DNSKEY 记录发布。

验证解析器会获取 RRSIG 和 DNSKEY,然后验证签名。如果验证失败,应答会被拒绝并视为伪造,而不会提供给客户端。

dig +dnssec example.com A
# Look for the RRSIG record alongside the A record

信任链和 DS 记录

信任沿层级向下传递。父区域会发布一条 DS(委派签名者)记录,其中包含对子区域 DNSKEY 的哈希。信任链为:根 → TLD → 您的域名。

验证解析器从硬编码的根信任锚开始,沿着 DS 记录向下验证。如果任何一环缺失或错误,验证就会失败。在您的注册商处发布 DS,才能为您的域名启用 DNSSEC。

ZSK 和 KSK

区域使用两种密钥角色:

  • ZSK(区域签名密钥) — 对实际记录进行签名,并经常轮换。
  • KSK(密钥签名密钥) — 对 DNSKEY 集合进行签名,生命周期更长,并由父级 DS 引用。

分离这两种角色后,您可以在不改动父级委派的情况下轮换 ZSK,从而简化密钥管理。

经验证的否定:NSEC 和 NSEC3

DNSSEC 还必须证明某个名称不存在。NSEC 记录会对现有名称之间的空缺进行签名,但攻击者可以利用它遍历并枚举整个区域。

NSEC3 通过对哈希后的名称而不是明文名称进行签名来解决这个问题,从而阻碍区域枚举。对于不希望被完整遍历的区域,请优先使用 NSEC3(或 NSEC3 opt-out)。

DNSSEC 的局限性

请正确认识其范围:

  • 不提供机密性,只提供完整性和真实性。
  • 验证必须在受信任的解析器上进行;如果没有 DoT/DoH,从解析器到存根解析器的最后一段仍未受保护。
  • 配置错误或过期的签名会导致服务中断,因此请监控签名有效性。
  • 如果启用开放递归,更大的应答会增加放大攻击的潜力。

DNS 过滤基础

DNS 过滤将解析器用作策略执行点。当客户端查询恶意或不需要的域名时,解析器会拒绝应答或重写应答(通常指向沉洞或拦截页面)。

这种方式成本低、速度快且与协议无关:阻止查询可以在连接尝试之前阻断恶意软件 C2、网络钓鱼和不需要的类别。

应答策略区域(RPZ)

RPZ 是应用 DNS 防火墙策略的标准方式。解析器会加载策略区域(本地策略区域或来自威胁情报源的策略区域),并可以:

  • 返回 NXDOMAIN(名称不存在)。
  • 返回 NODATA。
  • 将请求重定向到沉洞或围墙花园 IP。
  • 放行请求并记录日志。

沉洞对于事件响应非常有用:重定向已知的 C2 域名,并观察哪些主机尝试连接它们。

; Example RPZ entry redirecting a malicious domain to a sinkhole
malware-c2.example.   CNAME   sinkhole.security.local.

威胁情报和类别

过滤的价值取决于数据质量。请向解析器提供:

  • 经过整理的恶意软件、网络钓鱼和 C2 指标列表。
  • 新注册域名和低信誉域名的数据源(这些域名通常具有恶意性)。
  • 类别策略(例如,在企业设备上阻止已知的匿名化工具)。

请将过滤与日志记录结合起来,使被阻止的查询成为检测信号,而不只是被悄然拒绝。

结合 DNSSEC 和过滤

这两种防御措施相互补充,而不是相互竞争:

  • DNSSEC 确保您获得的应答真实且未被篡改。
  • 过滤/RPZ 确保您从一开始就不会解析已知恶意的名称。

请在验证解析器上同时部署二者,为最后一段通信添加 DoT/DoH 隐私保护,实施出站控制,这样就能形成强大的分层 DNS 安全态势。

快速检查

确认 DNSSEC 实际能够保证什么。

回顾

DNSSEC 使用 RRSIG 签名、从根信任锚开始的 DNSKEY/DS 信任链,以及用于经验证否定的 NSEC/NSEC3 来验证 DNS 应答的真实性,但不提供机密性。DNS 过滤(RPZ、沉洞和威胁情报源)会阻止解析已知恶意的名称,并将拦截行为转化为检测信号。

将二者部署在验证解析器上,并结合 DoT/DoH 和出站控制,就能形成针对本课程所述 DNS 攻击的分层防御。

免费开始

用 AI 导师学习 Cyber Security Academy — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
76
课程
303

常见问题解答

「DNSSEC 与 DNS 筛选」课时是免费的吗?

是的 — 「DNSSEC 与 DNS 筛选」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。

「DNSSEC 与 DNS 筛选」这节课中我会学到什么?

保护域名系统。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cyber Security Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「DNSSEC 与 DNS 筛选」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cyber Security Academy 课中编写并运行代码吗?

能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. DNS 的工作原理及其风险
  2. DNS 欺骗与缓存投毒
  3. DNS 隧道与数据外泄
  4. DNSSEC 与 DNS 筛选
← 返回 Cyber Security Academy