Windows AdvFirewall 子网/端口/程序冲突规则

Windows AdvFirewall 子网/端口/程序冲突规则

我在 Google 上搜索过,但没有找到任何答案或类似的问题。有一些关于 Windows 高级防火墙如何匹配规则的内容,但我不明白的是,如果子网/端口/应用程序路径规则发生冲突,会发生什么?假设我有一个程序在特定接口/子网上通过端口 5555 进行通信。如果我允许通过端口 5555 进行传出流量,并允许通过它正在使用的子网的所有流量,有时 Windows 防火墙会自动为该程序创建阻止规则,因此我最终会得到“允许通过相关子网的所有流量”和“允许通过 5555 进行出站 TCP 流量”等规则,但我最终会得到一条规则“阻止 C:\Path\to\application”,有时应用程序无法正常运行。

那么 Windows 防火墙如何处理冲突的规则?有顺序吗?它是否更喜欢一种类型(子网、端口、路径)?我可以为应用程序路径添加规则,但我不明白为什么如果我已经定义了子网规则和端口规则,为什么在打开新应用程序时仍然会弹出 Windows 防火墙/防御者窗口,如果我不单击允许,通常会添加一个阻止规则作为“应用程序规则”,其中应用程序的路径是阻止标准。为什么它不搜索并找到匹配的子网规则或端口规则?

任何合适的诊断工具或信息或有关冲突规则的内容链接都很有用...谢谢!

答案1

Windows 高级防火墙规则是按照严格的顺序进行评估的。

所有规则分为四组。在每个类别中,规则的评估顺序从最具体到最不具体。例如,指定了四个条件的规则优先于仅指定了三个条件的规则。评估结果令人满意,并会以组中第一个匹配的规则结束。

这四个组如下:

  1. 经过身份验证的绕过
    这些规则中同时选择了“覆盖阻止规则”选项和“如果安全则允许”,以允许原本会被阻止的网络流量。它们旨在允许高度授权的网络管理员和维护人员通过。

  2. 块连接
    阻止规则比所有其他规则具有更高的优先级。

  3. 允许连接
    允许入站网络流量的规则。此规则是必需的,因为默认行为是阻止未经请求的入站网络流量。

  4. 默认配置文件行为
    默认行为是阻止未经请求的入站网络流量,但允许所有出站网络流量。可以通过防火墙规则详细信息中的“域配置文件”、“私有配置文件”和“公共配置文件”选项卡更改此默认行为。

对于您的具体示例,“阻止应用程序”规则具有绝对优先权。其次是更具体的“允许通过 5555 的出站 TCP 流量”,最后是优先级最高的一般规则“允许通过相关子网的所有流量”。

参考:

相关内容