DNS 服务器漏洞到 DNS 服务器缓存窃听攻击

本文提供了一个解决方案,解决了 DNS 服务器漏洞对 DNS 服务器缓存窃听攻击的问题。

原始 KB 数: 2678371

现象

什么是“DNS 缓存窃听”以及如何阻止它? 将 DNS 缓存探查描述为:

DNS 缓存窃听是在有人查询 DNS 服务器以找出 DNS 服务器是否缓存了特定的 DNS 记录时,从而推断 DNS 服务器的所有者(或其用户)最近访问了特定站点。
这可能透露有关 DNS 服务器的所有者的信息,例如他们使用的供应商、银行、服务提供商等。 特别是在一段时间内多次确认这一点时。
此方法甚至可以用于收集统计信息,例如 DNS 服务器的所有者通常访问其净银行等的时间。缓存的 DNS 记录的剩余 TTL 值可以提供非常准确的数据。

即使 DNS 服务器未配置为以递归方式解析第三方,也有可能进行 DNS 缓存侦探,只要它向第三方提供来自缓存的记录。

安全审核可能会报告各种 DNS 服务器实现容易受到缓存窃听攻击,使远程攻击者能够识别给定名称服务器(最近)解析了哪些域和主机。

此类缓存探查漏洞报告读取后:

DNS 服务器缓存窃听远程信息泄露
摘要:
远程 DNS 服务器容易受到缓存窃听攻击。
说明:
远程 DNS 服务器响应未设置递归位的第三方域的查询。 这可能导致远程攻击者确定最近通过此名称服务器解析了哪些域,因此最近访问了哪些主机。 例如,如果攻击者对贵公司是否利用特定金融机构的联机服务感兴趣,他们将能够使用此攻击来构建有关该金融机构公司使用情况的统计模型。 当然,攻击还可用于查找 B2B 合作伙伴、Web 冲浪模式、外部邮件服务器等。 注意:如果这是无法访问外部网络的内部 DNS 服务器,则攻击仅限于内部网络。 这可能包括来宾网络或 WiFi 连接(如果受支持)上的员工、顾问和潜在用户。
风险因素:

CVSS 基本分数:5.0
CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N
另请参阅:
http://www.rootsecure.net/content/downloads/pdf/dns_cache_snooping.pdf
解决方案;
请联系 DNS 软件的供应商获取修补程序。

原因

此错误通常报告在进行递归的 DNS 服务器上。

解决方法

没有代码修复,因为这是一种配置选择。

提供三个选项:

  1. 如果 DNS 服务器保留在无法由不受信任的客户端访问的企业网络上,则保持递归启用状态

  2. 不允许对执行递归的 DNS 服务器进行公共访问

  3. 禁用递归

详细信息

默认情况下,Microsoft DNS 服务器配置为允许递归。

名称递归可以在Microsoft DNS 服务器上全局禁用,但不能在每客户端或每个接口的基础上禁用。

大多数Microsoft DNS 服务器都带有域控制器服务器角色。 此类服务器通常托管区域并解析设备的 DNS 名称 |Active Directory 林中的设备、成员客户端、成员服务器和域控制器,但也可能会解析企业网络较大部分的名称。 由于Microsoft DNS 服务器通常部署在企业网络上的防火墙后面,因此不受信任的客户端无法访问这些服务器。 此设置中的服务器管理员应考虑是禁用还是限制 DNS 递归。

全局禁用递归并不是应轻取的配置更改,因为这意味着 DNS 服务器无法解析本地未保留的区域上的任何 DNS 名称。 这需要一些仔细的 DNS 规划。 例如,客户端通常不能直接指向此类服务器。

必须根据 DNS 服务器在部署中要执行的角色来决定禁用递归(或否)。 如果服务器要为其客户端递归名称,则无法禁用递归。 如果服务器只打算从本地区域返回数据,并且从不打算递归或转发客户端,则可能会禁用递归。