龐國(guó)莉 王小英
(防災(zāi)科技學(xué)院,河北三河 065201)
近年來,許多園區(qū)網(wǎng)都出現(xiàn)MAC 地址泛洪攻擊現(xiàn)象,給園區(qū)網(wǎng)的正常使用造成很大影響,導(dǎo)致大量用戶不能正常訪問網(wǎng)絡(luò)。因此,防范MAC 泛洪攻擊對(duì)園區(qū)網(wǎng)安全技術(shù)人員具有十分重要的意義。
交換機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)幀的依據(jù)是通過自學(xué)習(xí)算法建立的MAC表。當(dāng)交換機(jī)收到數(shù)據(jù)幀的時(shí)候,查看MAC 地址表,看有無與源MAC 地址相匹配的項(xiàng),如沒有,則登記源MAC 及接收數(shù)據(jù)的接口;如有,則更新,接著根據(jù)MAC 地址表中有無數(shù)據(jù)幀的目的MAC 對(duì)數(shù)據(jù)幀的處理,如有,且目的地址與對(duì)應(yīng)端口與接收端口不同,則從對(duì)應(yīng)端口轉(zhuǎn)發(fā)出去,否則丟棄;如沒有,則從接收端口以外的其他所有端口轉(zhuǎn)發(fā)。
MAC 泛洪則是攻擊者利用交換機(jī)的工作特點(diǎn),向交換機(jī)發(fā)送大量的虛假M(fèi)AC 地址,交換機(jī)則不斷的學(xué)習(xí)虛假M(fèi)AC 地址,很快MAC 表就會(huì)被充滿,就沒法繼續(xù)學(xué)習(xí)地址,這樣造成正常的主機(jī)的MAC 地址在經(jīng)過老化之后,就無法再添加到MAC 地址表中,導(dǎo)致之后發(fā)送的單播數(shù)據(jù)幀都變成了廣播。大量的廣播降低了交換機(jī)的性能,造成交換機(jī)負(fù)載過大、網(wǎng)絡(luò)緩慢和丟包甚至癱瘓。
端口安全功能是通過數(shù)據(jù)幀的源MAC 地址來限定數(shù)據(jù)幀是否可以進(jìn)入交換機(jī)的端口,使能端口安全功能的端口稱為安全端口??梢酝ㄟ^靜態(tài)設(shè)置特定的MAC 地址或者動(dòng)態(tài)學(xué)習(xí)限定允許最大數(shù)量的MAC 地址來控制數(shù)據(jù)幀是否可以進(jìn)入端口。只有源MAC 地址為端口安全地址表中配置或者學(xué)習(xí)到的MAC 地址個(gè)數(shù)沒有超過限定數(shù)的數(shù)據(jù)幀才可以進(jìn)入交換機(jī)通信。任何通過未知MAC 地址或超過最大數(shù)量MAC 而進(jìn)行連接的嘗試都會(huì)導(dǎo)致安全違規(guī)事件,數(shù)據(jù)幀會(huì)被丟棄。端口安全有三種違規(guī)處理方法:
(1)保護(hù):當(dāng)新計(jì)算機(jī)接入時(shí),如果該端口的MAC 條目超過最大數(shù)量,則這個(gè)新的計(jì)算機(jī)將無法接入,交換機(jī)也不發(fā)送警告信息。
(2)限制:當(dāng)新計(jì)算機(jī)接入時(shí),如果該端口的MAC 條目超過最大數(shù)量,則這個(gè)新的計(jì)算機(jī)無法接入,并且交換機(jī)將發(fā)送警告信息。
(3)關(guān)閉:當(dāng)新計(jì)算機(jī)接入時(shí),如果該端口的MAC 條目超過最大數(shù)量,則該端口將會(huì)被關(guān)閉,則這個(gè)新的計(jì)算機(jī)和原有的計(jì)算機(jī)都無法接入網(wǎng)絡(luò)。
假設(shè)某一園區(qū)網(wǎng)通過路由器與Internet 通信,園區(qū)網(wǎng)各種設(shè)備通過交換機(jī)連接,園區(qū)拓?fù)淙鐖D1 所示,其中Cloud 表示攻擊者所處的位置。在ENSP 環(huán)境下,園區(qū)網(wǎng)中的主機(jī)通信是正常的,即所有主機(jī)都能相互訪問并能訪問網(wǎng)關(guān),訪問效果測(cè)試如圖2 所示。此時(shí)查看交換機(jī)的MAC 地址表,表中僅有通信過的幾條MAC 地址記錄,如圖3 所示。
圖1 園區(qū)網(wǎng)的拓?fù)?/p>
圖2 園區(qū)主機(jī)通信測(cè)試
圖3 MAC 地址表
為了讓KALI 與ENSP 中設(shè)備進(jìn)行通信,需要對(duì)ENSP 中的Cloud 進(jìn)行配置。首先在Cloud 增加兩個(gè)端口,一個(gè)是UDP 端口,一個(gè)是真機(jī)的環(huán)回端口,真機(jī)環(huán)回端口需要提前配置好。然后對(duì)兩個(gè)端口進(jìn)行雙向通道映射配置,并增加到映射表中,Cloud 設(shè)置效果如圖4 所示。
圖4 Cloud 的設(shè)置
KALI 是一款專門為滿足專業(yè)滲透測(cè)試和安全審核的要求而設(shè)計(jì)用于滲透測(cè)試的Linux 操作系統(tǒng)。攻擊者利用KALI 向園區(qū)網(wǎng)發(fā)起MAC 泛洪攻擊,要實(shí)現(xiàn)這一功能需要將KALI 通過虛擬機(jī)橋接真機(jī)環(huán)回網(wǎng)卡,環(huán)回網(wǎng)卡橋接ENSP 中的云,從而與ENSP 進(jìn)行通信。為實(shí)現(xiàn)測(cè)試,KALI 需要配置與園區(qū)主機(jī)同一網(wǎng)段的IP 地址,圖5 為KALI 進(jìn)行IP 地址的配置后,與網(wǎng)關(guān)進(jìn)行通信測(cè)試效果。
圖5 KALI 與網(wǎng)關(guān)通信效果
在KALI 中進(jìn)行MAC 泛洪滲透測(cè)試,需要在KALA 中運(yùn)行MACOF 命令,MACOF 是Dsniff 套裝工具集的成員,它可使用隨機(jī)MAC 地址泛洪交換機(jī)。當(dāng)在KALI 運(yùn)行MACOF 命令時(shí),它會(huì)向交換機(jī)發(fā)出大量的虛擬MAC 地址,導(dǎo)致交換機(jī)的MAC 地址表急劇增加致填滿,運(yùn)行MACOF 的效果如圖6 所示,可以看出,KALI 產(chǎn)生大量的虛假M(fèi)AC 地址。再次查看交換機(jī)中的MAC 地址表,可以看到MAC 地址表中記錄了大量從連接Cloud 端口學(xué)習(xí)的地址記錄,如圖7 所示。此時(shí),園區(qū)網(wǎng)已不能正常通信。
圖6 MACOF 運(yùn)行效果
圖7 交接機(jī)的MAC 地址表
為了防范MAC 泛洪攻擊,需要在交換機(jī)可疑端口設(shè)置可連接的最大MAC 地址數(shù)。對(duì)超出的限定最大數(shù)量的連接嘗試都會(huì)造成違規(guī)現(xiàn)象,交換機(jī)會(huì)丟棄該數(shù)據(jù)幀。因此,在本園區(qū)網(wǎng)中需要對(duì)交換機(jī)的G0/0/2 進(jìn)行端口安全的配置,配置信息為啟用端口安全功能,允許最大數(shù)量是5,當(dāng)出現(xiàn)違規(guī)現(xiàn)象時(shí)采取了限制處理類型,配置命令如圖8 所示。
圖8 端口安全配置命令
通過命令配置,當(dāng)攻擊者再通過KALI 對(duì)園區(qū)網(wǎng)進(jìn)行MAC泛洪攻擊時(shí),交換機(jī)會(huì)丟失數(shù)據(jù)幀并發(fā)出警告,從而保障園區(qū)網(wǎng)的安全。
本文在分析MAC 泛洪攻擊原理基礎(chǔ)上,論述園區(qū)網(wǎng)可能存在安全危險(xiǎn),進(jìn)而提出端口安全的解決方案。為驗(yàn)證該方案的有效性,本文采用ENSP 和KALI 進(jìn)行園區(qū)網(wǎng)的仿真攻防演練,攻防演練結(jié)果顯示,該方案防范效果顯著,使園區(qū)網(wǎng)的安全性得到提升,園區(qū)網(wǎng)的正常使用得到保障。