一套针对Windows防火墙规则集的PowerShell脚本

2020-02-20 13:44:06 浏览数 (1)

WindowsFirewallRuleset

该工具根据下列因素,已将Windows防火墙规则组织成为了单独的PowerShell脚本:

1、规则组 2、流量方向 3、IP版本(IPv4/IPv6) 4、根据程序和服务进行进一步分类

例如:

1、ICMP流量 2、浏览器规则 3、Windows系统规则 4、存储的应用程序 5、Windows服务 6、微软程序 7、第三方程序 8、广播流量 9、等等…

你可以根据需要来选择使用的规则,使用命令即可完成防火墙配置。

所有的规则都可以直接加载进组策略中,这种方式比默认的Windows防火墙配置规则更加强大。

系统要求

1、Windows 10专业版或企业版 2、Windows PowerShell 5.1:https://github.com/PowerShell/PowerShell 3、Git(可选项):https://git-scm.com/downloads

工具下载和使用

首先,右键点击任务栏,然后选择“任务栏设置”,勾选“当我右键点击’开始’按钮或按下Windows键 X时,在菜单中将命令提示符替换为Windows PowerShell”。

右键点击“开始”按钮,点击“Windows PowerShell(管理员)”,以管理员权限打开PowerShell,输入下列命令:

代码语言:javascript复制
Get-ExecutionPolicy

然后输入:

代码语言:javascript复制
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted -Force    cd C:    git clone git@github.com:metablaster/WindowsFirewallRuleset.git    cd WindowsFirewallRuleset    .SetupFirewall.ps1

执行完成后,我们再输入下列命令来执行脚本即可完成规则设置:

代码语言:javascript复制
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force

应用单独规则集

如果你只想应用特定的规则,你有下列两种方法:

1、执行SetupFirewall.ps1脚本,然后输出需要使用的规则集,或者输入“n”并按回车键跳过当前规则集。 2、在PowerShell终端窗口中,进入包含规则集脚本的目录,然后执行特定PowerShell脚本。 3、运行FirewallProfile.ps1脚本来应用默认防火墙规则,或者直接在GPO中手动配置。

删除规则

根据该版本,我们可以直接在本地组策略中选择我们需要删除的规则,然后右键点击并删除即可。如果需要还原防火墙的状态,我们还需要从GPO中删除所有规则,然后右键点击“Windows Defender Firewall with Advanced Security - Local Group Policy Object”结点,并将所有的属性设置为“Not configured”。

管理已加载的规则

我们有下列两种方法管理已加载的规则:

1、使用本地组策略,这种方法会对规则的使用有一定的限制; 2、编辑PowerShell脚本,这种方法允许我们拥有最完整的控制权,我们可以提升规则,新增规则或修改规则;

许可证协议

WindowsFirewallRuleset这个项目的开发与发布遵循MIT开源许可证协议。 子项目Indented.Net.IP(第三方代码,位于 “Indented.Net.IP”子目录)遵循ISC协议。 子项目VSSetup(第三方代码,位于 “VSSetup”子目录)遵循MIT协议。

项目地址

WindowsFirewallRuleset:https://github.com/metablaster/WindowsFirewallRuleset

* 参考来源:metablaster,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

svg

0 人点赞