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