阻止入站端口80,443stream量,除了特定的IP地址

我试图build立一个防火墙,只允许来自特定IP地址的端口80和443的入站stream量。 我试图创build一个规则来阻止TCP,本地端口80和443上的所有stream量,然后我添加了一个规则,以允许从一个特定的远程IP地址相同。 但是,我不断从任何IP地址获得stream量。 因此,我禁用了允许stream量的规则,而且我仍然从任何IP地址获取stream量。 然后,我改变了规则,阻止任何端口上的所有TCPstream量,但我仍然获得stream量。

没有规则允许TCP 80,443或任何不限于特定程序的通信。 如何阻止除特定IP地址以外的端口上的传入stream量? 有什么方法可以确定哪个规则让stream量通过? 谢谢!

首先:

  1. 如果没有端口/服务/应用程序的规则,并且防火墙已启用,则所有stream量都将被阻止!
  2. 如果端口/服务/应用程序启用了允许规则,则允许匹配的通信。
  3. 如果端口/服务/应用程序启用了阻止规则,则优先于允许规则,并且匹配的stream量被阻止!

你说在端口80和443上的入站stream量是从任何地方都是允许的。 这意味着有一个活跃的规则,允许交通。 您希望只允许来自特定IP地址的stream量通过这些端口。

您首先需要删除允许stream量的规则,然后创build一个只允许来自特定IP地址的stream量的规则。

要找出哪些规则导致您的端口80和443可以访问,请首先获取所有活动规则:

$active_rules = Get-NetFirewallRule -Enabled True -Direction Inbound -Action Allow

下一步是search允许端口80和443上的入站stream量的可能规则:

$port_filters = $active_rules | Get-NetFirewallPortFilter | Where-Object { $_.LocalPort -in (80, 443) }

然后find相关的防火墙规则:

$port_filters | Get-NetFirewallRule

高级防火墙设置的graphics用户界面中的LocalPort列进行sorting可能更容易 。 但是这些命令可能会帮助你以某种方式追踪规则。

要记住的事情 :检查三个不同的configuration文件。 如果您没有find端口filter,则Web应用程序或Web服务可能具有活动的允许规则。

当您find并删除(或禁用)有关规则时,请为端口和地址创build新的允许规则:

New-NetFirewallRule -DisplayName "Allow TCP:80,443 from certain IPs" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 80,443 -RemoteAddress ("8.8.8.8", "8.8.4.4", "…")