基本的交换机安全措施并不能阻止恶意攻击。 安全措施是一个分层的进程,实质上永远无法设置完全。 组织中网络工程师对安全攻击及其所带来的危险注意到的越多越好。 这里描述了一些安全攻击类型,但有关某些攻击运行方式的细节描述不属于本课程的范围。 在 CCNA WAN 技术课程和 CCNA 安全课程中可以找到更多详细信息。

MAC 地址泛洪

交换机的 MAC 地址表包含与每个物理端口相关联的 MAC 地址以及每个端口的相关 VLAN。 当第 2 层交换机收到帧时,交换机在 MAC 地址表中查找目的 MAC 地址。 所有 Catalyst 交换机型号都使用 MAC 地址表来进行第 2 层交换。 当帧到达交换机端口时,交换机会将源 MAC 地址记录到 MAC 地址表中。 如果存在 MAC 地址条目,则交换机会将帧转发到正确的端口。 如果 MAC 地址在 MAC 地址表中不存在,则交换机会将帧泛洪到交换机上除接收该帧的端口之外的每个端口。

交换机对未知地址的 MAC 地址泛洪行为可被用来攻击交换机。 这种类型的攻击称为 MAC 地址表溢出攻击。 MAC 地址表溢出攻击有时也称为 MAC 泛洪攻击和 CAM 表溢出攻击。 图中显示了此类攻击的工作原理。

在图 1 中,主机 A 向主机 B 发送流量。 交换机将接收帧并在其 MAC 地址表中查找目的 MAC 地址。 如果交换机在 MAC 地址表中找不到目的 MAC,则交换机将复制帧并将其泛洪(广播)到除接收该帧的端口之外的每个交换机端口。

在图 2 中,主机 B 收到帧并向主机 A 发出应答。 随后交换机获知主机 B 的 MAC 地址位于端口 2 上,并将此信息记录到 MAC 地址表中。

主机 C 也收到从主机 A 发到主机 B 的帧,但是因为该帧的目的 MAC 地址为主机 B,因此主机 C 丢弃该帧。

如图 3 所示,由主机 A(或任何其他主机)发送给主机 B 的任何帧都会转发到交换机的端口 2,而不是从每一个端口广播出去。

MAC 地址表大小有限。 MAC 泛洪攻击利用这一限制用虚假源 MAC 地址占据交换机,直到交换机 MAC 地址表变满。

如图 4 所示,主机 C 上的攻击者可以使用虚假的、随机生成的源 MAC 地址和目的 MAC 地址将帧发送到交换机。 交换机将使用虚假帧中的信息更新 MAC 地址表。 当 MAC 地址表中填满虚假 MAC 地址时,交换机将进入失效开放的模式。 在该模式中,交换机会将所有帧广播到网络中的所有计算机上。 因此,攻击者可以看到所有帧。

某些网络攻击工具每分钟可以在交换机上生成多达 155,000 个 MAC 条目。 MAC 地址表的最大大小因交换机而异。

如图 5 所示,只要交换机上的 MAC 地址表保持填满状态,交换机就会将所有收到的帧广播到每个端口。 在本示例中,从主机 A 发送到主机 B 的帧也会从交换机的端口 3 广播出去,主机 C 上的攻击者就会看到这些帧。

缓解 MAC 地址表溢出攻击的一种方法就是配置端口安全。