HCNP RoutingSwitching之MAC安全
🚀 優(yōu)質(zhì)資源分享 🚀
| 🧡 Python實戰(zhàn)微信訂餐小程序 🧡 | 進(jìn)階級 | 本課程是python flask+微信小程序的完美結(jié)合,從項目搭建到騰訊云部署上線,打造一個全棧訂餐系統(tǒng)。 |
| 💛Python量化交易實戰(zhàn)💛 | 入門級 | 手把手帶你打造一個易擴展、更安全、效率更高的量化交易系統(tǒng) |
前文我們了解了GRE over IPSec 相關(guān)話題,回顧請參考https://blog.csdn.net/qiuhom-1874/p/16601491.html;今天我們來聊一聊mac安全相關(guān)話題;
先來回顧下二層交換機的工作原理
我知道對于一臺二層交換機來說,它的核心功能就是根據(jù)mac地址來轉(zhuǎn)發(fā)數(shù)據(jù);之所以能夠根據(jù)mac地址來轉(zhuǎn)發(fā)數(shù)據(jù),是因為交換機的工作原理;交換機收到一個幀就會記錄對應(yīng)的幀的源mac和對應(yīng)接口做對應(yīng);這樣一來,當(dāng)交換機收到對應(yīng)目標(biāo)mac的幀的時候,它就知道該把這個幀從那個接口轉(zhuǎn)發(fā)出去;如果交換機收到的目標(biāo)mac幀,在對應(yīng)mac地址表里沒有,此時交換機就會把對應(yīng)數(shù)據(jù)包進(jìn)行泛洪,如果在某一個接口收到了對應(yīng)包的回復(fù),此時它就會把對應(yīng)接口和對應(yīng)接口回復(fù)的源mac記錄到mac地址表中;簡單講就是根據(jù)mac地址表來轉(zhuǎn)發(fā)數(shù)據(jù),如果沒有就泛洪;
基于MAC的攻擊
基于mac的攻擊,通常手段有兩種,一種是泛洪,一種是欺騙;所謂泛洪就是指攻擊者在短時間內(nèi)偽造很多mac地址幀,直接把交換機的mac地址表給寫滿;這樣做最直接的后果就是,正常的數(shù)據(jù)包,交換機里沒有對應(yīng)mac,它不知道怎么轉(zhuǎn)發(fā),這個時候它就會泛洪,一泛洪,對應(yīng)攻擊者就能抓到數(shù)據(jù)包,從而獲取數(shù)據(jù);所謂欺騙是指攻擊者惡意發(fā)送arp廣播,告訴交換機,網(wǎng)關(guān)是我(通常就是欺騙網(wǎng)關(guān),當(dāng)然中間人攻擊,也是類似的過程,兩邊欺騙);交換機收到攻擊者的arp廣播,它肯定會記錄對應(yīng)mac地址和接口,同時因為是arp廣播,交換機上的其他pc收到對應(yīng)的包,就會在本地記錄對應(yīng)mac和ip地址;從而在pc和網(wǎng)關(guān)通信時,會封裝對應(yīng)的mac地址,將數(shù)據(jù)發(fā)送給攻擊者;這樣一來攻擊者就能夠通過抓包等手段獲取用戶的數(shù)據(jù);總之不管是mac泛洪攻擊還是欺騙攻擊,都是利用交換機的工作原理,通過mac地址表項來轉(zhuǎn)發(fā)數(shù)據(jù)的特性來實行的攻擊;
提示:上圖為mac泛洪攻擊的示意圖;攻擊者偽造很多mac地址,發(fā)送給交換機,以此來占用交換機mac地址表;使得正常的mac地址表項被覆蓋;正常的mac地址表項被覆蓋,正常用戶通信時,交換機就會把對應(yīng)數(shù)據(jù)包進(jìn)行泛洪,使得用戶數(shù)據(jù)被攻擊者抓取;
MAC地址表項分類
提示:常見的就這三種表項,動態(tài),靜態(tài)和黑洞;動態(tài)表項是指交換機通過對幀內(nèi)的源mac進(jìn)行學(xué)習(xí)而來,有老化時間;靜態(tài)和黑洞都是管理員手動配置的,都不會老化;黑洞表項是指收到對應(yīng)mac地址的幀都會被丟棄,不管是源mac還是目標(biāo)mac,交換機只要收到對應(yīng)有黑洞表項的mac就會主動丟棄;
MAC地址表安全功能
MAC地址表特性參數(shù)
提示:默認(rèn)交換機不做任何配置,動態(tài)學(xué)習(xí)mac的功能是開啟的,老化時間為5分鐘,端口的mac地址的優(yōu)先級都是0;如果開啟了端口安全,默認(rèn)端口安全mac地址學(xué)習(xí)限制數(shù)量為1,即只能學(xué)習(xí)到一個mac,多的學(xué)習(xí)不到;端口安全的保護(hù)動作為restrict,即轉(zhuǎn)發(fā)合法流量和發(fā)送告警;mac地址飄逸表項老化時間為5分鐘,丟棄全0非法mac地址,以及收到全0非法mac地址報警功能都是關(guān)閉的;mac刷新arp功能也是關(guān)閉的;
實驗:基于mac的泛洪攻擊
實驗環(huán)境說明:如上實驗拓?fù)?#xff0c;我們使用云來橋接本地lo接口,另一端開一個kali來模擬攻擊者
沒有攻擊,對應(yīng)交換機mac地址表
提示:正常情況下,如果交換機沒有收到幀,對應(yīng)是mac地址表是空的才對,上面的mac地址是我們本地lo接口的mac,這是我們使用云橋接lo接口,默認(rèn)lo接口會每隔一段時間發(fā)送一個ssdp包來發(fā)現(xiàn)局域網(wǎng)里的設(shè)備,所以我們在交換機上能夠看到對應(yīng)lo接口的mac地址;如下抓包
使用kali ping pc1和pc2
在交換機上查看mac地址表項
提示:可以看到對應(yīng)的mac和接口一一對應(yīng);正是因為這個mac表項,對應(yīng)交換機就能正常的將數(shù)據(jù)包轉(zhuǎn)發(fā)到對應(yīng)接口發(fā)送出去;
查看交換機mac地址表項匯總
提示:這里是模擬器bug,它的統(tǒng)計數(shù)據(jù)顯示不出來;從上圖可以看到該交換機最大容納32768條mac地址和接口對應(yīng)的記錄,一旦超過這個記錄就會覆蓋最老的記錄(覆蓋只針對動態(tài)學(xué)習(xí)到的mac,靜態(tài)是覆蓋不了的);
使用kali攻擊sw1
提示:使用macof工具來偽裝mac地址,該工具能在一瞬間偽造大量mac地址幀,然后從網(wǎng)卡發(fā)送出去;-i選項是用來指定從那個網(wǎng)卡發(fā)送;
提示:可以看到我們只把macof工具開來不到5秒,對應(yīng)交換機就收到了大量的mac地址幀,瞬間交換機的mac地址表也多了許多mac地址條目;
以上就是mac泛洪攻擊的現(xiàn)象,我們總結(jié)一下,出現(xiàn)mac泛洪攻擊時,查看交換機的mac地址表項就會發(fā)現(xiàn),在某一個接口下會存在大量的mac地址條目,很顯然這不正常;
MAC安全特性配置
1、添加靜態(tài)mac地址表項
提示:添加靜態(tài)mac時,我們需要寫清楚對應(yīng)mac 對應(yīng)的接口和vlan即可;
驗證:查看靜態(tài)mac是否添加成功?
提示:可以看到對應(yīng)mac地址表里就多了一條我們剛才添加的記錄;匯總里也統(tǒng)計出有一條靜態(tài)條目;
2、添加黑洞mac地址表項
驗證:用kali ping pc2的地址,看看是否能夠ping通呢?
提示:可以看到現(xiàn)在kali就不能正常ping通pc2,原因是kali拿不到pc2的mac,因為pc2的mac是一個黑洞mac,對應(yīng)pc2收到kali的arp請求,在發(fā)送自己的mac時,交換機會丟棄對應(yīng)pc2發(fā)送到任何包;
提示:第二張截圖是在pc2上抓取的,可以看到pc2的確回復(fù)了kali的arp請求,但是kali卻沒有收到,原因就是交換機丟棄了pc2的包,因為pc2發(fā)送的包,源mac被設(shè)置成黑洞mac了;
3、配置老化時間
提示:默認(rèn)mac地址表項的老化時間為300秒;
4、禁止mac地址學(xué)習(xí)功能
提示:以上命令可以在vlan模式和接口模式下使用,在接口模式下使用作用范圍為當(dāng)前接口,在vlan模式下使用作用范圍是對應(yīng)vlan;該命令后面還有兩個參數(shù),一個是forward,一個是discard;默認(rèn)是不寫后面的動作就是forward,表示轉(zhuǎn)發(fā);即對應(yīng)端口或vlan所有接口,只是關(guān)閉動態(tài)學(xué)習(xí)mac的功能,但收到arp回復(fù)包進(jìn)行轉(zhuǎn)發(fā);discard則表示根據(jù)目標(biāo)mac地址,如果目標(biāo)mac地址在mac地址表項存在,則轉(zhuǎn)發(fā),如果目標(biāo)mac地址不存在mac地址表則丟棄;
實驗:把g0/0/4接口的學(xué)習(xí)mac功能關(guān)閉,并配置默認(rèn)動作為discard
查看mac地址表,看看對應(yīng)g0/0/4口是否學(xué)習(xí)到mac?
提示:可以看到現(xiàn)在mac表,對應(yīng)g0/0/4口沒有學(xué)習(xí)到任何mac;
用pc1 ping pc3,看看對應(yīng)接口是否會學(xué)習(xí)到mac?通信是否會通呢 ?
提示:可以看到對應(yīng)pc1pingpc3并沒有ping通;
查看mac地址表項
提示:可以看到4口也沒有學(xué)習(xí)到mac;
抓包查看過程
提示:在pc3上抓包,可以看到對應(yīng)pc3收到pc1的arp廣播,并做了回復(fù);
在pc1上抓包
提示:在pc1上抓包,對應(yīng)pc3的arp回復(fù)包并沒有收到,說明g0/0/4口丟棄了arp回復(fù)包,導(dǎo)致pc1拿不到pc3的mac,也就無法正常通信;
刪除g0/0/4的禁止動態(tài)學(xué)習(xí)mac地址,先讓g0/0/4學(xué)習(xí)到mac,然后再禁用學(xué)習(xí)功能呢
pc3發(fā)包,讓交換機學(xué)習(xí)到mac
禁用4口學(xué)習(xí)mac功能
提示:可以看到現(xiàn)在4口已經(jīng)學(xué)習(xí)到mac;
現(xiàn)在pc1 ping pc3 看看是否能通?
提示:可以看到現(xiàn)在pc1pingpc3是能夠正常ping通的,這是因為交換機的mac地址表項里對應(yīng)通信的目標(biāo)mac,對應(yīng)數(shù)據(jù)包會轉(zhuǎn)發(fā),如果沒有則丟棄;當(dāng)然,如果mac地址表老化,對應(yīng)條目被刪除,那么通信也無法正常進(jìn)行;
把動作改為forward,看看對應(yīng)接口是否能夠?qū)W習(xí)到mac呢?通信是否正常呢?
pc1 ping pc3看看g0/0/4是否學(xué)習(xí)到mac?對應(yīng)通信是否能夠正常通行呢?
提示:可以看到通信是可以正常通訊,但是對應(yīng)接口是不能夠?qū)W習(xí)到mac條目的;
5、限制端口學(xué)習(xí)mac地址的數(shù)量
提示:該命令可以在接口模式和vlan模式下使用,在接口模式下作用范圍當(dāng)前接口,在vlan模式下作用范圍是對應(yīng)vlan;
驗證:用macof工具攻擊,看看對應(yīng)3口是否只能學(xué)習(xí)到10條mac地址條目呢?
提示:可以看到對應(yīng)交換機的終端在報警,對應(yīng)3口也只能學(xué)習(xí)到10條mac地址條目;這里需要注意,這個學(xué)習(xí)到的mac是先學(xué)滿10條,后面的就不學(xué)習(xí)了,并不是重復(fù)覆蓋;
6、配置告警
提示:開啟或關(guān)閉報警,必須配置前邊的最大學(xué)習(xí)限制才可以,否則它會提示Error: Failed to change the configurations of the action or alarm because the MAC-limit rule does not exist.;
7、開啟丟棄全0非法mac地址報文的功能
提示:以上兩條命令在全局模式下使用;第一條作用是開啟因收到全0非法mac報警;第二條表示開啟丟棄全0非法mac;
8、配置mac刷新arp功能
提示:arp表是ip地址和mac地址以及出接口的對應(yīng)表,mac地址表是mac地址和出接口的對應(yīng)表;兩者老化時間不一樣,就導(dǎo)致當(dāng)mac地址表是g0/0/1接口更新到g0/0/2口,對應(yīng)arp里的信息還在g0/0/1口,這會導(dǎo)致通信中斷;為了避免這樣的問題,上述命令就表示當(dāng)mac表項發(fā)生變化,通知arp表項對應(yīng)條目更新,從而避免通信中斷的問題;
官方文檔示意圖
總結(jié)
以上是生活随笔為你收集整理的HCNP RoutingSwitching之MAC安全的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剪辑视频,怎么虚化边框缩小原视频
- 下一篇: 第三方高德地图