6

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

 4 years ago
source link: https://www.freebuf.com/articles/system/225030.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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:【 点我下载

3、Git(可选项):【 点我下载

工具下载和使用

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

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

Get-ExecutionPolicy

然后输入:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted -Force
cd C:\
git clone [email protected]:metablaster/WindowsFirewallRuleset.git
cd WindowsFirewallRuleset
.\SetupFirewall.ps1

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

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:【 GitHub传送门

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK