VLAN 跳跃是怎么发生的
VLAN 跳跃攻击利用两个薄弱点把流量送进本不该到达的 VLAN:一是思科的 DTP 自动协商,攻击者把交换机插到工位端口后,端口被协商成 Trunk,从而获得全部 VLAN 的可见性;二是双标签(QinQ)技巧,利用原生 VLAN 不打标签的特性把内层标签塞进其他 VLAN。防护的关键是接入口固定为 access、关闭 DTP 协商、Trunk 口限制允许的 VLAN,并让原生 VLAN 不承载业务。
基本信息
| 适用平台 | 以思科 IOS 的风险最突出,华为 VRP 与 H3C Comware 无 DTP |
|---|---|
| 主要风险点 | DTP 自动协商、原生 VLAN 承载业务、Trunk 未收敛放行列表 |
| 核心防护 | 端口固定类型、关闭协商、原生 VLAN 隔离、允许 VLAN 收敛 |
| 相关攻击 | 双标签(QinQ)方式利用未打标签帧的归属规则 |
典型使用场景
- 接入端口安全基线的默认配置规范
- 办公区工位端口的出厂与巡检标准
- Trunk 端口按需收敛允许通过的 VLAN 列表
- 安全评估或渗透测试后的整改项落地
- 排查出现跨 VLAN 可见这类异常访问时
思科 IOS
思科 IOS
SW-CORE-01(config-if)# switchport mode access
SW-CORE-01(config-if)# switchport nonegotiate # 关闭 DTP 协商
SW-CORE-01(config-if)# switchport access vlan 10
SW-CORE-01(config-if)# switchport trunk native vlan 999 # 原生 VLAN 不使用业务 VLAN
SW-CORE-01(config-if)# switchport trunk allowed vlan 10,20
SW-CORE-01# show interfaces GigabitEthernet1/0/1 switchport华为 VRP
华为 VRP
[Huawei-GigabitEthernet0/0/1] port link-type access
[Huawei-GigabitEthernet0/0/1] port default vlan 10
[Huawei-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20
<Huawei> display port vlanH3C Comware
H3C Comware
[H3C-GigabitEthernet1/0/1] port link-type access
[H3C-GigabitEthernet1/0/1] port access vlan 10
[H3C-GigabitEthernet1/0/1] port trunk permit vlan 10 20
<H3C> display vlan防护项与命令对照
| 防护项 | 思科 IOS | 华为与 H3C |
|---|---|---|
| 端口固定类型 | switchport mode access | port link-type access |
| 关闭协商 | switchport nonegotiate | 无 DTP,链路类型必须显式指定 |
| 原生 VLAN 隔离 | switchport trunk native vlan 999 | Hybrid 口把非业务 VLAN 作为 PVID |
| Trunk 最小放行 | switchport trunk allowed vlan 10,20 | port trunk permit vlan 10 20 |
华为 VRP 与 H3C Comware 不支持 DTP 自动协商,端口类型必须显式指定,因此天然不受 DTP 方向的跳跃影响;思科侧务必配置 switchport nonegotiate,并把 Trunk 的允许 VLAN 收敛到业务所需的最小集合。
原生 VLAN 一旦设为业务 VLAN,未打标签的帧会直接落入该 VLAN,这正是双标签跳跃成立的前提。正确做法是给原生 VLAN 单独分配一个隔离用 VLAN,不承载业务。
VLAN 跳跃防护通常与端口安全成套部署:限制接入端口的 MAC 数量上限、防止 MAC 泛洪,可以同时压住私接设备与伪造源地址两类风险,这两项往往在同一次接入整改里一起落地。