首页/安全/安全加固速查/PowerShell 精细化规则(New-NetFirewallRule)
防火墙与访问控制50 条

PowerShell 精细化规则(New-NetFirewallRule)

New-NetFirewallRule 支持更丰富的过滤条件(地址、端口、协议、程序、用户、接口),适合做成可复用、可审查的加固脚本。

安全加固速查安全更新于 2026-10-13

用 PowerShell 写可审查的规则

Windows 防火墙的图形界面适合单机操作,但不适合批量与审查:规则的条件、作用范围与生效档案难以统一核对。New-NetFirewallRule 支持更丰富的过滤条件——地址、端口、协议、程序、用户、接口类型与网络档案,写成脚本后规则可版本化、可批量下发、可逐条复核。加固场景中最常用的是“限定来源地址”这一项,把远程管理端口从全域可访问收窄到指定网段。

基本信息

加固项精细化入站白名单
适用平台Windows(PowerShell 3.0 及以上,含 Server 核心版)
权限要求本地管理员
达标判据敏感端口仅对指定网段可达,无遗留宽规则
常用参数-Direction、-Action、-Protocol、-LocalPort、-RemoteAddress、-Profile

典型使用场景

  • RDP、WinRM 等管理端口限制到运维网段
  • 数据库与业务端口只允许应用服务器访问
  • 批量下发统一规则到多台服务器
  • 排查规则冲突,确认哪条规则在放行
  • 变更前导出规则留档,便于回滚与审计

示例:仅放行办公网段访问 RDP

示例:仅放行办公网段访问 RDP
New-NetFirewallRule -DisplayName 'RDP-Management-Only' -Direction Inbound -Action Allow -Protocol TCP -LocalPort 3389 -RemoteAddress 10.20.0.0/16 -Profile Domain
Get-NetFirewallRule -DisplayName 'RDP*' | Get-NetFirewallPortFilter | Select-Object LocalPort
Get-NetFirewallRule -DisplayName 'RDP*' | Get-NetFirewallAddressFilter | Select-Object RemoteAddress
Get-NetFirewallRule -DisplayName 'RDP-Management-Only' | Select-Object DisplayName, Enabled, Profile, Action

清理宽规则与留档

清理宽规则与留档
Get-NetFirewallRule -Direction Inbound -Action Allow | Where-Object {$_.DisplayName -like '*RDP*'} | Select-Object DisplayName, Enabled   # 找出同名宽规则
Remove-NetFirewallRule -DisplayName 'RDP-AllNetworks'   # 回收放行全域的旧规则
netsh advfirewall export C:\evidence\fw-$(Get-Date -Format yyyyMMdd).wfw   # 导出留档
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction   # 顺带确认档案默认策略

常用参数与含义

参数作用注意事项
-Direction Inbound规则方向入站白名单是加固重点
-RemoteAddress限定来源地址支持网段与多个地址,逗号分隔
-Profile Domain限定生效的档案不写则对全部档案生效
-Action Allow / Block允许或阻止Block 规则优先级高于 Allow
-LocalPort本地端口可写多端口或端口段
-Program限定程序路径适合只允许特定程序通信的场景
规则命名建议统一前缀(业务名加端口),便于批量查询、审查与回收。批量下发前先导出一份现有规则留档,出问题时可以对比与回滚;同时注意查看档案默认策略,入站默认允许时再多白名单规则也挡不住其他端口。
不加 -Profile 的规则会对域、专用、公用三个档案全部生效——如果本意只是域内管理,就必须显式写 -Profile Domain,否则在公用网络环境下规则同样起作用。此外,收窄 -RemoteAddress 之后一定要清理同名的宽规则,否则原来的全域放行仍然存在,限源等于白做。

易错点

  • 不带 -Profile 的规则对所有档案生效,与“仅域内管理”的意图不符
  • -RemoteAddress 收窄后未清理同名宽规则,旧的全域放行继续生效
  • 只看规则存在不看 Enabled 与 Profile 字段,规则实际未启用或被限定在无关档案
  • 变更前不导出规则留档,出现连通性问题时缺少快速回滚依据

数据来源与参考

  • Microsoft Learn:New-NetFirewallRule
  • CIS Windows Benchmark:入站规则核查

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌