点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
01
MAC地址表安全
MAC地址表项类型包括:
动态MAC地址表项:由接口通过报文中的源MAC地址学习获得,表项可老化。在系统复位、接口板热插拔或接口板复位后,动态表项会丢失。#无流量无人维护5分钟300s后自动老化
静态MAC地址表项:由用户手工配置并下发到各接口板,表项不老化。在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。接口和MAC地址静态绑定后,其他接口收到源MAC是该MAC地址的报文将会被丢弃。
黑洞MAC地址表项:由用户手工配置,并下发到各接口板,表项不可老化。配置黑洞MAC地址后,源MAC地址或目的MAC地址是该MAC的报文将会被丢弃。#只要匹配到手动配置指定的mac地址就丢弃,用于封掉某些出故障中毒的主机,防止一直出故障占用cpu,解决故障后可恢复。
MAC地址表安全功能:
为了防止一些关键设备(如各种服务器或上行设备)被非法用户恶意修改其MAC地址表项,可将这些设备的MAC地址配置为静态MAC地址表项,因为静态MAC地址表项优先于动态MAC地址表项,不易被非法修改。
为了防止无用MAC地址表项占用MAC地址表,同时为了防止黑客通过MAC地址攻击用户设备或网络,可将那些有着恶意历史的非信任MAC地址配置为黑洞MAC地址,使设备在收到目的MAC或源MAC地址为这些黑洞MAC地址的报文时,直接予以丢弃,不修改原有的MAC地址表项,也不增加新的MAC地址表项。
为了减轻手工配置静态MAC地址表项,华为S系列交换机缺省已使能了动态MAC地址表项学习功能。但为了避免MAC地址表项爆炸式增长,可合理配置动态MAC表项的老化时间,以便及时删除MAC地址表中的废弃MAC地址表项。
为了提高网络的安全性,防止设备学习到非法的MAC地址,错误地修改MAC地址表中的原MAC地址表项,可以选择关闭设备上指定接口或指定VLAN中所有接口的MAC地址学习功能,这样设备将不再从这些接口上学习新的MAC地址。
配置限制MAC地址学习数,当超过限制数时不再学习MAC地址,同时可以配置当MAC地址数达到限制后对报文采取的动作,从而防止MAC地址表资源耗尽,提高网络安全性。
实验部分:
配好所有地址任意主机产生通信则产生mac-add表:这个表就是动态的表自动生成的。
黑洞MAC地址表:
#SW1
mac-address blackhole aabb-cc00-0010 vlan 1 (没配vlan,默认vlan)
这里把PC1设置成了黑洞mac-address,于是现象为PC1ping谁也不通,谁也ping不通PC1,黑洞这一词很形象。
现象如图:
![](https://img-
blog.csdnimg.cn/08017668cd0840edb05041f2fe8d0ed4.png)![](https://img-
blog.csdnimg.cn/7c5cc342c2134da2b27701ccef63929f.png)![](https://img-
blog.csdnimg.cn/ccf46e89d1f0482eab7ec5d46e52f9ce.png)
更改动态MAC地址老化时间:
备注:时间一般就默认的即可,现网基本没人动这个,太长更新不及时,太短占用CPU也不太好。
交换机MAC学习功能切换:
控制是否学习MAC地址并指定后续动作:泛洪/丢弃::forward Forward packets,discard Discard packets
命令:
#SW1
interface GigabitEthernet0/0/1
mac-address learning disable action discard
这里的意思是不学习来自g0/1的源MAC地址并且收到数据包时找不到对应表项不转发泛洪
现象为PC1到PC2/3 不通,交换机也学不到任何mac地址
![](https://img-
blog.csdnimg.cn/f6ec7f70a7f642ffbba8c94778b3901e.png)![](https://img-
blog.csdnimg.cn/37e5ec09016e4282ab464106c2ce8046.png)
其他:
静态MAC地址:
最安全但是要手写条目多比较烦,就是手写静态MAC地址,不是手写的就丢弃
配置:接上边的禁止学习之后,禁止学习配置还在
#SW1
mac-address static aabb-cc00-0010 GigabitEthernet 0/0/1 vlan 1
可以看到PC1到PC2/3通了,这样结合上边的禁止学习功能更加安全实用
限制接口的MAC地址学习数量:
配置:
#SW1
interface GigabitEthernet 0/0/3
mac-limit maximum 3 alarm enable
#最多学习3个,超出告警
现象:
3个以内时都是正常:
超过三个后:
可以看到触发告警:
还可以加上动作(模拟器垃圾做不了)
还能基于vlan进行控制
02
MAC地址漂移
什么是MAC地址漂移?
MAC地址漂移是指:在同一个VLAN内,一个MAC地址有两个出接口,并且后学习到的出接口覆盖原出接口的现象。这是官方定义,通俗的讲,MAC地址漂移指的是MAC地址表项的出接口发生了变更。
MAC地址漂移是指交换机上一个VLAN内有两个端口学习到同一个MAC地址,后学习到的MAC地址表项覆盖原MAC地址表项的现象。同一个mac地址在不同地方学到了
当一个MAC地址在两个端口之间频繁发生迁移时,即会产生MAC地址漂移现象。
正常情况下,网络中不会在短时间内出现大量MAC地址漂移的情况。出现这种现象一般都意味着网络中存在环路,或者存在网络攻击行为。
如图:
解决方法:
(实验部分:)
1、优先级部署:
缺省时接口MAC地址学习的优先级均为0,数值越大优先级越高。当同一个MAC地址被两个个接口学习到后,接口MAC地址学习优先级高的会被保留,MAC地址学习优先级低的被覆盖。
拓扑图:
配置之前可以看到攻击者会把主机顶下去造成网络故障:
ping同一个地址都能ping通
配置:
interface g 0/0/1
mac-learning priority 3
可以看到PC2开始不通了,PC1通信正常
![](https://img-
blog.csdnimg.cn/8d79342df23b40809179d7d7769e7b6d.png)![](https://img-
blog.csdnimg.cn/7777c693bcc44839a55c882ede7d9221.png)
mac-address地址表也正常:
2、还可以拒绝相同的优先级:
相同优先级不准漂移,后来的不能覆盖之前的
配置:
#SW1
undo mac-learning priority 0 allow-flapping
现象:
先让PC1上线,再让攻击者:PC2上线,可以看到:
地址表正常:
PC1依然正常,PC2失败:
3、MAC地址漂移检测
(1)基于VLAN的MAC地址漂移检测
根据检测做出相应动作:
发送告警,当检测到MAC地址发生漂移时只给网管发送告警。
接口阻断,当检测到MAC地址发生漂移时,根据设置的阻塞时间对接口进行阻塞,并关闭接口收发报文的能力。
MAC地址阻断,当检测到MAC地址发生漂移时,只阻塞当前MAC地址,而不对物理接口进行阻塞,当前接口下的其他MAC的通信不受影响。
(2)基于全局的MAC地址漂移检测
mac-address flapping
detection----#默认配置,华为交换机默认开启全局MAC地址漂移检测功能,因此缺省时交换机便会对设备上的所有VLAN进行MAC地址漂移检测。
当交换机检测到MAC地址漂移,在缺省情况下,它只是简单地上报告警,并不会采取其他动作。在实际网络部署中,可以根据网络需求,对检测到MAC地址漂移之后定义以下动作:
error-down 当配置了MAC地址漂移检测的端口检测到有MAC地址漂移时,将对应接口状态置为error-down,不再转发数据。
quit-vlan 当配置了MAC地址漂移检测的端口检测到有MAC地址漂移时,将退出当前接口所属的VLAN。
其他:
eNSP上是这个:好像有现象但是我这里做实验的时候bug了
还是以PPT上为准吧:
[Switch2-GigabitEthernet0/0/1] mac-address flapping action error-down
在某些场景下,需要对某些VLAN不进行MAC地址漂移检测,可以通过配置MAC地址漂移检测的VLAN白名单来实现。
如果接口由于发生了MAC地址漂移从而被设置为Error-Down,默认情况下是不会自动恢复的。
如果希望Error-Down的接口能够自动恢复,
在系统视图下配置如下命令:error-down auto-recovery cause mac-address-flapping interval time-value
如果接口由于发生了MAC地址漂移,被设置为离开VLAN,如要实现接口自动恢复,
可以在系统视图下配置如下命令:mac-address flapping quit-vlan recover-time time-value
配置命令:由于eNSP有的都不支持,就只放截图了看看就好。
来源:CSDN@程序员--青青
原文链接:
https://blog.csdn.net/ZL_1618/article/details/140022123
end
专业社群
精品活动推荐
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...