本节摘要:TCP/IP 协议栈把网络通信分层为链路、网络、传输、应用四层,每一层的攻击面与防御工具各不相同;安全域(Security Zone)则把这套认识落成架构语言——按信任级别划区、在区与区的边界上设控制点。本节给出四层攻击面速查、安全域的划分原则与一张典型分区切面图。承接第 5 章章首的骨架视角,本节是底座,通往 5.2 节的两个加密标准件。
"网络安全"这个大词落到工程上,第一个有用的动作就是分层定位:出问题的东西住在协议栈哪一层?每层有每层的业主、每层的工具、每层的对手——混层讨论是新手排障与新手防御共同的糊涂源头。
| 层 | 管什么 | 该层典型攻击 | 该层防御 |
|---|---|---|---|
| 链路层 | 同网段寻址与帧传输 | ARP 欺骗、MAC 洪泛、恶意接入点 | 交换机端口安全、动态 ARP 检测、802.1X 准入 |
| 网络层 | 跨网段路由与寻址 | IP 欺骗、路由劫持、ICMP 滥用 | 路由认证、反欺骗过滤、边界 ACL |
| 传输层 | 端到端连接(TCP/UDP) | SYN 洪水、端口扫描、会话劫持 | 状态检测防火墙、SYN cookie、速率限制 |
| 应用层 | 具体业务协议与内容 | 注入、XSS、协议漏洞、慢速攻击 | WAF、输入校验、补丁与安全开发 |
两个观察值得划线。其一,层数越高,攻击越"聪明"也越值钱:链路层攻击偏物理邻近,应用层攻击隔着半个地球照样打——这也解释了为什么防御重心逐年上移。其二,低层防线失守会"顶托"高层:链路层被 ARP 欺骗之后,应用层的一切加密都在假信道上跑(4.4 节的公钥调包正是这种组合)。分层不是各管各,是层层互为前提。
安全域是把"信任级别相同、安全要求相同的资产"圈在一起的架构分区。它的两条设计公理:第一,信任级别不同的资产不共域(访客 Wi-Fi 与财务系统绝不同区);第二,域间流动必须经过控制点(没有控制点的边界等于没划)。
域的粒度是工程取舍:太粗(只有内外两区)等于没有分区,太细(一台机器一域)则策略数量爆炸、运维破产。常见的中型机构划法是五到七个域,看一张切面图:

注意运维域的位置:它能进所有域,是权限最大的一条通道,所以它自己必须是独立域、独立加固、独立审计(4.2 节的堡垒机与特权会话管理落在这里)。分区设计里最容易犯的错就是把运维通道当成"背景设施"随手布——看门人不受管,分区图就是给入侵者画的地图。
画拓扑图时同步画信任箭头。 每条连线标注"谁主动、谁信任谁",流向不明的连线就是设计欠账。这个习惯和 1.3 节的攻击面收敛直接挂钩:控制点数量与连线数量成正比,砍一条不必要的连线就少一台需要策略的设备。
云上分区沿用同一套语言。 VPC、子网、安全组、网络 ACL 就是安全域思想的云上实现,术语换了,公理不变:信任级别不同不共子网,域间流动过安全组。多数云上事故(对象存储被扫穿、管理端口暴露公网)的根因不是云不安全,是划域时把公理忘了。
⚠️ 常见坑:测试环境与生产环境同域。测试环境天然配置松散、弱口令横行,与生产同域等于给攻击者留了一条"从松散侧打入核心区"的捷径。测试数据脱敏加上独立域,两条都要。
💡 关键直觉:拿到任何架构图,先找"离门最近的资产"和"权限最大的通道"——前者决定攻击者的落脚点,后者决定他能走多远。两者都管住了,图上其他细节都有得谈。
把一份架构评审笔记(脱敏改写)放进附卷,看看安全域思想怎么落在真实拓扑上:
拓扑摘要: 对外 Web 直连内网数据库; 办公网与生产网同段; 运维跳板机开着到所有主机的远程桌面; 测试环境借生产数据库 评审意见一: Web 到数据库之间缺应用层隔离 —— 建议加应用网关或至少 独立网段加点名放行, Web 失陷不应直达数据库 评审意见二: 办公与生产同段是红线 —— 终端 malware 横向摸到生产 是近年最常见路径, 必须分段 评审意见三: 跳板机全通等于把"钥匙串"挂在门口 —— 收敛到按角色 授权, 且跳板会话全程录屏 评审意见四: 测试借生产库违反域间公理 —— 数据出域, 测试库用脱敏副本 评审意见五: 缺一张"谁主动连谁"的信任箭头图 —— 补图后再评一轮
五条意见里有四条不花钱——分段、授权、脱敏、画图,全是纪律而非设备。这也是分区评审的普遍规律:多数发现属于"把 5.1 节的两条公理执行到位",少数才需要新建控制点。
常见分区错误也值得收成对照表,自查时逐条扫一遍:
| 分区错误 | 后果 | 修正 |
|---|---|---|
| 访客 Wi-Fi 与办公同段 | 访客成为跳板 | 访客独立域,仅出网 |
| 一段到底的扁平内网 | 横向移动零阻力 | 按业务划域加域间控制 |
| 数据库段无独立边界 | 单点失陷全库沦陷 | 数据域只收应用域点名访问 |
| 云上子网全开安全组 | 边界形同虚设 | 安全组跟随应用清单声明化 |
| 备份系统与生产同域 | 勒索一并加密备份 | 备份独立域加不可变存储 |
表里最后一行是近年新增的必修课:备份若和生产共享一套账号体系,勒索软件拿到域权限后会顺手把备份也加密——6.1 节的连续性计划从此形同虚设。把备份圈进独立域、加不可变与离线副本,是分区思想对"最坏情况"的兜底。
分层不只用于防御,排障时它是最快的定位器。把常见症状按层归位:
| 症状 | 首选怀疑层 | 快速验证 |
|---|---|---|
| 同网段互访异常,跨段正常 | 链路层(ARP/交换) | 查 ARP 表与端口学习 |
| 能通 IP,域名不通 | 应用层之上的 DNS | 直接指定解析对比 |
| 连接能建立,传输中断续 | 传输层(MTU/超时) | 抓包看重传与分片 |
| 丢包集中在过防火墙路径 | 网络层策略 | 对照会话日志五元组 |
| 只有特定接口报错 | 应用层 | 看应用日志与 WAF 拦截记录 |
表的价值是省掉"逐层盲试"的时间:症状先定位到最可疑层,一步验证替代五步猜测。反过来,安全自查也能用同一张表倒着走——每层列出"这一层的控制点还在不在":链路层的端口安全、网络层的反欺骗过滤、传输层的速率限制、应用层的 WAF 与输入校验。四层各有控制点,缺失的那层就是 5.1 节说的"最细的那根管子"。
分段自查再补一个高频盲区:临时放行的回收。割接、演练、联调期间的临时策略,用完即忘是常态。可行的纪律是给每条临时规则打标签加过期时间,到期自动失效加人工确认——把"临时"变成有期限的正式条目,而不是没有期限的永久漏洞。
分区治理的隐性基础设施是命名规范。名字混乱,策略与审计都会跟着乱。一套可直接套用的示例:
<环境>-<域>-<序号> 例: prod-app-01 prod-db-01 test-app-01 dmz-web-01 规则一: 环境三选一 prod / test / dev —— 一眼分清生产与测试 规则二: 域名与安全域一一对应, 域内再按业务加后缀 规则三: 运维与跳板统一冠 mgmt 前缀 —— 特权通道自带显眼标记 规则四: 命名进 CMDB, 与安全组策略联动生成
规范的真正作用在第 2 和第 4 条:名字与域一一对应后,"这条流量从 prod-app 到 prod-db"这样的策略描述就自带语义,评审效率与误配率同步改善;名字进 CMDB 联动策略生成后,新机器上线自动落域,"幽灵资产"(6.5 节)连出生的机会都没有。命名是成本最低的一份安全基建,值得每个团队花一个下午定稿。