第240篇:安全域划分与边界防护策略
关键词:安全域划分、DMZ、网络隔离、边界防护、微隔离、零信任、安全策略设计
一、引言
第239篇介绍了等保三级对网络架构的整体要求,其中核心之一就是安全域(Security Zone)的划分。安全域划分是网络安全设计的基石,将网络按照信任级别、业务类型和安全需求划分为不同的逻辑区域,在区域边界部署安全防护设备,实施差异化的访问控制策略。
安全域划分不仅是等保合规的要求,更是实际网络安全防护的最佳实践。合理的安全域设计可以有效限制攻击面、减缓攻击横向移动、降低安全事件影响范围。
二、核心概念
2.1 安全域划分原则
| 原则 | 说明 | 示例 |
|---|---|---|
| 最小权限 | 每个安全域仅包含必要的系统和服务 | Web服务器不应与数据库同域 |
| 信任分级 | 按信任级别由高到低划分安全域 | 管理域>内网>DMZ>互联网 |
| 业务隔离 | 不同业务系统划分不同安全域 | 财务系统与办公系统隔离 |
| 对称防护 | 每个边界双向部署防护策略 | 进出均受控 |
| 纵深防御 | 多层安全域、多层防护 | 外围→DMZ→内网→核心 |
2.2 典型安全域模型
| 安全域 | 信任级别 | 包含系统 | 访问策略 |
|---|---|---|---|
| 互联网区 | 最低 | 无(外部) | 仅允许访问DMZ |
| DMZ区 | 低 | Web服务器、邮件服务器、DNS | 受控访问内网特定服务 |
| 办公区 | 中 | 办公终端、共享文件 | 受控访问互联网和服务器 |
| 服务器区 | 中高 | 应用服务器、中间件 | 受控访问数据库 |
| 数据库区 | 高 | 数据库、核心数据 | 仅允许应用服务器访问 |
| 管理区 | 最高 | 堡垒机、日志服务器、NTP | 统一运维管理入口 |
2.3 边界防护策略类型
| 策略类型 | 说明 | 适用边界 |
|---|---|---|
| 包过滤 | 基于IP/端口/协议的访问控制 | 所有边界 |
| 状态检测 | 基于连接状态的流量控制 | 所有边界 |
| 应用识别 | 基于应用层的深度检测 | 互联网边界、DMZ边界 |
| 用户认证 | 基于用户身份的访问控制 | 办公区边界、管理区边界 |
| 内容过滤 | 基于数据内容的检测 | 出站边界(DLP) |
三、技术细节
3.1 安全域间访问矩阵

3.2 微隔离(Micro-Segmentation)
传统安全域划分在VLAN级别(较大粒度),微隔离在主机/容器级别实现更细粒度的隔离。
| 维度 | 传统安全域 | 微隔离 |
|---|---|---|
| 粒度 | VLAN/子网级别 | 主机/容器级别 |
| 控制平面 | 防火墙/路由器 | 主机Agent/SDN |
| 策略管理 | 集中管理 | 分布式策略 |
| 适用场景 | 物理/虚拟数据中心 | 云原生/容器环境 |
| 东西向流量 | 经过核心防火墙 | 主机间直接拦截 |
3.3 零信任架构与安全域
零信任(Zero Trust)理念"从不信任,始终验证"对传统安全域模型提出了挑战:
| 传统安全域 | 零信任 |
|---|---|
| 边界信任(域内可互信) | 无边界信任 |
| 基于网络位置的访问控制 | 基于身份的持续验证 |
| 静态策略 | 动态策略,实时评估 |
| 一次认证,长期访问 | 持续认证和授权 |
3.4 边界防护策略设计方法论
| 步骤 | 说明 | 产出 |
|---|---|---|
| 1.资产梳理 | 识别所有安全域和域内资产 | 资产清单 |
| 2.信任评估 | 评估各域之间的信任关系 | 信任矩阵 |
| 3.流量分析 | 分析正常业务流量模式 | 流量基线 |
| 4.策略制定 | 基于最小权限原则制定策略 | 策略清单 |
| 5.策略测试 | 验证策略的正确性和完整性 | 测试报告 |
| 6.策略上线 | 灰度发布,逐步替换旧策略 | 上线报告 |
| 7.策略审计 | 定期审计和优化策略 | 审计报告 |
四、实战配置/案例分析
4.1 华为USG安全域与边界防护完整配置
# =============================
# 安全区域定义
# =============================
# 1. 定义安全区域和优先级
zone name Trust
description "内部办公网络"
set priority 80
quit
zone name DMZ
description "对外服务区"
set priority 40
quit
zone name Untrust
description "互联网"
set priority 10
quit
zone name Management
description "管理区域"
set priority 100
quit
zone name Database
description "数据库区域"
set priority 90
quit
# 2. 将接口加入安全区域
interface GigabitEthernet0/0/0
ip address 203.0.113.1 255.255.255.0
zone name Untrust
quit
interface GigabitEthernet0/0/1
ip address 10.0.100.1 255.255.255.0
zone name DMZ
quit
interface GigabitEthernet0/0/2
ip address 10.0.10.1 255.255.255.0
zone name Trust
quit
interface GigabitEthernet0/0/3
ip address 10.0.20.1 255.255.255.0
zone name Database
quit
interface GigabitEthernet0/0/4
ip address 10.0.40.1 255.255.255.0
zone name Management
quit
# =============================
# 对象定义(IP组/服务组)
# =============================
# 3. 地址对象
ip address server-web 10.0.100.10 32
ip address server-mail 10.0.100.20 32
ip address server-app1 10.0.10.10 32
ip address server-app2 10.0.10.11 32
ip address server-db1 10.0.20.10 32
ip address server-db2 10.0.20.11 32
ip address bastion-host 10.0.40.10 32
ip address siem-server 10.0.40.20 32
# 地址组
address-group dmz-servers
address server-web
address server-mail
quit
address-group app-servers
address server-app1
address server-app2
quit
address-group db-servers
address server-db1
address server-db2
quit
# =============================
# 安全策略配置
# =============================
# 4. 互联网→DMZ(仅允许必要服务)
security-policy
rule name Allow_Internet_to_DMZ
source-zone Untrust
destination-zone DMZ
destination-address dmz-servers
service http https smtp smtps
action permit
log enable
# 安全检测
detect-policy ips-default
antivirus-policy default
urlfilter-policy default
quit
# 5. DMZ→应用服务器区(仅允许Web访问应用)
rule name Allow_DMZ_to_App
source-zone DMZ
destination-zone Trust
source-address server-web
destination-address app-servers
service http https
action permit
log enable
quit
# 6. 应用服务器→数据库(仅允许数据库端口)
rule name Allow_App_to_DB
source-zone Trust
destination-zone Database
source-address app-servers
destination-address db-servers
service mysql postgresql
action permit
log enable
quit
# 7. 办公区→互联网(受控访问)
rule name Allow_Office_to_Internet
source-zone Trust
destination-zone Untrust
source-address office-users
service http https dns
action permit
log enable
ssl-policy decrypt-all
application-policy app-control
quit
# 8. 办公区→应用服务器(仅允许业务访问)
rule name Allow_Office_to_App
source-zone Trust
destination-zone Trust
source-address office-users
destination-address app-servers
service http https
action permit
log enable
quit
# 9. 办公区→数据库(禁止直接访问)
rule name Deny_Office_to_DB
source-zone Trust
destination-zone Database
action deny
log enable
quit
# 10. 管理区→所有区域(通过堡垒机)
rule name Allow_Management_All
source-zone Management
destination-zone any
source-address bastion-host
service ssh https snmpv3
action permit
log enable
quit
# 11. DMZ→其他区域(默认拒绝)
rule name Deny_DMZ_to_Others
source-zone DMZ
destination-zone any
action deny
log enable
quit
# 12. 默认拒绝所有(最后一条规则)
rule name Default_Deny_All
source-zone any
destination-zone any
action deny
log enable
quit
quit
# =============================
# NAT配置(DMZ服务器发布)
# =============================
# 13. DMZ服务器端口映射
nat-policy
rule name NAT_Web_Server
source-zone Untrust
destination-zone DMZ
destination-service http https
destination-address 203.0.113.0 32
action source-nat static-ip
static address 10.0.100.10
quit
quit
# =============================
# 安全审计配置
# =============================
# 14. 策略命中统计
display security-policy statistics
# 15. 定期审计:清理未命中的策略
display security-policy hit-count
# 对于长期未命中的策略进行评估,必要时清理
4.2 故障排查案例:安全策略过于宽松导致数据泄露
故障现象:安全审计发现,某内部用户可以直接从办公网络访问到生产数据库,存在数据泄露风险。
排查步骤:
- 检查安全策略
# 查看Trust→Database区域的策略
display security-policy all | include Database
发现存在一条宽松的许可策略:
rule name Trust_to_Database
source-zone Trust
destination-zone Database
action permit
该策略允许办公区所有用户访问数据库区所有服务。
- 检查策略命中情况
display security-policy statistics rule-name Trust_to_Database
# 命中次数异常高,包含大量非业务IP的访问
-
根因分析 该策略为早期测试阶段创建,测试结束后未删除或收紧。策略过于宽松,允许办公区所有IP访问数据库区所有端口。
-
解决方案
# 步骤1:立即收紧策略
security-policy
# 替换为精细化策略
rule name Allow_App_to_DB_Only
source-zone Trust
destination-zone Database
source-address app-servers
destination-address db-servers
service mysql
action permit
log enable
quit
# 明确禁止办公区访问数据库
rule name Deny_Office_to_DB
source-zone Trust
destination-zone Database
source-address office-users
action deny
log enable
quit
quit
# 步骤2:策略审计和清理
display security-policy hit-count
# 识别并清理长期未命中的宽松策略
# 步骤3:建立策略变更管理流程
# - 所有策略变更需经安全团队审批
# - 定期(每季度)审计策略
# - 清理未使用或过期的策略
4.3 故障排查案例:DMZ服务器被攻陷后的横向移动
故障现象:安全监控发现DMZ区的Web服务器被攻破后,攻击者试图横向移动到内部数据库服务器。
排查步骤:
- 检查DMZ→内部区域的流量
display security-policy statistics | include DMZ
# 发现DMZ→Database区域有大量异常连接
- 分析攻击路径
# 查看异常会话
display firewall session table source-ip 10.0.100.10
# Web服务器(10.0.100.10)正尝试连接数据库服务器(10.0.20.10)的3306端口
- 检查DMZ→Database的策略
display security-policy all | include DMZ_to_Database
# 发现策略缺失或配置不当
# DMZ到数据库区域没有明确的拒绝策略
- 根因与整改 DMZ→Database区域之间没有明确的拒绝策略。虽然DMZ→Trust被限制,但DMZ→Database没有策略控制。
# 方案:添加DMZ→Database的显式拒绝
security-policy
rule name Deny_DMZ_to_Database
source-zone DMZ
destination-zone Database
action deny
log enable
quit
quit
# 在DMZ→Trust的拒绝规则之前插入,确保DMZ不能到达数据库
# 策略顺序至关重要:先精确匹配,后默认拒绝
五、总结
| 知识点 | 要点 |
|---|---|
| 安全域划分 | 按信任级别和业务类型划分,至少4个域 |
| DMZ设计 | 对外服务区,最小化访问权限 |
| 访问矩阵 | 明确域间访问关系,最小权限原则 |
| 边界防护 | 每个边界双向部署,应用层检测 |
| 微隔离 | 主机级隔离,适用于云原生环境 |
| 零信任 | 持续验证,不基于位置的信任 |
| 策略管理 | 定期审计、清理宽松策略、变更审批 |
| 纵深防御 | 多层安全域、多层防护设备 |
思考
- 在微隔离架构中,安全域的概念是否仍然必要?微隔离能否完全替代传统安全域划分?
- 如何设计安全域间访问矩阵以确保"最小权限"?是否所有域间访问都需要显式定义(白名单)还是部分可以依赖默认拒绝(黑名单)?
- 零信任架构下,传统的VLAN隔离和防火墙策略是否仍然有价值?零信任是替代还是补充了传统安全域模型?
下篇预告:第241篇:等保三级VLAN隔离的合规实现