网络安全域划分
把「一马平川」的内网切成可管控的安全域,让「谁能访问谁」有明确、可审计的规则,而不是靠信任与自觉。本技能给出从资产分级、分区设计、访问控制矩阵、到厂商落地配置(思科 ZBFW / 华为 USG / CloudEngine ACL)、规则冲突检测与验收的完整链路。
一、核心原理
安全分区的本质是默认拒绝 + 最小权限:域之间不直接互通,只有被访问控制矩阵(Access Control Matrix)明确放通的流量才允许穿越,其余一律丢弃并留审计。信任关系被压缩到「逐条声明的规则」,而不是「同一内网就默认可信」。
flowchart LR
U[互联网/不可信] -->|仅 HTTPS 443| FW[边界防火墙]
FW -->|放通已声明服务| DMZ[DMZ 区<br/>Web/邮件/API 网关]
DMZ -.->|最小权限: 仅 3306 到核心| CORE[核心业务区<br/>应用+数据库]
OFF[办公区] -->|经代理/跳板| DMZ
OFF -.->|默认拒绝| CORE
MGT[管理区/带外] -->|专用管理通道 SSH 22| FW
MGT -.->|与业务隔离| CORE
- DMZ(Demilitarized Zone,非军事区):对互联网暴露的服务(Web、邮件、API 网关)所在区,是「被攻击的第一道缓冲区」。DMZ 与核心区之间只放通应用必需端口(如 Web→DB 仅 3306)。
- 核心业务区:存放数据库、核心应用,默认对一切拒绝入向,只响应来自 DMZ/办公的已声明请求。
- 办公区:终端用户所在区,默认不能直达核心,经堡垒机/代理间接访问。
- 管理区(带外 OOB):设备管理平面独立成网,与业务网物理或逻辑隔离,避免业务故障影响运维、也避免管理口暴露给攻击者。
> 关键认知:分区不是「画几根线」,而是用防火墙/ACL 把矩阵落成可执行的规则。域间流量若没有对应规则,就应当被末尾的 deny any 兜住。
二、参考拓扑(典型三层分区架构)
flowchart TB
subgraph 不可信域
INT[Internet]
end
subgraph DMZ
WEB[Web 服务器<br/>10.1.10.0/24]
MAIL[邮件网关<br/>10.1.20.0/24]
end
subgraph 核心业务区
APP[应用服务器<br/>10.1.30.0/24]
DB[数据库<br/>10.1.40.0/24]
end
subgraph 办公区
PC[办公终端<br/>10.1.50.0/24]
end
subgraph 管理区
OOB[带外管理<br/>10.1.99.0/24]
end
INT --> FW
FW --> WEB & MAIL
FW --> PC
WEB --> APP
APP --> DB
OOB --> FW
配套 ASCII 逻辑拓扑(用于文档/PPT):
Internet (untrust)
│
┌────▼────┐
│ 边界防火墙 │ security-level / zone-pair 策略
└─┬──┬──┬─┘
┌───────────┘ │ └───────────┐
DMZ ▼ 办公▼ 管理▼
Web 10.1.10.0/24 PC 10.1.50.0/24 OOB 10.1.99.0/24
│ (仅 3306)
核心业务 ▼
App 10.1.30.0/24 ──► DB 10.1.40.0/24
三、关键参数 / 决策表
| 决策项 | 推荐取值 | 依据 | 常见错误 |
|---|---|---|---|
| 域间默认动作 | 一律 deny,末尾兜底 |
最小权限,防遗漏 | 末尾放 permit any 导致全通 |
| DMZ→核心 放通范围 | 仅应用必需端口(如 Web→DB 3306) | 压缩横向移动路径 | 放通整个网段 10.1.30.0/24 any |
| 管理区访问 | 仅堡垒机 + 专线 SSH 22 | 管理面与业务面隔离 | 管理口直接暴露公网 |
| 思科 ASA 安全级 | untrust=0 / dmz=50 / inside=100 | 高→低默认放行、低→高需 ACL | 全部设成同级 100 失去意义 |
| 华为 USG 域优先级 | untrust=5 / dmz=50 / trust=85 / local=100 | 域间需 policy interzone 才能互通 |
只加域不配 interzone 策略 |
| 分区粒度 | 每业务域 ≤ 1 个 /24(按规模) | 便于 ACL 汇总与审计 | 一个大平层 /16 无法隔离 |
| 微隔离粒度 | 域内按应用/环境再分安全组 | 阻断域内横向移动 | 只做域间、不管域内 |
| 日志 | 跨域 deny 全量记录 | 满足审计与等保要求 | 只记 permit 不记 deny |
> 具体端口与网段以实际业务为准;分区规则冲突检测用 scripts/zoning_rule_conflict_detector.py 自动扫描。
四、分步 SOP
- 资产盘点与分级:列出全部主机/服务,按敏感度标核心/重要/一般三级,形成资产清单。
- 划分安全域:定出 DMZ、核心、办公、生产、管理区边界,每个域分配独立网段(VLAN/VRF)。
- 绘制访问控制矩阵:横轴纵轴为各域,逐格标注「放通协议+端口」或「拒绝」,形成矩阵(见
assets/zoning-access-matrix.csv)。 - 落地边界规则:在防火墙上按矩阵配置 zone-pair/interzone 策略,在交换机上用 ACL 做东西向隔离。
- 管理区独立:带外管理网单独路由,仅经堡垒机访问,配置源地址限制 + SSH。
- 规则冲突检测:跑
zoning_rule_conflict_detector.py扫描矩阵/策略,清理冗余、冲突、过宽规则。 - 验收与审计:逐条验证域间连通性(该通的通、该断的断),开启跨域日志并接入审计。
五、真实配置示例
思科 IOS-XE:Zone-Based Firewall(ZBFW)
! 1) 定义安全域
zone security INSIDE
zone security DMZ
zone security OUTSIDE
! 2) 定义检测类:放通 Web 访问
class-map type inspect match-any WEB-TO-DMZ
match protocol http
match protocol https
! 3) 定义策略:允许 Web,其余拒绝
policy-map type inspect INSIDE-TO-DMZ
class type inspect WEB-TO-DMZ
inspect
class class-default
drop log
! 4) 域对绑定策略(源 INSIDE 到目的 DMZ)
zone-pair security IN-DMZ source INSIDE destination DMZ
service-policy type inspect INSIDE-TO-DMZ
! 5) 接口归域
interface GigabitEthernet0/1
zone-member security DMZ
interface GigabitEthernet0/0
zone-member security INSIDE
华为 USG 防火墙:安全域 + interzone 策略
firewall zone untrust
set priority 5
add interface GigabitEthernet1/0/0
firewall zone dmz
set priority 50
add interface GigabitEthernet1/0/1
firewall zone trust
set priority 85
add interface GigabitEthernet1/0/2
! 放通 trust → dmz 的 Web 访问(outbound 方向)
policy interzone trust dmz outbound
policy 10
action permit
policy service service-set http
policy service service-set https
华为 CloudEngine:交换机 ACL 做东西向隔离(核心↔办公)
# 办公区(10.1.50.0/24) 仅允许访问核心应用 10.1.30.10 的 8443,其余拒绝
acl number 3001
rule 5 permit tcp source 10.1.50.0 0.0.0.255 destination 10.1.30.10 0.0.0.0 destination-port eq 8443
rule 10 deny ip source 10.1.50.0 0.0.0.255 destination 10.1.30.0 0.0.0.255
interface 10GE1/0/1
traffic-filter inbound acl 3001
> 完整可填空模板见 assets/zoning-acl-template.txt,逐行解释与更多厂商对照见 references/zoning-configs.md。
六、验证方法
# 思科 ZBFW:查看 zone-pair 命中与丢包
show policy-map type inspect zone-pair sessions
show zone security
# 华为 USG:查看 interzone 策略命中
display policy interzone trust dmz outbound
# 连通性验证(应通)
ping 10.1.30.10 -S 10.1.50.10 # 办公→核心应用(已放通 8443 但 ICMP 默认拒绝,按矩阵核对)
| 验证项 | 达标线 | 采集方式 |
|---|---|---|
| 未声明域间流量 | 全部被 deny 并留日志 | 防火墙日志 drop 计数 |
| 已声明服务 | 仅该端口可达,其余超时 | nc -zv 逐端口 |
| 管理区可达性 | 仅堡垒机源地址可达 SSH | 源地址限制 ACL + 日志 |
| 规则冲突 | 0 条冗余/冲突 | zoning_rule_conflict_detector.py |
七、常见故障排查
| 现象 | 根因方向 | 首要动作 |
|---|---|---|
| 域间该通的不通 | zone-pair/interzone 未建,或域优先级方向反了 | 核对源→目的方向的策略绑定 |
| 域间不该通的却通 | 缺末尾 deny,或 ACL 顺序问题 | 检查末尾兜底规则与命中顺序 |
| 管理口能公网直达 | 管理域未独立或没做源限制 | 把 OOB 迁到独立网段 + 源地址限制 |
| 新增服务后访问失败 | 矩阵没同步更新规则 | 更新矩阵 → 加规则 → 冲突检测 |
| 审计看不到 deny 记录 | deny 规则未开 log | 在 deny 规则加 log |
八、输出规范
交付时应产出:资产分级表、安全域划分拓扑图、访问控制矩阵(CSV)、域间策略/ACL 配置、规则冲突检测报告、验收连通性测试记录、审计开启说明。
九、边界与风险
- 分区规则以实际业务依赖为准,过度收紧会断业务,收敛前必须与业务方确认窗口与例外。
- 思科 ASA 的
security-level与 IOS-XE ZBFW 是两套机制,别混用语法。 - 微隔离(安全组)与网络分区是互补关系,本技能聚焦网络层分区,主机层微隔离另行处理。
- 不承诺「划了分区就绝对安全」,分区是纵深防御的一环,仍需配合漏洞管理、入侵检测。
配套资源
- 参数手册:
references/zoning-parameters.md - 厂商配置对照:
references/zoning-configs.md - 故障案例库:
references/zoning-troubleshooting.md - 访问控制矩阵数据:
assets/zoning-access-matrix.csv - ACL/防火墙配置模板:
assets/zoning-acl-template.txt - 脚本:
scripts/zoning_rule_conflict_detector.py(分区间访问规则冲突检测器) - 配套检查清单:《网络安全域划分清单》