交换机可以主动学习客户端的MAC地址,并建立和维护端口和MAC地址的对应表以此建立交换路径,这个表就是通常我们所说的CAM表。CAM表的大小是固定的,不同的交换机的CAM表大小不同。
MAC/CAM攻击是指利用工具产生欺骗MAC,快速填满CAM表。黑客连接局域网内的PC,在PC上安装工具改变PC的MAC地址,并发送大量广播数据,交换机主动学习该机的MAC地址,导致CAM表被填满。这种攻击能造成安全性的破坏,同时大量的广播包降低了交换机的性能。
当交换机的CAM表被填满后,交换机将以广播方式处理通过交换机的报文,这时攻击者可以利用各种嗅探攻击获取网络信息(基本不可能单播了)。更为严重的是,这种攻击也会导致所有邻接的交换机CAM表被填满,流量以泛洪方式发送到所有交换机的所有含有此VLAN的接口,从而造成交换机负载过大、网络缓慢和丢包甚至瘫痪。
那么如何防止呢?
Port-Security(端口安全)
• 端口上最大可以通过的MAC地址数量
• 端口上学习或通过哪些MAC地址
• 对于超过规定数量的MAC处理进行违背处理
现在在SW_2的Ethernet0/0/2上配置port-security:
关于上图SW_2的Ethernet0/0/2的配置中,会发现max-mac-num为3个,为何端口要允许3个MAC地址呢?因为要考虑到PC连接了IP Phone和IP Phone连接交换机的场景。这样PC和IP Phone各占一个MAC地址,IP Phone内部还有一个处理器,该处理器也需要使用一个MAC地址。
关于Port-Security的保护方式有三种:
protect : Discard packets(丢弃非法的流量,但不告警)
restrict :Discard packets and warning(丢弃非法的流量,告警)
shutdown :Shutdown (端口关闭)
在port-security接口上使用sticky
在SW_2的Ethernet0/0/2接口上配置sticky,配置如下:
通过配置sticky,黏性可靠的MAC地址。粘性可靠的MAC地址可以看做动态可靠与静态可靠的MAC地址的合体,它会自动学习第一次接入的mac地址,然后将这个mac地址绑定为静态可靠的地址。这样黑客就无法PING通局域网内的PC了。
假如已经被攻击了,就要找到被攻击的PC机,断网杀毒。