4. 网络隔离实战

当终端或服务器确认失陷后,攻击者最常做的下一件事不是继续加密,而是横向移动:扫描内网、抓取凭据、跳板到域控或数据库。此时如果只是拔网线,业务会瞬间中断;如果什么都不做,横向移动会在几分钟内扩散。网络隔离的目标不是"断网",而是在保留必要管理通道的前提下,把失陷主机的可达范围压缩到最小。本节按"先定位、再分层封堵、最后验证"的顺序,讲清 VLAN、ACL、防火墙、微隔离和 SDN 策略这五种手段各自适合切在哪一层、怎么切、切完怎么确认。

先明确隔离的边界:切什么、留什么

动手前必须先写清两件事:一是要切断的流量,通常是失陷主机到其他内网主机的横向协议(SMB 445、RDP 3389、WinRM 5985/5986、SSH 22、WMI 135、数据库 1433/3306 等);二是必须保留的通道,包括安全团队的取证接入、EDR 管理回连、补丁与杀软更新、以及必要的业务心跳。判断依据可以简单记为:凡是"失陷主机主动发起、指向其他内网资产"的流量默认拒绝;凡是"管理侧主动发起、指向失陷主机"的流量按需放行。这条方向约定在后续所有策略中保持一致。

隔离不是永久状态。建议为每条隔离策略设定有效期(例如 4 小时)和责任人,到期自动复核,避免"临时封堵"变成长期遗留的规则债。

五种手段的分层定位

这五种技术不是互相替代,而是作用在不同粒度上。VLAN 改变的是二层广播域归属,适合把一台主机整体挪出原网段;ACL 作用在三层/四层,通常部署在汇聚或核心交换机的 SVI 上,按源/目的 IP 和端口过滤;防火墙是带状态的策略设备,能按应用、用户、时间做更细判断;微隔离工作在主机或工作负载层面,用 agent 或主机防火墙实现"一机一策";SDN 策略则通过控制器集中下发流表,适合大规模、快速、可编排的封堵。下图给出这五层在数据路径上的位置与典型封堵对象。

失陷主机横向移动路径与五层隔离切点 失陷主机 10.20.3.51 VLAN 30 域控 / 数据库 10.20.9.10 同网段服务器 10.20.3.60 管理 / 取证通道 10.20.250.0/24 445 / 3389 / 135 横向 管理侧主动接入(保留) VLAN 二层广播域 整体挪出网段 ACL SVI 三层过滤 IP + 端口 防火墙 有状态策略 应用 / 用户 微隔离 主机级策略 一机一策 SDN 控制器下发 流表编排 粒度由粗到细:VLAN → ACL → 防火墙 → 微隔离 → SDN 流表

VLAN 与 ACL:最快见效的两刀

如果失陷主机所在网段与核心资产同处一个大二层域,最快的一刀是把该端口划入隔离 VLAN。以接入交换机为例,把原 VLAN 30 的端口改为隔离 VLAN 999,并只保留一条指向管理网段的三层路由:

interface GigabitEthernet1/0/24
 description QUARANTINE-HOST-10.20.3.51
 switchport mode access
 switchport access vlan 999
 spanning-tree portfast
!
interface Vlan999
 ip address 10.20.99.1 255.255.255.0
!
ip access-list extended QUARANTINE-IN
 permit ip 10.20.99.0 0.0.0.255 10.20.250.0 0.0.0.255
 deny   ip any 10.20.0.0 0.0.255.255
 permit ip any any
!
interface Vlan999
 ip access-group QUARANTINE-IN in

这段配置的含义是:隔离网段只允许访问管理网段 10.20.250.0/24,其余指向内网 10.20.0.0/16 的流量全部丢弃。注意 ACL 的匹配顺序是自上而下,deny 必须写在放行管理通道之后、permit ip any any 之前,否则管理通道会被误伤。ACL 部署在 SVI 的 in 方向,意味着在流量进入三层转发前就丢弃,效率高且不影响其他网段。

防火墙与微隔离:把策略落到主机和工作负载

当失陷主机不能挪 VLAN(例如它同时承载关键业务),就需要在防火墙上做更细的策略。典型做法是新建一条"隔离策略组",源为失陷主机 IP,动作为拒绝,但排除管理网段和 EDR 服务器:

策略名: QUARANTINE-10.20.3.51
源地址: 10.20.3.51/32
目的地址: 10.20.0.0/16
排除: 10.20.250.0/24, 10.20.251.10 (EDR)
服务: any
动作: deny + log
生效时间: 立即, 有效期 4h

微隔离则把同样逻辑下沉到主机。以某主机微隔离 agent 的策略为例,出站默认拒绝,仅放行到管理网段和 EDR 的 443/8443:

{
  "policy": "quarantine-host",
  "direction": "egress",
  "default": "deny",
  "allow": [
    {"dst": "10.20.250.0/24", "proto": "tcp", "port": "22,3389"},
    {"dst": "10.20.251.10", "proto": "tcp", "port": "443,8443"}
  ],
  "log": true
}

微隔离的优势是不依赖网络设备、不受物理位置限制,即使主机被迁移到别的网段,策略依然生效;代价是需要 agent 在线,且要提前确认 agent 自身的管理通道不被误封。

SDN 策略:大规模快速编排

当失陷主机数量多、或需要按业务标签批量隔离时,SDN 控制器能一次性下发流表。例如按标签 role=web 且 compromised=true 的主机,统一禁止其访问 role=db 和 role=dc,仅允许到 role=mgmt:

match: src.tag=compromised, dst.tag in [db, dc]
action: drop, log
priority: 200
---
match: src.tag=compromised, dst.tag=mgmt
action: allow
priority: 100

SDN 的关键在于标签体系要提前建好。如果资产没有打标签,临时隔离就只能靠 IP 列表,规模一大就容易漏。建议在平时就把域控、数据库、管理网段、EDR 等关键角色打上标签,事件发生时才能"一键圈定"。

隔离后的验证与回退

策略下发不等于生效。验证要抓三个点:一是从失陷主机侧测试到同网段服务器和域控的 445/3389 是否超时;二是确认管理侧仍能 SSH/RDP 到失陷主机、EDR 心跳仍在;三是查看防火墙或 ACL 的命中计数与日志,确认拒绝规则确实被匹配。若发现业务被误伤,回退顺序应与下发相反:先撤 SDN 流表,再撤微隔离策略,最后恢复 ACL 和 VLAN,每一步都留观察窗口。

不要只依赖"主机 ping 不通"来判断隔离成功。ICMP 被禁是常见配置,真正要验证的是横向协议端口是否被阻断,以及管理通道是否仍然可用。
手段作用层典型生效时间适用场景主要风险
VLAN二层秒级整机挪出原网段影响同端口其他业务
ACL三层/四层秒级网段级快速封堵规则顺序写错误伤管理
防火墙三到七层秒级按应用/用户精细控制策略过多难维护
微隔离主机/工作负载秒到分钟主机迁移后仍生效依赖 agent 在线
SDN流表/编排秒级大规模批量隔离依赖标签体系完整