为什么需要mac安全?
任何网络接入都需要交换机。
不管什么型号的交换机这对二层数据转发都会有MAC地址表来进行指导转发。
[SW1]dis mac-address summary
显示MAC地址总体信息
看出可用MAC地址表共可用数量32768个。
MAC的学习是在同一个广播域里学习到的。所以一般这些MAC条目够用。
基于MAC地址的攻击:泛洪和欺骗
泛洪攻击:伪造大量不同源mac的数据包,如果设备没有ARP防护的话就会让交换机的MAC地址条目占满,交换机如果没有目的MAC地址的交换表,就会泛洪该数据包,所有处在同一广播域的设备都会收到。
MAC泛洪攻击实验:
使用Kali linux系统中的工具macof工具对本地局域网进行ARP泛洪攻击并使用wireshark进行抓包观察。
短短三十秒Kali就发出了66万条源MAC不同的数据包。
一旦交换机的MAC地址表占满,交换机收到数据包后就会泛洪。
会造成严重的信息泄露。
MAC地址欺骗:攻击者通常伪装成网关。局域网内的设备不能访问外网。
一---修改所有SW的MAC地址表老化时间为1000S
mac-address aging-time 1000
二---MAC地址安全
(1)静态MAC地址条目优于动态
手动配置PC-1的MAC地址绑定在G0/0/10接口,配置完成后再补更改PC-1连线的情况下Ping测PC-2的地址,测试是否通,解释原因
[Huawei] mac-address static 5489-98f1-329d GigabitEthernet0/0/10 vlan 1
无法ping通,因为lsw1收到pc1的数据帧后先查看源mac地址,若mac地址表存在与该mac相同表项时刷新老化时间,若不存在,则记录到mac地址表。此处mac地址在mac地址表中,但接口不一致,又因为静态配置大于动态学习,无法覆盖mac地址表,于是不进行加表。于是回传给5489-98f1-329d 的数据从g0/0/10发出,到达不了pc1,所以无法ping通。
(2)关闭MAC地址学习,可对MAC表项不存在对应条目的数据设定丢弃处理
PC-3为合法用户,PC-4为攻击者,请确保用户PC-3的通信,拒绝为攻击者提高数据转发服务
[Lsw1]mac-address static 5489-98a2-1e94 GigabitEthernet0/0/3 vlan 1
interface GigabitEthernet0/0/3
mac-address learning disable action discard
在关闭g0/0/3接口mac地址学习功能前不做ping命令,以免pc-3和pc-4的mac地址加表。
此时pc-3能ping通,pc-4不能ping通。
当关闭mac地址学习功能后,pc-3和pc-4都能ping通pc-2. SHAPE * MERGEFORMAT
SHAPE * MERGEFORMAT SHAPE * MERGEFORMAT
并且会在mac地址表中加表,此时再关闭mac地址学习功能,pc-4依然可以正常通信
三---MAC地址漂移
(1)接口MAC地址学习优先级一致情况下针对同一MAC地址的学习记录,后学到的会覆盖最先学到的
请使用调整接口优先级的方式确保伪装者PC-6发出的数据不会被SW-2所转发(选做:解释你如此配置的原因)
[Huawei-GigabitEthernet0/0/5]mac-learning priority 3
将lsw2的g0/0/5接口mac地址学习的优先级提高,此时交换机能从两个接口学到同一个mac地址,但是优先级更高的加表。未加表的接口无法收到回应的数据。
(2)MAC地址检测可以对人为出现MAC地址漂移的接口执行惩罚动作
基于此特性确保合法用户PC-7通信正常,伪装PC-8的接口会被SW自动shutdown(选做:解释你如此配置的原因)
注意此项测试,PC-5和PC-6同时长pingPC-1至少30S以上可看到效果
[SW-2]mac-address flApping detection
先开启mac地址漂移检查功能
interface GigabitEthernet0/0/8
mac-address flapping trigger error-down
在g0/0/8口发生mac地址漂移则down掉接口
[SW-2]erromacr-down auto-recovery cause mac-address-flapping interval 30
因mac地址漂移down掉的接口恢复时间为30秒
两个接口都会发生mac地址漂移,但是配置mac地址漂移时只down掉伪装者的接口,这样合法用户正常访问,伪装者无法访问。
疑问? 两台电脑同时通讯,伪装者down掉接口恢复之后,没有再次down掉,可以一直通讯。