Windows Server防火墙需先设为“默认拒绝”再按需放行,即域/专用/公用配置文件中入站连接均设为“阻止”,再添加RDP、程序、出站等精准白名单规则,并通过测试、优先级检查、GPO部署及定期导出规则来验证维护。
windows server安装完成后,防火墙默认是启用的,但策略是“默认允许入站”,这不符合安全基线要求。真正有效的白名单不是“加几条允许规则”,而是先设为“默认拒绝”,再按需放行——这才是企业级配置的核心逻辑。
一、先启用默认阻止策略
这是白名单生效的前提。若跳过这步,所有“允许”规则都形同虚设,因为其他连接仍能通过默认放行策略。
- 打开“高级安全 Windows 防火墙”(
wf.msc) - 左侧依次点击:入站规则 → 属性
- 在“域配置文件”“专用配置文件”“公用配置文件”三个标签页中,分别将“入站连接”设置为“阻止”
- 确认后点击“确定”——此时所有未明确允许的入站连接都会被拦截
二、按业务需求添加具体白名单规则
只开放真实需要的通信,避免宽泛授权。常见场景包括远程管理、服务端口、程序通信等。
-
限制RDP仅允许可信运维IP:新建入站规则 → 类型选“端口”→ TCP 3389 → 作用域中“远程IP地址”填入运维机IP段(如
10.10.20.0/24)→ 动作选“允许连接” -
允许特定程序通信(如SQL Server或备份工具):新建规则 → 类型选“程序”→ 指定可执行文件绝对路径(如
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe)→ 启用并命名 - 开放API调用所需的出站连接:切换到“出站规则”→ 新建规则 → 协议+端口(如 HTTPS 443)→ 作用域中“远程IP地址”填目标SaaS服务IP或域名(需配合DNS解析或静态IP)→ 动作“允许”
三、验证与持续维护要点
配置完成不等于安全落地,必须验证行为是否符合预期,并建立维护机制。
- 用
telnet 服务器IP 3389或Test-NetConnection -ComputerName 服务器IP -Port 3389测试白名单IP能否连通,非白名单IP应超时 - 检查规则优先级:右键规则 → “属性” → “常规”页确认“已启用”,并在“高级”页核对配置文件适用性(如域环境要勾选“域”)
- 生产环境建议通过组策略(GPO)统一部署,避免本地策略被覆盖;域控制器上编辑GPO路径:计算机配置 → 策略 → Windows 设置 → 安全设置 → Windows 防火墙与高级安全
- 定期导出规则清单:
Get-NetFirewallRule | Where-Object { $_.Enabled -eq 'True' -and $_.Action -eq 'Allow' } | Export-Csv C:\fw-whitelist.csv


















