STP Security
BPDU Filter
定义
BPDU 过滤,用于实现对接口 < access > 的 BPDU 过滤。
原理
存在这样一种攻击方式,有一名黑客使用一台攻击机,通过交换机的 access 口接入到交换网络中,伪装成优先级高的交换机,向交换网络发送 BPDU 包并将其优先级修改为 0,将会导致同一 vlan 涉及的设备中原本一条链路断掉;或者不断地修改优先级,导致链路抖动。
部署
第一种方法
spanning-tree portfast edge bpdufilter default
第二种方法
Int f0/0
spanning-tree bpdufilter enable
show spanning-tree summary totals //查看 STP 的高级特性
BPDU Guard
定义
BPDU 保护,用于实现对接收到 BPDU 数据包的端口进行防护。
原理
一旦在某指定接口接收到本不应存在的 BPDU 包,直接将该接口断掉,使其呈现为软关闭 err-disabled 状态。相较于过滤,该方法防护手段更加强硬。
部署
第一种方法
spanning-tree portfast edge bpduguard default
第二种方法
Int f0/0
spanning-tree bpduguard enable
检查命令
show interface e0/3
show spanning-tree summary totals // 查看 STP 的高级特性
指定时段后恢复端口状态
errdisable recovery cause bpduguard
errdisable recovery interval 30
Root Guard
定义
根防护,同样用于实现对接收到 BPDU 数据包的端口进行防护。
原理
该方法相较于前两种方法更具有针对性,如果在某指定端口收到的 BPDU 包的优先级高过交换网络内存在的其他 BPDU,则认为该端口受到了入侵,过滤并关闭该端口。
部署
interface F0/1
spanning-tree guard root
总结
BPDU 过滤:不收不发,端口状态不变;
BPDU 保护:只要收到 BPDU 信息,端口状态 err-disable;
ROOT 保护:只要收到 BPDU,端口状态不变,生成树状态为 *ROOT_Inc。