我正在尝试配置 Server 2008 R2 上的 Windows 防火墙以阻止除我添加到规则列表中的流量之外的所有内容。
我看到有三个策略 - 公共/私有/域。尽管我只有一个 NIC 并且为其分配了域策略,但我对每个策略都进行了相同的设置更改。
在域策略属性中,我将入站连接设置为“阻止(默认)”,但这仍然允许 ICMP 通过。我将其更改为“阻止所有连接”,并创建了一条入站规则,允许所有三个配置文件中的所有程序通过所有接口的 ICMP,但这导致防火墙丢弃 ICMP 流量,尽管我为其创建了允许规则。
根据这个文档允许规则应该优先于默认规则。我想设置默认规则来阻止所有流量,并且只允许具有允许规则的某些流量。
我创建了两个自定义允许规则:
- 允许所有程序/IP 地址的入站 ICMPv4 流量。
- 允许所有程序/IP 地址的入站 ICMPv6 流量。
将入站连接策略设置为阻止所有连接,并且启用上述允许规则,它仍然会阻止我的远程 ping。
如何配置 Windows 防火墙来执行此操作?
更新 - 事实证明我使用了错误的 GUI(真尴尬)。我没有使用管理工具中的 GUI,而是使用了组策略编辑器中的 GUI(碰巧它们看起来一模一样)。防火墙上已经设置了规则,但我在组策略编辑器中看不到这些规则。这些规则在我没有意识到的情况下生效了,这让我很困惑。要执行我想要的操作,我只需将策略设置为“阻止(默认)”(当然要使用正确的工具)。删除所有预先存在的规则(我在组策略编辑器中看不到)后,我可以通过创建特定的允许规则来仅允许我想要的流量。
答案1
我看到有三个策略 - 公共/私有/域。尽管我只有一个 NIC 并且为其分配了域策略,但我对每个策略都进行了相同的设置更改。
顺便说一句,只要您的 NIC 仍在使用域网络配置文件,对公共和私人防火墙策略进行的更改就不会产生任何效果。
根据此文档,允许规则应该优先于默认规则。我想设置默认规则以阻止所有流量,并仅允许具有允许规则的某些流量。
你这样做很困难。域配置文件的默认策略实施默认拒绝入口策略和默认允许出口策略(即,阻止入站连接并允许出站连接)。如果你更改了这些默认值,则可以在Windows 防火墙属性对话。
然后,要启用 ICMP 流量,请启用以下两个允许规则:
File and Printer Sharing (Echo Request - ICMPv4-In)
File and Printer Sharing (Echo Request - ICMPv6-In)
答案2
当有多条规则与你的流量匹配时,阻止规则将优先。
除非你选择覆盖阻止规则允许规则中的选项。
此外,当使用阻断所有连接规则,覆盖选项将不起作用。
抱歉,我刚刚重新阅读了文档。
简而言之,我认为您希望通过 Windows 防火墙实现的目标不太现实。
不幸的是,它不像网络防火墙那样工作。即从上到下读取规则并使用第一个匹配的规则。
如果有允许和阻止规则来匹配流量,那么它将被阻止。