Cyber Security Academy · 课时

DNS 的工作原理及其风险

解析过程与攻击面。

第 1 / 4 课13 个步骤

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

DNS 为何对安全至关重要

域名系统(DNS)会将 example.com 这样的易读名称转换为 93.184.216.34 这样的 IP 地址。几乎每次网络事务都始于 DNS 查询,这使 DNS 成为高价值目标。

如果攻击者控制或操纵名称解析,就可以在不接触应用本身的情况下,悄无声息地将受害者重定向到恶意服务器、拦截流量或窃取数据。了解解析路径是保护它的第一步。

解析链

一次典型的递归查询会经过一连串服务器:

  • 客户端上的存根解析器(OS)。
  • 递归解析器(您的 ISP 或 8.8.8.8),负责完成实际查询工作。
  • 根服务器,将查询指向 TLD 服务器。
  • TLD 服务器(例如 .com),将查询指向权威服务器。
  • 权威服务器,保存实际记录。

每一跳都可能成为拦截或欺骗的切入点。

递归解析器与权威解析器

递归解析器会代表客户端追踪转介结果并缓存结果,从而回答各种查询。权威服务器只回答其负责的区域中的查询,并提供最终确定的数据。

从安全角度看:开放递归解析器可能被滥用于放大攻击,而权威服务器则可能成为区域劫持和注册商遭入侵的目标。请将递归查询限制在您自己的网络内。

常见记录类型

分析过程中您会遇到以下记录:

  • A / AAAA——IPv4 / IPv6 地址。
  • CNAME——指向其他名称的别名(请注意可能导致子域名接管的悬空 CNAME)。
  • MX——邮件服务器。
  • NS——指向权威服务器的委派。
  • TXT——自由文本,用于 SPF、DKIM,也经常被滥用于隧道传输。

DNS 使用 UDP 端口 53

传统 DNS 通过UDP 端口 53运行;对于大型响应和区域传送,则回退到TCP 53。UDP 是无连接且无状态的,因此没有握手来证明响应方就是其声称的对象。

查询与响应之间唯一的关联是一个 16 位的事务 ID和源端口。这种薄弱的绑定关系是欺骗和缓存投毒的根本原因。

dig +short example.com A
dig example.com MX
dig @8.8.8.8 example.com

缓存与 TTL

为了减轻负载,解析器会在记录的 TTL(存活时间)期限内缓存响应。TTL 为 3600 的响应会缓存一小时。

缓存是一把双刃剑:它可以提升性能,但也意味着单个被投毒的响应可能会一直服务于大量受害者,直到 TTL 过期。攻击者经常试图推送较长的 TTL,让恶意条目持续更久。

攻击面

DNS 暴露出多个攻击面:

  • 路径中的欺骗——以快于合法服务器的速度伪造响应。
  • 缓存投毒——将错误记录注入解析器缓存。
  • 注册商劫持 / 区域劫持——窃取对域名本身的控制权。
  • 隧道传输——将数据编码到查询中,以绕过出口控制。
  • DDoS 放大攻击——滥用开放解析器充当反射器。

默认缺乏身份验证

普通 DNS 不提供完整性或真实性保证。只要响应与源 IP、目标端口、查询名称和事务 ID 匹配,就会被信任。路径中的攻击者可以猜到或观察到所有这些信息。

正是这一设计假设(网络是可信的),促成了DNSSEC、基于 TLS 的 DNS(DoT)和基于 HTTPS 的 DNS(DoH)等附加式保护机制的出现。

DNS:侦察宝库

攻击前,对手会枚举 DNS,以绘制您的网络资产图。配置错误的区域传送(AXFR)可能泄露所有记录。子域名暴力破解和证书透明度日志也会暴露隐藏主机。

防御者应将区域传送限制为已知的辅助服务器,并监控能够表明枚举行为的大批量查询模式。

dig AXFR example.com @ns1.example.com
# Should fail / be refused on a hardened server

加密传输:DoT 与 DoH

基于 TLS 的 DNS(端口 853)和基于 HTTPS 的 DNS(端口 443)会加密查询,使路径上的观察者无法读取或篡改查询内容。这可以抑制欺骗攻击并保护隐私。

对防御者而言,代价是:加密 DNS 可能使您自己的过滤和监控失去可见性。许多企业会强制客户端使用受控的 DoH/DoT 解析器,而不是让终端自行选择外部解析器。

防御者要点

针对解析路径的实用加固措施:

  • 运行内部递归解析器;阻止直接向互联网发出的出站端口 53 流量。
  • 在权威服务器上禁用开放递归。
  • 限制并记录 AXFR 区域传送。
  • 在注册商处锁定域名(注册局锁定、MFA)。
  • 监控查询量和熵,以发现隧道传输和枚举行为。

快速检查

测试您对 DNS 暴露原因的理解。

回顾

您已了解 DNS 解析会沿着从存根解析器到根服务器、TLD 服务器和权威服务器的链路进行,且响应会按 TTL 缓存。由于传统的 UDP/53 DNS 缺乏身份验证,因此容易遭受欺骗、缓存投毒、劫持、隧道传输和放大攻击。

主要防御措施包括:限制递归访问、限制区域传送、注册商锁定、加密传输(DoT/DoH)和 DNSSEC。接下来,我们将详细探讨欺骗和缓存投毒。

免费开始

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

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

课程
76
课程
303

常见问题解答

「DNS 的工作原理及其风险」课时是免费的吗?

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

「DNS 的工作原理及其风险」这节课中我会学到什么?

解析过程与攻击面。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

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

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

「DNS 的工作原理及其风险」课时需要多长时间?

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

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

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

此课程中的所有课时

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