场景 3 — 阶段二:规则分类与优化
规则问题分类
| 类型 | 定义 | 识别方法 | 占比 |
|---|---|---|---|
| 冗余规则 | 已有更精确规则覆盖本条 | 规则集合包含关系分析 | 20% |
| 阴影规则 | 被前置 deny 规则完全阻断 | 前置规则冲突检测 | 10% |
| 过宽规则 | 源/目的/端口含 any | 关键字段 any 值检测 | 18% |
| 过期规则 | 90 天以上无命中记录 | 最后命中时间分析 | 12% |
| 已禁用规则 | 状态为 disabled | 启用状态检测 | 8% |
| 无主规则 | 无法确认责任人 | 责任人字段缺失 | 35% |
冗余规则检测
Rule A: src=10.1.0.0/16 dst=192.168.1.0/24 port=80 action=allow ← 冗余 Rule B: src=10.1.1.0/24 dst=192.168.1.0/24 port=80 action=allow ← 被 A 覆盖 Rule C: src=10.1.1.10 dst=192.168.1.0/24 port=80 action=allow ← 被 A 覆盖
Rule B 和 Rule C 已被 Rule A 完全覆盖 → 标记为冗余可清理
阴影规则检测
Rule 1: src=any dst=any port=any action=deny ← 前置拒绝 Rule 2: src=any dst=any port=80 action=allow ← 阴影(永远不会执行) Rule 3: src=any dst=any port=443 action=allow ← 阴影(永远不会执行)
过宽规则识别
| 过宽字段 | 当前值 | 风险 | 建议 |
|---|---|---|---|
| 源地址 = any | 0.0.0.0/0 | 任意来源可访问 | 缩减为具体 IP/网段 |
| 目的端口 = any | 1-65535 | 开放全部端口 | 缩减为业务所需端口 |
| 协议 = any | ALL | 所有协议放行 | 指定 TCP/UDP/ICMP |
| 目的地址 = any | 0.0.0.0/0 | 可访问所有目标 | 缩减为目标资产组 |
过宽规则分级
| 级别 | 条件 | 风险 |
|---|---|---|
| 🔴 极高 | 源=any 且 目的=any 且 端口=any 且 action=allow | 完全开放 |
| 🟠 高 | 三个字段含 any 且 action=allow | 高度过宽 |
| 🟡 中 | 两个字段含 any 且 action=allow | 中度过宽 |
| 🟢 低 | 一个字段含 any 且 action=allow | 轻度过宽 |
优化建议
| 优化类型 | 说明 |
|---|---|
| 精确化 | 将 any 替换为具体 IP/网段/端口,遵循最小权限原则 |
| 合并 | 功能相同的多条规则合并为一条(使用地址组/端口组) |
| 拆分 | 过宽规则拆分为多条精确规则 |
| 删除 | 冗余/阴影/过期规则直接清理 |
| 禁用 | 不确定的规则先禁用观察,30天无影响再删除 |
| 补充 | 为无描述规则补充业务说明和责任人 |