防御的位置不是"哪里重要就放哪里",而是按流量的方向摆——大多数讨论都在讲"入口",但攻击得手之后的每一个动作,都是"出口"方向。
前面七节讲的是攻击的七种做法(看、改、冒、越权、借用、留门、压垮)。这一节开始换视角——从"攻击者怎么做"转到"防守方该把力气花在哪里"。
它是第二章后半段(2-9 到 2-15)的总纲。后面每一节讲的都是"某个位置上的某个手段":防火墙在边界、抓包在链路上、检测设备在关键节点、集中管理在后台、分段在网络里、无线在最后一跳。这一节要先把"位置"这件事说清楚。
一、先分清三个方向
这是本节最核心的一张表。看流量不能只看"从哪来",要看它往哪个方向去:
| 方向 | 指的是什么 | 谁在看这一段 | 典型动作 |
|---|---|---|---|
| 入口 | 从外部进入内部 | 边界设备 | 扫描、尝试登录、投递钓鱼邮件 |
| 出口 | 从内部发往外部 | 出口策略、网络检测 | 回连服务器、外传数据、解析恶意域名 |
| 内部 | 内部机器之间 | 分段策略、东西向检测 | 横向扫描、批量读取文件 |
三个方向里,被讨论最多的是"入口",但造成损失最多的往往是"出口"和"内部"。 原因很直白:
- 入口防御是看别人来——它是"别让坏人进来";
- 出口防御是看自己出去——它是"万一进来了,别让他把东西拿走、别让他跟外面联系"。
现实是:单点被攻破在绝大多数环境里是迟早的事。 所以真正决定损失大小的,是进来之后能做什么——而这一步全发生在出口和内部。
二、出口防御为什么特别值钱
一台被攻陷的机器要想有价值,必须满足两个条件之一:能跟外面联系(接受指令、回传结果),或者能把东西送出去(外传数据)。这两件事都走出口方向。
所以出口策略能做三件很关键的事:
- 掐断回连——恶意程序需要定期向它的控制服务器报到。如果这个方向的连接出不去,恶意程序就变成了一个孤岛。
- 拦住外传——数据要离开你的网络才能算被偷走。出口方向是"最后一关",也是唯一能拦住大批量外传的位置。
- 发现异常解析——恶意程序要找到它的服务器,通常得先做域名解析。异常解析是"里面有东西"的一个很强的信号。
一句话记法:入口防的是"它能不能进来",出口防的是"它出去能干成什么"。
三、"多层防御"到底是什么意思
"多层防御"(有时叫纵深防御)经常被说成"多买几台设备",但它真正的意思不是这个。它指的是:
假设每一层都可能被绕过,所以要在不同的位置、用不同的机制,让同一次攻击必须连续成功多次。
层次是这么设计的:
- 边界层——把明显不该进来的挡在外面;
- 区段层——即使进来了,也走不出那一段;
- 主机层——即使到了机器上,也有行为拦截;
- 数据层——即使拿到了文件,也是加密的、也有权限;
- 身份层——即使拿到了账号,也缺少第二个因子。
多层的价值不在"多",而在"彼此不依赖"——如果五层用的都是同一套机制(比如说都靠"认 IP"),那只要攻击者换个地址,五层就一起失效了。
四、动手 Demo:把十条流量按方向排一排
flows = [
("外部用户访问官网", "入口"),
("外网尝试连内网数据库端口", "入口"),
("钓鱼邮件带附件进入邮箱", "入口"),
("外部扫描内网段 IP", "入口"),
("已中招的主机回连命令控制服务器", "出口"),
("内部数据被打包传到境外云盘", "出口"),
("内网设备向恶意域名做域名解析", "出口"),
("被接管的设备主动连住宅代理服务", "出口"),
("一台机器扫同网段其他机器", "内部"),
("办公机访问内网文件服务器", "内部"),
]
实跑输出:
流量 方向 常见的检查位置
------------------------------------------------------------------------------
外部用户访问官网 入口 边界防火墙 / 入侵防御
外网尝试连内网数据库端口 入口 边界防火墙 / 入侵防御
钓鱼邮件带附件进入邮箱 入口 边界防火墙 / 入侵防御
外部扫描内网段 IP 入口 边界防火墙 / 入侵防御
已中招的主机回连命令控制服务器 出口 出口策略 / 网络检测响应
内部数据被打包传到境外云盘 出口 出口策略 / 网络检测响应
内网设备向恶意域名做域名解析 出口 出口策略 / 网络检测响应
被接管的设备主动连住宅代理服务 出口 出口策略 / 网络检测响应
一台机器扫同网段其他机器 内部 内网分段 / 东西向检测
办公机访问内网文件服务器 内部 内网分段 / 东西向检测
入口 4 条 | 出口 4 条 | 内部 2 条
①【入口】永远是讨论最多的,因为攻击消息面就从那里进——
但注意:攻击真正造成损失的那些动作,全都发生在【出口】和【内部】。
② 出口过滤能挡住的正是最要害的三件:僵尸回连、数据外传、恶意域名解析。
一台被接管的机器之所以还有价值,就因为它【能把东西送出去】。
把出口一关,它就从武器变成了孤岛。
③ 内部那两条解释了一个词:东西向流量。
它指的是内网机器之间的通信——传统边界设备天生看不到这一段。
④ 为什么必须【多层】:2026 年的统计是,
近五分之一的案例里,数据外泄发生在系统失陷后的第一个小时内;
从初始入侵到外泄的平均时间已经压缩到小时级。
单层防御只要被打穿一次,后面就没有第二次机会。
读这个输出:十条里有四条是出口方向,但多数单位在这四条上的投入远少于入口那四条。尤其注意"向恶意域名做解析"和"连住宅代理服务"这两条——它们看起来很普通(都是正常的出网访问),不看行为根本分辨不出来,这也正是它们难防的原因。
五、出口防御为什么常被忽略
三个原因:
- 直觉上"往外发"不像威胁。 出口流量有自己的业务(软件更新、云同步、备份),很容易被当成正常。
- 出口策略做细了会拦自己的业务。 业务系统往往需要访问很多外部地址,一刀切会立刻出问题——所以很多单位干脆放开。
- 没有人在看。 入口有设备、有检查项、有合规要求;出口往往既没有设备,也没有人负责。
但请看第四节的最后那条数据:近五分之一的案例中,数据外泄发生在失陷后的第一个小时之内。也就是说,靠"事后慢慢查"已经来不及了——必须有一条防线在数据往外走的那一刻就看得见。
六、⚠️ 2026 现状
- "零信任"已经成为主流范式。 2026 年的权威架构指南基本都把它当作默认思路:不再有"内网就是可信的"这回事,每次访问都要重新验证身份和设备状态。它落到具体技术上大致是:身份与访问管理(多因子、单点登录、条件访问)、设备合规检查、最小权限、持续验证、加密通信、以及网络微隔离。
- 传统"边界+VPN"的结构正在被替代。 传统远程接入的思路是"连上 VPN 就进到内网了,然后你能碰到很多不该碰的东西"。新的做法(零信任网络访问)改成按应用授权——你能连到哪个应用,就只连那个应用。这实质上把"入口"做小了:进来的人默认什么都碰不到,用到什么才给什么。
- 出口方向的具体做法在标准化。 权威的网络安全等级保护框架里,"安全区域边界"这一块对边界防护有明确要求,其中就包括对非授权设备私自联到内部网络的行为进行检查或限制、以及对内部用户非授权联到外部网络的行为进行检查或限制。后半句就是出口方向。 同一块还要求默认拒绝、删掉冗余的访问控制规则、按会话状态放行。
- "多层"的时间压力前所未有。 有公开研究指出,在近五分之一的案例中,数据外泄发生在系统失陷后的第一个小时之内;同时多份报告都把"从初始入侵到外泄"的平均时间压缩到小时级。这意味着人工响应已经跟不上——层次之间需要能自动联动(一处发现,能自动在别处收紧)。
- 云和安全能力的交付方式也变了。 安全能力越来越多以软件化、容器化的形式交付,并深度集成到云平台里;"防火墙即服务"和安全访问服务边缘这类架构成为重要方向——安全能力以云服务形式弹性交付。对企业来说,好处是不用自己堆硬件,代价是依赖关系向服务商转移。
- 一个务实的最低动作:如果暂时做不到完整的零信任体系,至少先把出口方向管起来——记录所有出网连接、对异常的目标地址和异常的数据量做告警、禁止内部机器直接访问与业务无关的外部地址。这一步的投入很小,但能拦住的正是"数据被拿走"这个终局动作。
30 秒实验
做一次"方向自查",两件事:
- 在你自己的电脑上打开"资源监视器"(Windows)或"活动监视器"(macOS)的网络标签,看当前有哪些程序在对外连接。你会看到很多你从没打开过的程序在联网——这就是出口方向的常态:它一直很忙,所以异常很难被发现。
- 想一想你的网络里有没有人在看"往外发的流量"。如果答案是"没人看",那这一节的结论就落到了你身上:你的防守只做了半张网。
这一节要带走的一句是:入口防的是"别让坏人进来",出口防的是"别让他把东西带走"——而后者,才是损失真正发生的地方。
常见误区
-
错误:只要把入口守住,后面就没问题了。——纠正:入口是必要条件,不是充分条件。 现实里入口防线的绕过方式太多(钓鱼邮件、自带设备、供应商接入、被攻陷的云服务、甚至内部人员)。所以必须假设"进来"迟早会发生,重点设计"进来之后能做什么"。这就是多层防御的出发点。
-
错误:多层防御就是多买几台设备。——纠正:关键在"机制不同、彼此不依赖"。如果五层都靠同一个判据(比如都只认 IP 地址、都只看端口),那攻击者换一个维度,五层就一起失效。有效的多层是在不同维度上设卡:身份、设备状态、行为模式、数据内容、网络位置。
-
错误:我们的内部网络很安全,都是自己人。——纠正:"内网可信"这个前提在 2026 年已经被主流架构抛弃了。 内部网络里同样会有被钓鱼的员工电脑、默认口令的设备、以及离职后没回收的账号。所以主流做法是内部也分段、内部也验证——不因为它在里面就默认它可信。
-
错误:出口策略太麻烦,业务会受影响,所以先放开。——纠正:这是一个权衡问题,不是一个"要不要"的问题(见 成本、便利性、安全性的考量)。务实的做法是分两步走:第一步只记录和告警(不拦),摸清正常的出口是什么样;第二步再对确认异常的类别收紧。先有可见性,再谈控制——直接一刀切必然失败。
自测三问(点开对答案)
1. 为什么说"攻击真正造成损失的动作,大多发生在出口方向"? —— 因为**一台被攻陷的机器要产生价值,必须能跟外面联系或能把东西送出去**。接受指令要走出口、回传结果要走出口、外传数据要走出口——**这三件事都在出口方向**。相反,入口只是"进来的那一下";进来之后要造成损失,**几乎每一步都要往外走**。所以出口方向是"损失的最后一道闸门"。 2. "多层防御"里,"多层"的关键是什么? —— 关键不是**数量**,而是**彼此不依赖**。如果多层的判据相同(都只认 IP、都只看端口),那绕过一个就等于绕过全部。有效的多层是在**不同维度设卡**:身份维度(你是谁)、设备维度(这台机器是否合规)、行为维度(这个动作是否异常)、数据维度(内容是否可以外发)、位置维度(从哪一段发起)。**维度不同,才叫真的一层。** 3. 为什么"先记录、后拦截"是出口策略更务实的落地顺序? —— 因为**你不知道正常的出口长什么样**。出口流量里本来就有大量合法访问(更新、云同步、备份、接口调用),一上来就拦必然误伤业务,然后被迫全放开。**先只记录和告警**,跑一段时间就能摸清"哪些目标、哪些时段、多大的量"是正常的;**有了这个基线,再收紧才有依据**。这也是本章后面 2-11 要讲的"先只检测不阻断"的同一个思路。- ☐ 下一节(2-9 非法访问的基本防御对策)
相关笔记
- 非法访问的基本防御对策 —— 下一篇:边界上的第一道具体手段——防火墙
- 拆分网络 —— 后面会讲:把"内部"这一段再切细
- 无辜的人变成犯罪者 —— 出口方向要拦的第一件事:僵尸网络回连
- 成本、便利性、安全性的考量 —— 出口策略是一道权衡题
- 🛡️ 网络与信息安全 · 索引 —— 全课路线图