规则为什么会腐化
防火墙规则是随业务演进的产物:上线开一条、测试放一个、临时排查再放宽一次,但下线时很少有人回头删除。几年后规则集合里既有早已不用的端口,也有来源过宽的放行。定期复核与死规则清理,是让暴露面不随组织记忆衰减的唯一办法。
基本信息
| 适用平台 | Linux iptables/nftables、Windows 防火墙、云安全组 |
|---|---|
| 复核周期 | 建议每季度一次,重大变更后追加 |
| 判据 | 命中计数、业务下线记录、责任人确认 |
| 基线 | 季度复核有记录,零命中规则得到处理 |
典型使用场景
- 季度安全自查:按顺序过一遍规则,标注保留、收窄或删除
- 业务下线清理:应用下线后同步清理对应放行
- 整改验收:确认上一轮标注为「收窄」的规则确实收紧了
- 审计举证:提供规则复核记录,说明边界策略处于受控状态
Linux 命中计数核对
Linux 命中计数核对
# iptables:查看规则与命中计数(-v 显示计数)
iptables -L INPUT -n -v --line-numbers | head -30
# nftables:查看带计数器的规则
nft list ruleset | grep -A3 'counter' | head -40
# 注意:iptables 计数器随重启归零,运行时间短时计数不可作为唯一判据Windows 规则清单导出
Windows 规则清单导出
# 导出启用中的入站规则,便于逐条评审
Get-NetFirewallRule -Direction Inbound -Enabled True | Select-Object DisplayName, Description, Profile | Sort-Object DisplayName | Export-Csv C:\temp\fw-rules.csv -NoTypeInformation -Encoding UTF8复核结论分类
| 结论 | 判定条件 | 后续动作 |
|---|---|---|
| 保留 | 有具体业务且有责任人 | 记录责任人与复核日期 |
| 收窄 | 来源或端口范围明显过宽 | 按最小必要原则收敛并回归测试 |
| 删除 | 无业务对应且无责任人 | 删除或先禁用观察一个周期 |
| 待确认 | 找不到使用方 | 限期反馈,逾期按删除处理 |
复核结论三分类(保留、收窄、删除)比一次性大扫除更可持续:每月处理一小批,规则集合会持续向收敛方向走。
计数为零不等于一定可删:灾备与审计通道可能半年才用一次,必须结合责任人确认后再动,删除前先禁用观察一个周期。