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