為什么需要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掉,可以一直通訊。