交换机欺骗
在交换机欺骗攻击中,攻击主机通过说出用于维护 VLAN 的标记和中继协议(例如多 VLAN 注册协议、IEEE 802.1Q、动态中继协议)来模仿中继交换机。然后攻击主机可以访问多个 VLAN 的流量。
减轻
只有当接口设置为协商中继时,才能利用交换机欺骗。要防止这种对 Cisco IOS 的攻击,请使用以下方法之一:
- 通过禁用 DTP 确保端口未设置为自动协商中继:
Switch(config-if)# switchport nonegotiate
- 确保不打算作为中继的端口被明确配置为接入端口
Switch(config-if)# switchport mode access Double tagging
在双重标记攻击中,连接在 802.1q 接口上的攻击主机在其传输的数据包中添加两个 VLAN 标记。数据包(对应于攻击者真正所属的 VLAN)在没有第一个标签的情况下转发,因为它是本地 VLAN。然后,第二个 (false) 标记对数据包遇到的第二个交换机可见。这个错误的 VLAN 标记表明数据包的目的地是第二个交换机上的目标主机。然后将数据包发送到目标主机,就好像它起源于目标 VLAN 一样,绕过在逻辑上将 VLAN 彼此隔离的网络机制。然而,这种攻击允许向第二个交换机发送数据包,但可能的答案不会转发到攻击主机。
减轻
只有当交换机使用“本机 VLAN”时才能利用双重标记。 [2] 具有特定访问 VLAN(本地 VLAN)的端口在发送帧时不会应用 VLAN 标记,从而允许下一个交换机读取攻击者的虚假 VLAN 标记。
可以通过以下任一操作(包括 IOS 示例)来缓解双重标记:
只需不要将任何主机放在 VLAN 1(默认 VLAN)上。即为每个接入端口分配一个非VLAN 1的接入VLAN
Switch(config-if)# switchport access vlan 2
将所有中继端口上的本地 VLAN 更改为未使用的 VLAN ID。
Switch(config-if)# switchport trunk native vlan 999
在所有中继端口上显式标记本地 VLAN。必须在网络自治的所有交换机上进行配置。
Switch(config)# vlan dot1q tag native
例子
作为双重标记攻击的示例,请考虑名为 VLAN2 的 VLAN 上的安全 Web 服务器。允许 VLAN2 上的主机访问 Web 服务器;来自 VLAN2 外部的主机被第 3 层过滤器阻止。位于单独 VLAN(称为 VLAN1(本机))上的攻击主机会创建一个特殊格式的数据包来攻击 Web 服务器。它在将数据包标记为属于 VLAN1 的标头下放置一个标头,将数据包标记为属于 VLAN2。发送数据包时,交换机会看到默认的 VLAN1 标头并将其删除并转发数据包。下一个交换机看到 VLAN2 标头并将数据包放入 VLAN2。因此,数据包到达目标服务器时就好像它是从 VLAN2 上的另一台主机发送的一样,忽略了可能存在的任何第 3 层过滤。