編者按:針對ARP協(xié)議的網(wǎng)絡攻擊時有發(fā)生,筆者就遇到此類攻擊導致的網(wǎng)絡故障,本文針對此類故障詳細探討其中發(fā)生的緣由及排查經(jīng)過。
ARP(地 址解析協(xié)議)是一個位于網(wǎng)絡層中,將IP地 址解析為對應的MAC地址的協(xié)議。ARP協(xié)議有簡單、易用的優(yōu)點,但是也因為其沒有任何安全認證機制而容易被攻擊者利用。
ARP協(xié)議是建立在信任局域網(wǎng)內所有節(jié)點的基礎上的,它很高效,但卻不安全。它是無狀態(tài)的協(xié)議,不會檢查自己是否發(fā)過請求包,也不會驗證是否是合法的應答,只要收到目標MAC是自己的ARP reply包或ARP廣播包,都會接受并緩存。
筆者單位辦公網(wǎng)是一個局域網(wǎng),其拓撲如圖1所示。中心核心是一臺華為5700的交換機,所有接入交換機通過兩臺匯聚交換機接入核心交換機,用戶數(shù)量約800。在某天,大量辦公網(wǎng)用戶不能上網(wǎng),Ping網(wǎng)關發(fā)現(xiàn)網(wǎng)絡時通時斷,且基本狀態(tài)為斷。
圖1 網(wǎng)絡拓撲圖
由于大量辦公用戶網(wǎng)絡無法Ping通網(wǎng)關,因此筆者通過display interface brief命令直接查看核心交換機端口情況,發(fā)現(xiàn)端口in和out的流量都不大,可排除流量過大導致端口堵死的情況。
然后通過dispaly trapbuffer命令查看核心交換機的告警信息,發(fā)現(xiàn)有大量告警信息,如圖2所示,因為有攻擊導致一些包被丟棄。
使用diaplay cpu-usage命令查看核心交換機的CPU使用率,發(fā)現(xiàn)CPU利用率高達98%。通過diaplay cpudefend statistics命令查看核心交換機上各種報文的Pass和Drop統(tǒng)計情況,發(fā)現(xiàn)ARP-Miss報文和ARP request報文Pass和Drop統(tǒng)計都很大,其中ARP-Miss報文的Drop列計數(shù)非常大,比Pass大很多,并以每秒10 000左右增長。
圖2 告警信息圖
ARP-Miss報文是設備在轉發(fā)時因匹配不到對應的ARP表項而上報的消息,即設備路由表中存在該IP報文的目的IP對應的路由表項,但沒有該路由表項中下一跳對應的ARP表項時,將生成ARP-Miss報文。ARP-Miss報文會被送到CPU進行處理,消耗CPU資源。
使用display current命令查看核心交換機狀態(tài),發(fā)現(xiàn)未部署ARP防護策略,ARP-Miss消息限速和CPCAR的速率都是默認值。
至此,故障可定位于ARP攻擊導致的網(wǎng)絡故障。
ARP-Miss報文Drop增長率過大原因可能有兩個:
1.可能存在環(huán)路
通常情況下,ARP報文的交互是有序進行的,短時間內不會出現(xiàn)大量ARP報文的丟棄。當核心交換機作為匯聚網(wǎng)關時,ARP-Miss報文Drop增長率過大可能是ARP廣播報文在網(wǎng)絡物理環(huán)路中進行轉發(fā),形成ARP廣播風暴沖擊核心交換機,被交換機丟棄。
圖3 數(shù)據(jù)包抓包分析
單位辦公網(wǎng)所有交換機STP使能已經(jīng)打開,使用diaplay stp brief查看所有端口forwarding正常,且使用display mac-address falpping record查看未存在地址漂移記錄,故排除存在環(huán)路的原因。
2.可能是ARP-Miss攻擊
如果網(wǎng)絡中有用戶向核心交換機發(fā)送大量目標IP地址不能解析的IP報文,核心交換機將觸發(fā)大量ARP Miss消息,消耗核心交換機CPU資源,影響其對正常ARP Miss消息的處理,導致ARP學習失敗,直接表現(xiàn)為用戶不能上網(wǎng)。
為驗證是否存在ARPMiss攻擊,在核心交換機上對所有數(shù)據(jù)進行抓包分析,發(fā)現(xiàn)許多主機不斷掃描本網(wǎng)段主機,發(fā)送大量目標IP地址不能解析的IP報文,導致核心交換機觸發(fā)大量ARP-Miss消息,如圖4所示。同時通過抓包統(tǒng)計發(fā)現(xiàn)此行為基本15 min發(fā)生一次,一臺主機一次發(fā)送約600個ARP報文,且此類主機大面積出現(xiàn),通過排查發(fā)現(xiàn)這些主機均沒有安裝掃描地址軟件,故判斷此次網(wǎng)絡故障是由病毒發(fā)起的ARP-Miss攻擊。
1.在核心交換機上部署ARP防護策略,主要包括ARP報文限速、ARP-Miss消息限速及ARP表項嚴格學習等,以免造成核心交換機CPU負荷過重。
2.客戶端主機安裝殺毒軟件,及時更新病毒庫,同時打上安全補丁。