在 WSL2 下的 Linux 可能会泄漏

这篇部落格文章已经 4 年了,可能已经过时。

MetShop蜜糖商店

WSL2 下的 Linux 可能存在泄漏问题

2020 年 9 月 30 日 新闻

我们发现,在 WSL2Windows Subsystem for Linux 2下运行 Linux 时,可能会泄漏你的网路流量。

我们的调查显示,这些泄漏也会发生在其他 VPN 软体上。尽管我们目前没有解决方案可以提出,但我们觉得有必要引起大家的注意。就在你阅读这篇文章的同时,我们正在针对这个问题寻找解决方案。

最近,我们收到了关于 WSL2 下 Linux 泄漏的报告。我们的调查结论是,Linux 客户端的流量绕过了 Windows 主机上的 WFP防火墙的所有正常层级,直接发送到网路中。因此,应用程式在防火墙中的所有封锁措施都被忽略了。

Linux 客户端的网路流量始终会通过主机的预设路由发送,并未经过 WFP 的正常检查。这意味著,如果有一个活跃的 VPN 隧道,Linux 客户端的流量将会通过 VPN 传送,并不会泄漏!但是,如果没有活跃的 VPN 隧道,例如在应用程式断开连接、连接中、重新连接或因错误而被阻止的情况下,那么 Linux 客户端的流量将会泄漏到常规网路中,即使启用了始终需要 VPN。

泄漏的原因

WSL2 使用 HyperV 虚拟网路,而这正是问题所在。HyperV 虚拟以太网适配器在不让主机防火墙检查数据包的情况下,将流量传递至客户端。因此,转发的NAT 化的数据包在 WFP 的低层OSI 第 2 层仅被视为以太网几框,这种型态的泄漏也可能发生在使用 HyperV 作为网路的 Windows Sandbox 或 Docker 客户端。

在 WSL2 下的 Linux 可能会泄漏

其他 VPN 软体

我们测试了几款竞争对手的 VPN 客户端,发现它们都以相同的方式泄漏。因此,这并不是 Mullvad VPN 特有的问题,而是一个行业普遍存在的问题,并且目前很少有人提出解决方案。微软对 Linux 客户端的虚拟网路实现使得正确保护它们变得非常困难。

警惕

我们目前正在调查如何以及是否能够在 HyperV 虚拟交换器上阻止不必要的流量。当我们掌握更多信息时会进一步公布。在此之前,如果你在 WSL2 下使用 Linux,或是在 HyperV 视讯下运行的其他客户端/容器,请注意,在连接、重新连接的过程中,以及在没有隧道运行的状态下,客户端的流量可能会泄漏。

此问题的历史

这个问题最初是在 2020 年 8 月 12 日由一位消息人士报告给我们。在第一次处理时,仅由我们的支援团队负责,但因测试机上的不幸软体组合,他们未能重现这个泄漏。因此,这个问题没有被回报给开发团队。然后,在 2020 年 9 月 17 日,同一位提供资讯的人再次报告此问题,并立即转交给开发团队,他们能够验证这是一个我们应该重视的问题。目前我们正在寻找解决方案。

待续,Mullvad VPN

关闭我们未加密的公共DNS服务

停止我们的未加密公共 DNS 服务2022年12月13日 新闻我们将于2023年1月16日关闭我们的旧版公共 DNS 服务,目前可透过此 IP 访问:19313821874这项服务将被我们的加密 DN...

对TunnelCrack漏洞披露的回应

针对 “TunnelCrack” 漏洞披露的回应2023年8月9日 隐私 应用程序Mullvad 在很大程度上不受TunnelCrack VPN 漏洞的影响。以下是我们对最近披露的一系列针对 VPN ...