二层网络安全你知道多少

二层转发的转发表是mac表,设备通过MAC表查找报文的出接口,如果查表失败,报文就会进行广播,所以广播风暴是二层网络中最常见的现象 。因此,如何保证转发表的安全和如何抑制广播风暴,是二层网络安全的重点问题
如何保证转发表安全?为了保证二层流量能够正常转发,针对不同的应用场景,交换机提供了不同的方法保证转发表的安全 。譬如:MAC防漂移和端口安全通过MAC和接口的绑定,保证MAC表的安全 。DHCP Snooping通过记录用户DHCP的认证信息,保证动态用户的安全接入 。
MAC防漂移接口只要接收到报文,就会进行MAC表项学习 。交换机从正确的接口学习到合法用户的MAC表后,又从其他接口接收到非法用户的攻击报文时,就会导致MAC表项学习错误,二层转发出现异常 。
最典型的场景如下图所示,非法用户通过模拟网关的源MAC向接入交换机发送报文,网关对应MAC1的出接口就会从IF1漂移到IF2 。这样下行用户向网关发送报文时,通过MAC表项查询到的出接口就是错误的IF2,用户的报文就无法转发到网关,二层转发异常 。
二层网络安全你知道多少

文章插图
 
针对该场景,S交换机有两种方法进行安全预防:
配置静态MAC:
把网关的MAC和接口手动绑定,使网关的MAC无法发生漂移 。
[SwitchA] mac-address static 3-3-3 gigabitethernet 0/0/10 vlan 4 //假设网关的MAC是3-3-3,接口是GE0/0/10,把接口和MAC在VLAN 4的广播域内绑定配置MAC学习优先级:
使IF1接口MAC学习优先级高于IF2接口,这样如果IF2接口再收到源MAC是MAC1的报文时,不再进行MAC学习,使MAC地址不进行漂移 。
[SwitchA] interface gigabitethernet 0/0/10 //连接网关的接口[SwitchA-GigabitEthernet0/0/10] mac-learning priority 3 //配置接口MAC学习优先级为最高值3说明:有些交换机不支持配置MAC学习优先级,可以通过配置MAC Spoofing功能设置网关接口为信任接口,防止网关的MAC地址漂移,配置方法如下:
[SwitchA] mac-spoofing-defend enable //全局使能MAC Spoofing功能[SwitchA] interface gigabitethernet 0/0/10 //连接网关的接口[SwitchA-GigabitEthernet0/0/10] mac-spoofing-defend enable //配置接口为信任接口端口安全端口安全也是一种保证转发表安全的特性 。在接口上使能端口安全功能后,接口上学习到的MAC地址就会自动转换为安全MAC,实现MAC地址和接口绑定,这样该MAC对应的用户就只能从该接口接入,无法再从其他接口接入 。
另外,端口安全还可以通过设置接口下MAC表项的个数限制用户接入,保证只有先到的用户能够接入,后来的用户无法接入,同时也防止了黑洞MAC泛洪攻击导致MAC表溢出的问题 。
但是端口安全无法判断接入的用户是否合法,只能保证先到的用户可以接入,如果先到的用户是非法的,也是可以接入的 。
二层网络安全你知道多少

文章插图
 
如上图,某企业为了保证接入用户的安全性,防止非法用户通过发送源MAC频繁变化的报文攻击网络,同时防止非法用户通过仿冒MAC地址接入网络 。要求一个接口下只允许三个用户接入,同时要求这三个用户只能从指定接口接入,不能从任意端口接入 。
为了实现上面安全策略,可以在SwitchA的GE0/0/1接口上配置端口安全功能,在有非法用户想要通过该接口接入时,还可以上报告警 。在交换机配置端口安全的方法如下:
[SwitchA] interface gigabitethernet 0/0/1[SwitchA-GigabitEthernet0/0/1] port-security enable //接口使能端口安全功能[SwitchA-GigabitEthernet0/0/1] port-security max-mac-num 3 //配置接口下只允许绑定三个MAC地址,也就是说只允许三个用户接入,默认情况下接口使能端口安全后,只能绑定一个MAC地址[SwitchA-GigabitEthernet0/0/1] port-security mac-address sticky //使能Sticky MAC功能,在保存配置重启后,接口和MAC的绑定不会消失如何抑制广播风暴?什么是广播风暴?
就是广播、未知组播以及未知单播报文过多或者在网络中成环的一种现象 。
为什么会有广播风暴?
二层转发是根据MAC表项转发的,如果报文的MAC地址在MAC表中找不到对应的出接口,报文就会在VLAN内所有端口进行转发,从而产生广播风暴 。
怎么抑制广播风暴呢?
抑制广播风暴最根本的方法是找到报文的出接口,使报文进行单播转发 。然而在实际应用中,由于MAC表的规格限制和二层转发的原理,广播风暴是无法彻底解决的,只能尽可能的减少安全风险 。


推荐阅读