iis服务器将入站stream量列入白名单以限制一组IP地址

我们希望将在Windows 2008服务器上运行的IIS网站的IP地址列表白名单。 由于这个IP地址列表是dynamic的,我们希望将其存储在一个文本文件中,该文件将使用Web服务进行更新。 你如何去做这件事,我们必须避免任何forms的人工干预,例如打开一个GUI或重新启动服务器。 我们知道如何通过IP表或通过dynamic生成Apache或Nginx的规则。

有人能帮助我们吗?

您可以使用PowerShell和计划任务来完成此任务。 新的防火墙规则可以使用New-NetFirewallRule Cmdlet创build。 你的规则可能看起来像这样:

New-NetFirewallRule -DisplayName "name" -Direction Inbound -LocalPort 80 -Protocol TCP -RemoteAddress $IPs -Action Allow | Out-Null 

你将不得不把你允许的IP地址在一个数组(见variables$ IPs)这个工作。 当然,这部分脚本依赖于你的文本文件的布局。 如果你的文件如下所示:

 8.8.8.8 8.8.4.4 

然后下面的代码片段应该工作:

 $IPs = Get-Content -Path "Path\to\file.txt" New-NetFirewallRule -DisplayName "name" -Direction Inbound -LocalPort 80 -Protocol TCP -RemoteAddress $IPs -Action Allow | Out-Null 

要更新规则,可以使用Remove-NetFirewallRule Cmdlet,使用显示名称作为标识符,使用一组networkingIP地址删除并重新创build它。

 Remove-NetFirewallRule -DisplayName "name" 

也可以使用Set-NetFirewallRule Cmdlet使用相同的一组参数来修改现有的规则。