我注意到 Firefox 和 Chrome 在 Windows 防火墙中为未经请求的入站流量打开了端口。这发生在 Windows 7 x64 和 Windows 10 上。(这里,我说的是集成在最新 Windows 版本中的标准防火墙,而不是某些第三方产品)。
通常,当程序尝试更改防火墙配置时,我会在桌面上收到一条通知(对话框),询问我是否要允许该操作。但是对于 Firefox 和 Chrome,情况有所不同:
我会定期从防火墙配置中删除 Firefox 和 Chrome 的所有规则。然而,每次这些浏览器更新自己时(这是相当频繁的),它们会重新创建这些规则,而不会出现通常的确认对话框。
我不明白这怎么可能。我目前怀疑这些规则不是由 Firefox 或 Chrome 本身重新创建的,而是由它们在后台运行的维护(更新)服务重新创建的,可能具有管理权限。
我不希望 Firefox 向我的防火墙添加规则,让未经请求的入站流量从 TCP 和 UDP 的任何地址传递到任何端口。同样,我不希望 Chrome 向我的防火墙添加规则,让未经请求的入站 UDP 流量通过自身传递到某个端口,但也可以从任何地址传递。鉴于浏览器的许多安全漏洞,我正在考虑这是一个重大的安全漏洞。
因此,问题是:如何防止 Firefox 和 Chrome 及其维护/更新服务默默地向 Windows 防火墙添加规则?
我已经看到我可以通过组策略控制防火墙,但是当唯一的原因是上述问题时,这对我来说似乎有点极端。我的客户不是域的一部分,所以我必须对他们每个人都这样做。此外,我不确定浏览器及其维护/更新服务是否也能够规避组策略。
重现步骤:
安装火狐
安装 Chrome
打开用于 Windows 防火墙管理的 GUI(“具有高级安全性的 Windows 防火墙”)
在左侧,选择“入站规则”
右侧出现规则列表;注意两个名称以“Firefox”开头的规则和一个名称以“Chrome”开头的规则
当您双击其中一个规则时,会出现一个对话框,其中详细列出了规则的属性、打开的端口、允许接收该流量的程序等
请注意,Firefox 的两条规则几乎相同。唯一的区别是一个用于 TCP,另一个用于 UDP。两者都允许从任何地址到任何端口到 Firefox的未经请求的入站流量。
请注意,Chrome 的规则允许将 UPD 流量从任何地址传递到端口 5353 到 Chrome。
删除上面提到的三个规则
等到 Firefox 更新可用并安装它
请注意,安装更新时会重新创建 Firefox 的两条规则,但不会出现任何确认对话框
等到 Chrome 更新可用并安装它
请注意,安装更新时会重新创建 Chrome 规则,但不会出现任何确认对话框
提示:测试时,请注意,您可能需要右键单击左侧的“入站规则”,然后从上下文菜单中选择“刷新”,以实际查看可能已在后台完成的规则的最新更新通过服务或应用程序。
提示 2:其实,如果你想对此进行测试,你不需要等待下一次 Firefox 或 Chrome 更新。只需安装旧版本的浏览器并确保已创建上述防火墙规则,然后删除这些规则。因为您已安装旧版本,更新将立即可用。安装更新并注意防火墙规则已被静默重新创建。