在设计 DNS 时并未考虑安全性,因此目前创建了许多类型的攻击来利用 DNS 系统中的漏洞。
阅读本文后,您将能够:
复制文章链接
DNS 安全是保护 DNS 基础设施免受网络攻击以保持其快速可靠运行的做法。有效的 DNS 安全策略包含许多重叠的防御措施,包括建立冗余 DNS 服务器、应用 DNSSEC 等安全协议以及要求严格的 DNS 日志记录。
与许多互联网协议一样,DNS 系统在设计时并未考虑到安全性,并且包含一些设计限制。这些限制与技术进步结合在一起,使 DNS 服务器容易受到广泛的攻击,包括欺骗、放大、DoS(拒绝服务)或私人个人信息的拦截。由于 DNS 是大多数互联网请求的组成部分,因此它可能成为攻击的主要目标。
此外,DNS 攻击经常与其他网络攻击一起部署,以分散安全团队对真正目标的注意力。组织需要能够快速缓解 DNS 攻击,这样他们就不会因为太忙而无法处理通过其他媒介同时发起的攻击。
攻击者发现了众多针对和利用 DNS 服务器的方法,以下是一些最常见的 DNS 攻击:
DNS 欺骗/缓存中毒:这是将伪造的 DNS 数据引入 DNS 解析器缓存中的攻击,其将导致解析器返回域的错误 IP 地址。流量可能会被转移到恶意计算机或攻击者想要的其他任何位置,而不是前往正确网站;通常是用于恶意目的的原始站点副本,例如分发恶意软件或收集登录信息。
DNS 隧道:这种攻击使用其他协议通过 DNS 查询和响应建立隧道。攻击者可以使用 SSH、TCP 或 HTTP 在大多数防火墙未察觉的情况下将恶意软件或被盗信息传递到 DNS 查询中。
DNS 劫持:在 DNS 劫持中,攻击者将查询重定向到其他域名服务器。这可通过恶意软件或未经授权的 DNS 服务器修改来实现。尽管其结果与 DNS 欺骗的结果相似,但这是一种截然不同的攻击,因为其目标是域名服务器上网站的 DNS 记录,而不是解析器的高速缓存。
NXDOMAIN 攻击:这是一种 DNS 洪水攻击,攻击者利用请求淹没 DNS 服务器,从而请求不存在的记录,以试图导致合法流量的拒绝服务。这可使用复杂的攻击工具来实现,这些工具可为每个请求自动生成唯一子域。NXDOMAIN 攻击还可将递归解析器作为目标,目标是用垃圾请求填充解析器的高速缓存。
幻域攻击:幻域攻击的结果与 DNS 解析器上的 NXDOMAIN 攻击的结果类似。攻击者设置了一堆“幻影”域服务器,这些服务器对请求的响应非常慢,或者根本不响应。然后解析器收到对这些域的大量请求,解析器被束缚起来,只能等待响应,从而导致性能降低和拒绝服务。
随机子域攻击:在这种情况下,攻击者向一个合法站点的几个随机的不存在的子域发送 DNS 查询。其目标是为该域的权威性域名服务器创建拒绝服务,从而使其无法从域名服务器查找网站。其副作用是,为攻击者提供服务的 ISP 也可能会受到影响,因为其递归解析器的高速缓存将被加载错误请求。
域锁定攻击:攻击者会通过设置特殊域和解析器来与其他合法解析器建立 TCP 连接,从而策划这种攻击形式。当目标解析器发送请求时,这些域会发回缓慢的随机数据包流,从而占用解析器的资源。
基于僵尸网络的 CPE 攻击:这些攻击是使用 CPE 设备(客户终端设备,这是服务提供商提供的供客户使用的硬件,例如调制解调器、路由器、机顶盒等)进行的。攻击者使 CPE 受损,这些设备成为僵尸网络的一部分,用于对一个站点或域进行随机子域攻击。
DNS 安全扩展 (DNSSEC) 是为缓解此问题而创建的安全协议。DNSSEC 通过对数据进行数字签名来防止攻击,以帮助确保其有效性。为确保进行安全查找,此签名必须在 DNS 查找过程的每个级别进行。
此签名过程类似于人们用笔签署法律文件;此人签署别人无法创建的唯一签名,并且法院专家能够查看该签名并验证文件是否由该人签署的。这些数字签名可确保数据未被篡改。
DNSSEC 在 DNS 的所有层中实施分层数字签名策略。例如,在 “google.com”查找中,根 DNS 服务器将为 .COM 域名服务器签写一个密钥,然后 .COM 域名服务器将为 google.com 的权威性域名服务器签写一个密钥。
尽管更高的安全性始终是首选的,但 DNSSEC 旨在向后兼容,以确保传统 DNS 查找仍可正确解析,尽管这没有提高安全性。作为整体 Internet 安全策略的一部分,DNSSEC 应与其他安全措施配合使用,例如 SSL/TLS。
DNSSEC 创建了一个父子信任链,该链一直行进到根区域。在 DNS 的任何层上此信任链都不能受损,否则请求将可能受到在途攻击。
要关闭信任链,需要对根区域本身进行验证(证明没有篡改或欺诈),这实际上是通过人工干预来完成的。有趣的是,在所谓的“根区域签名仪式”上,来自世界各地的某些人聚集在一起,以公开且经审核的方式签署根 DNSKEY RRset。
除 DNSSEC 外,DNS 区域的运营商还可采取进一步措施来保护他们的服务器。过度配置基础设施是克服 DDoS 攻击的一种简单策略。简言之,如果您的域名服务器所能处理的流量比您的预期多数倍,那么基于量的攻击就很难淹没您的服务器。组织可以通过增加其 DNS 服务器的总流量容量,建立多个冗余 DNS 服务器并在一个服务器开始表现不佳时使用负载平衡将 DNS 请求路由到健康服务器,从而实现这一点。
另一个策略仍然是 DNS 防火墙。
DNS firewall 是一种可为 DNS 服务器提供众多安全和性能服务的工具。DNS firewall 位于用户的递归解析器与他们正尝试访问的网站或服务的权威性域名服务器之间。防火墙可提供速率限制服务,以关闭试图淹没服务器的攻击者。如果服务器确实由于攻击或其他任何原因而停机,则 DNS firewall 可通过提供来自高速缓存的 DNS 响应来使运营商的站点或服务保持正常运行。
除其安全功能外,DNS firewall 还可为 DNS 运营商提供高性能解决方案,例如更快的 DNS 查找和更低的带宽成本。了解有关 Cloudflare DNS firewall 的更多信息。
此外还可将 DNS 解析器配置成为其最终用户(浏览 Internet 的人)提供安全解决方案。某些 DNS 解析器提供内容过滤等功能,这些功能可阻止已知分发恶意软件和垃圾邮件的站点,并且还提供僵尸网络保护,这可阻止与已知僵尸网络的通信。这些安全的 DNS 解析器中有许多是免费的,用户可通过更改其本地路由器中的单个设置来切换到其中一个递归 DNS 服务。Cloudflare DNS 注重安全性。
另一个重要的 DNS 安全问题是用户隐私。DNS 查询未加密。即使用户使用像 1.1.1.1 这样不跟踪他们活动的 DNS 解析器,DNS 查询也会以明文形式在互联网上传输。这意味着拦截查询的任何人都可以看到用户正在访问哪些网站。
这种隐私上的欠缺对安全有着巨大影响,在某些情况下也会影响人权;如果 DNS 查询不是私密的,则政府可以更轻松地审查互联网,而攻击者也可以跟踪用户的网上行为。
DNS over TLS 和 DNS over HTTPS 是加密 DNS 查询的两个标准,用于防止外部各方读取它们。
Cloudflare 的 DNS 服务内置各种安全功能,包括 DNSSEC、DDoS 缓解、多 DNS 功能和负载平衡。