APP下载

防御MAC泛洪攻击

2017-11-26

网络安全和信息化 2017年7期
关键词:神州数码级联局域网

引言:MAC泛洪攻击是一种针对局域网交换机的攻击方式,目的在于窃取局域网内用户的通信数据。本文以神州数码CS6200交换机为例,从原理、实施、防御三个方面对MAC泛洪攻击进行了全面介绍。

MAC泛洪攻击是一种针对局域网交换机的攻击方式,目的在于窃取局域网内用户的通信数据。本文以神州数码CS6200交换机为例,从原理、实施、防御三个方面对MAC泛洪攻击进行介绍。

交换机的工作核心是端口/MAC地址映射表,这张表里记录了交换机每个端口同与之相连的主机MAC地址之间的对应关系。通常情况下,交换机的每个端口只会连接一台主机,因而在MAC地址表中每个端口只会对应1个MAC地址。但由于交换机还要用于级联其它的交换机,因而在相应的级联端口上就会对应多个MAC地址,从而在地址表产生大量记录。

图1 网络环境

由于交换机的缓存有限,因此它所能够记忆的MAC地址数量也是有限的,所以交换机不会永久地记住所有的端口与MAC地址的对应关系。在端口/MAC地址映射表中每一项记录都被设定了一个自动老化时间,若某MAC地址在一定时间内(默认为300秒)不再出现,那么交换机将自动把该MAC地址从地址表中清除。当下一次该MAC地址重新出现时,将会被当作新地址处理,从而使交换机可以维护一个精确而有用的MAC地址表。交换机档次越低,交换机的缓存也就越小,能够记住的MAC地址数也就越少。

以神州数码DCRS-6200交换机为例,其MAC地址表中最多可记录16384个MAC地址。执行“show macaddress-table count”命令可以查看到MAC地址表容量及当前已记录的地址数目。

MAC泛洪攻击就是由攻击者通过攻击工具产生大量的数据帧,这些数据帧中的源MAC地址都是伪造的,并且不断变化。因而交换机将在攻击主机所连接的端口上产生大量的MAC地址表条目,从而在短时间内将交换机的MAC地址表填满,直到再无法接收新的条目。

此时对于网络中那些事先没有在交换机的MAC地址表中留下记录的主机,它们之间的数据通信就会全部采用广播的方式进行,这样虽然并不影响数据的发送和接收,但此时的交换机实质上就成为了一台集线器,攻击者在网络中的任何一台主机上打开Wireshark,就可以监听到网络中的这些流量。

如图1所示的网络环境中,在Kali Linux中已经集成了MAC泛洪工具macof,在执行macof之后,工具可不停向外发送伪造的源MAC地址不断变化的数据帧。此时在交换机上检查,发现整个MAC地址表已被全部填满。

执 行“showmacaddress-table”命令查看MAC地址表,可以看到绝大部分MAC地址都是从10号端口(Kali Linux所连接的端口)学习到的。

如果将目标主机和目标服务器连接到交换机上,然后在Kali Linux中打开Wireshark,它们之间的通信数据将被监听。

通过Port-Security防范MAC泛洪攻击

通过Port-Security(端口安全性)技术可以有效防范MAC泛洪攻击,Port-Security可以限制交换机端口上所允许的有效MAC地址的数量,这样交换机就不会无限制的从端口获取MAC条目。如果某个端口的有效MAC地址个数已经达到最大值,那么当该端口再次接收到新的MAC地址时,就被认为发生安全违规,交换机将自动采取相应的动作。

管理员可以按以下步骤配置发生安全违规后交换机将采取的动作。

关闭(Shutdown):在此模式下,安全违规将造成端口变为错误禁用状态,并关闭端口LED。当端口处于错误禁用状态时,可以先输入“shutdown”,再输入“no shutdown”,使其脱离此状态。此模式为默认模式。

保护(Protect):在此模式下,当有效MAC地址的数量达到端口允许的限制时,带有未知源地址的数据帧将被丢弃。

限制(Restrict):与保护模式基本相同,区别是在此模式下除了将数据帧丢弃之外,还会发出SNMP消息,并记录日志等。

下面在神州数码CS6200交换机上配置Port-Security。

首先执行命令“clearmac-address-tabledynamic”清除之前地址表中的记录。

然后在Kali Linux所连接的10号端口上启用Port-Security,并采用默认设置,有效MAC地址只有一个。

CS6200(config)#macaddress-learning cpucontrol//开启CPU控制学习功能

CS6200(config)#inter face ethernet 1/0/10//进入端口配置模式

CS6200(config-ifthernet1/0/10)#switchport port-security //启 用Port-Security

这时在Kali Linux中再次实施MAC泛洪攻击,就会发生安全违规,10号端口被关闭。执行“show Interface ethernet 1/0/10”命令查看端口信息,可以发现提示“Ethernet 1/0/10 is shutdown by port security”的提示信息。

CS6200 (config)# show Interface ethernet 1/0/10

Interface brief:

Ethernet1/0/10 is administratively down,line protocol is down

Ethernet1/0/10 is shutdown by port security

Ethernet1/0/10 is layer2port,alias name is (null),index is 1;

Hardware is Fast-Ethernet,address is 00-03-0f-3e-e6-91

由于默认情况下每个端口的有效MAC地址只有一个,这时如果在端口所连接的主机上开启一个桥接模式的虚拟机,就会导致发生安全违规,从而将端口关闭。因而建议将端口的有效MAC地址的数量设置的大一些,这样端口就不会轻易被关闭了。比如将端口的有效MAC地址数量设置为5个:

还可以改变发生安全违规后的动作,比如将违规动作改为“restrict”,这样就可以实现只丢弃包而不关闭端口。

由于Port-Security需要在交换机的每个端口上依次设置,因而对于那些确定不会级联其它交换机的端口,建议都启用Port-Security,并根据实际情况将有效MAC地址的数量设置的稍微大一些,从而增强局域网的安全性。

猜你喜欢

神州数码级联局域网
铀浓缩厂级联系统核安全分析
轨道交通车-地通信无线局域网技术应用
基于VPN的机房局域网远程控制系统
富集中间组分同位素的级联
—— “T”级联
神州数码云业务集团成立云战略转型全面提速
神州数码2018年中报“云成绩单”亮眼
基于802.1Q协议的虚拟局域网技术研究与实现
局域网性能的优化
解读神州数码集团A股上市
基于级联MUSIC的面阵中的二维DOA估计算法