长期以来,将人类可读的域名网址转换为数字IP地址的DNS服务存在着巨大安全风险,因为域名解析过程很少采用端到端加密。提供域名解析的服务器会为几乎任何IP地址(即使是已知的恶意地址)进行解析。许多终端用户设备的DNS配置也很容易被篡改成恶意服务器。
为了治理DNS顽疾,上周五微软推出了一套安全DNS框架——零信任DNS(ZTDNS),企业可在Windows网络内部锁定域名解析。该框架的两个主要功能是:
- 终端用户客户端和DNS服务器之间采用加密和密码身份验证的连接。
- 管理员可以严格限制这些服务器所能解析的域名。
破解DNS安全悖论
DNS之所以成为网络安全最顽固雷区之一,主要原因之一是存在一个安全悖论:在DNS解析中实施加密和身份验证会降低管理员的可见性,(无法看到和组织用户设备连接恶意域名或检测网络内异常行为)。因此,DNS流量要么以明文形式发送,要么以允许管理员在传输过程中解密的方式进行加密,这实质上是一种中间人攻击。
管理员经常面临以下两难选择:
- 要么以明文形式路由DNS流量,服务器和客户端设备之间无法相互进行身份验证,因此恶意域名可以被屏蔽,并且网络监控成为可能。
- 要么加密和验证DNS流量,并放弃对域名的控制和网络可见性。
微软的ZTDNS通过将Windows DNS引擎与Windows筛选平台(Windows防火墙的核心组件)直接集成到客户端设备中来解决这个存在了数十年的互联网安全问题(矛盾)。
咨询公司Hunter Strategy的研究和开发副总裁Jake Williams表示,这种引擎结合可以对Windows防火墙进行以域名为基础的更新。这产生一种机制,可让企业系统管理员将客户端DNS配置为:“只使用我们的DNS服务器,该服务器使用TLS,并且只解析某些域名”。微软将这种DNS服务器称为“保护性DNS服务器”。
默认情况下,防火墙会拒绝解析允许列表(白名单)中列出的域名之外的其他所有域名的解析。单独的允许列表将包含客户端运行授权软件所需的IP地址子网。网络安全专家Royce Williams将其称为“防火墙层的一种双向API,用户可以同时触发防火墙操作(通过输入‘到防火墙’),并根据防火墙状态触发外部操作(输出‘来自防火墙’)。因此,如果您是防病毒供应商或其他任何供应商,就不必重新发明防火墙,只需连接到WFP即可。”
ZTDNS的工作原理
微软公布了一个ZTDNS的概念图(下图),展示ZTDNS如何融入微软的移动设备管理平台(该平台可帮助管理员保护和控制获准联网的远程设备)以及与从家庭或其他远程位置连接的设备进行交互。
ZTDNS概念示意图
微软表示,除了连接到保护性DNS服务器、DHCP、DHCPv6和NDP服务器(用于网络发现)的连接,ZTDNS会阻止客户端设备到所有其他IPv4或IPv6 IP地址的出站连接。
ZTDNS对出站流量的处理
微软指出:
当应用程序和服务尝试将IPv4或IPv6流量发送到未通过ZTDNS发现的IP地址(并且不在手动例外列表中)时,该流量将被阻止。这使ZTDNS成为一种很有价值的零信任工具:它对流量是“零信任”的,管理员可使用策略感知的保护性DNS服务器定义基于域名的锁定。或者,可以使用客户端证书向服务器提供影响策略的客户端标识,而不是依赖客户端IP地址,后者既不是安全的信号,也不太适用于“随时随地工作”的设备。
基于域名的锁定
通过使用ZTDNS增强零信任部署,管理员可以实现所有出站IPv4和IPv6流量的名称标记,而无需依赖拦截纯文本DNS流量、卷入识别和阻止来自应用程序或恶意软件的加密DNS流量的技术军备竞赛、检查即将加密的SNI,或依赖于特定供应商的网络协议。相反,管理员可以阻止无法识别关联域名或命名异常的所有流量。这意味着企业不再依赖硬编码IP地址或加密DNS服务器,也不必牺牲端到端加密的安全优势。
有和没有ZTDNS的系统比较
对于用作ZTDNS锁定的保护性DNS服务器,最低要求是支持DNS over HTTPS (DoH)或DNS over TLS (DoT),因为ZTDNS将阻止Windows使用纯文本DNS。此外,在加密DNS连接上使用mTLS可支持对每个客户端配置细粒度的DNS解析策略。最后,ZTDNS没有引入任何新的网络协议,这使其成为基于域名锁定的一种有前景的可互操作方法。
Peculiar Ventures首席执行官瑞安·赫斯特(Ryan Hurst)表示,网络内部大规模采用加密连接给一些大型组织带来了困难,因为管理员使用的许多安全工具都依赖于其检查和监控纯文本流量的能力。Hurst指出:
微软的零信任DNS解决方案的重点是:通过将DNS转变为所谓的网络策略执行点,部分恢复可见性;在不获取明文流量的情况下可靠地控制和审核所解析的域名。当企业将ZTDNS其与出口网络过滤相结合时,可创建一个闭环,使企业可以对流量的去向和时间有一定的掌控。当发生网络攻击时,零信任DNS还有可能被用作一种迟滞或阻止攻击者在网络中横向移动的方法,在某些情况下可让数据泄露变得更加困难。
但是安全专家警告说,ZTDNS引入了一种新颖的DNS方法,除非管理员对其当前的设计进行重大更改,冒然部署可能会破坏关键的网络运营。企业在部署ZTDNS前需要指定一个团队来处理升级,进行严格测试和文化转变。“为了从ZTDNS获得最大的安全价值,系统管理员需要枚举他们希望客户端连接到的域名和/或IP范围,”Jake Williams指出:“不然将导致(自我造成的)拒绝服务。”
微软官方发布了一篇文章专门介绍了部署ZTDNS的注意事项(链接在文末)。目前,ZTDNS的开发已经进入内部预览版,但微软没有透露内部人士何时可以对其进行评估以及何时推广使用。