警告! Windows 10 VPN 用户面临 DNS 泄漏的巨大风险

Windows 10 中的一项新“功能”意味着 DNS 请求不仅通过您的 VPN 隧道进行定向,还通过您的 ISP 和本地网络接口进行定向。这是因为默认情况下,Windows 10 尝试通过同时向所有可用资源并行发送 DNS 请求并(至少在理论上)使用最快的请求来提高 Web 性能。

对于 VPN 用户来说,这是一个主要问题。这意味着您的 ISP(以及在您的本地网络上监听的任何人)将通过您的 DNS 请求了解您在互联网上访问过哪些网站和服务。它还为黑客劫持您的 DNS 请求开辟了道路(DNS欺骗.) 除此之外,还有报告的 Windows 10 用户由于此问题而遭受页面加载缓慢和超时的困扰。

这个问题导致了美国计算机准备小组(US-CERT),美国国土安全部的一个官方部门,发布警报

智能多宿主名称解析

DNS 是指用于将域名 (propprivacy.com) 转换为数字 IP 地址 (216.172.189.144) 的动态名称系统。此翻译服务通常由您的 ISP 使用其 DNS 服务器执行。但是,当您使用 VPN 服务时,DNS 请求应通过 VPN 隧道路由到 VPN 提供商的 DNS 服务器,而不是 ISP 的 DNS 服务器。

在 Windows 7 下,所有 DNS 请求都是按照 DNS 服务器首选项的简单顺序发出的。但这种情况在 Windows 8 中发生了变化,微软默认添加了“智能多宿主名称解析”。这会向所有可用接口发送 DNS 请求,但仅在主 DNS 服务器无法响应时才使用非首选服务器。

这使得 Windows 8.x 系统容易遭受 DNS 泄漏,但至少使得 DNS 请求不太可能被劫持。另一方面,Windows 10 只是选择响应最快的 DNS 请求,这带来了重大安全风险。

具有“DNS 泄漏保护”功能的 VPN 客户端应在早期版本的 Windows 中禁用智能多宿主名称解析,但这在 Windows 10 中可能不起作用(并且可能因各个客户端而异)。没有此功能的客户端用户(包括通用开源 OpenVPN 客户端)几乎肯定会在 Windows 10 下遭受 DNS 泄漏。

修复智能多宿主名称解析 DNS 泄漏

  1. 现在有一个OpenVPN 插件经过瓦尔迪克SS这解决了这个问题。它应该适用于所有版本的 Windows,并且还应该适用于大多数使用标准 .ovpn 配置文件(即大多数)的自定义 OpenVPN 客户端。这是推荐的解决方案。
  2. 理论上,用户可以一些*Windows 8、Windows 8.1 的版本(尤其是!Windows 10 使用本地组策略编辑器禁用智能多宿主名称解析。 Avast 发布了一些指示关于如何做到这一点。

    *“关闭智能多宿主名称解析”选项不适用于 Windows Home Edition 的用户。

然而,正如读者 Arthur T. 所指出的,如果您仔细查看 Microsoft 对组策略编辑器中“关闭智能多宿主名称解析”设置的描述,您会发现,当其他 DNS 查询失败时,Windows 仍会回退到使用智能多宿主名称解析,即使该设置已启用。

这意味着这个“解决方案”充其量只是部分解决方案。

幸运的是,OpenVPN 插件无论如何,上面提到的应该可以解决问题(对于大多数人来说)。哇!