網速變慢、設備互聯異常?小心是 ARP 出了問題
前兩天,我們公司突然出現了網絡異常。開始只是幾臺電腦網頁打不開,沒人在意,大家以為是臨時波動。結果短短半小時,整個辦公室的網絡幾乎癱瘓,連內部文件服務器都連不上。
當時的感覺很奇怪:外網能ping通,但訪問特別慢,本地的打印機、共享文件夾這些內部資源,卻完全連接不上。我們馬上開始排查。
第一反應是看出口,路由器和防火墻都沒問題。后來查看交換機,發現局域網內的流量異常高,大量是廣播包。更奇怪的是,MAC地址表里很多端口的綁定在不斷變化,像有人在瘋狂插拔網線一樣。再深入看,才發現問題出在ARP協議上。
ARP工作流程如下圖: PC1 想與 PC2 通信(知道 IP,不知道 MAC)
簡單說,就是有人在局域網里發了大量偽造的ARP應答包,導致各個設備都把錯誤的MAC地址寫進了自己的緩存,結果整個網絡通信混亂,流量打滿,最終癱瘓。
說起來,ARP(地址解析協議)本來是很基礎的東西,局域網里大家互相靠它來找到對方。但問題是,ARP這種協議天生就沒設計安全機制,誰發個應答,別人就信了。這次,有設備(懷疑是中了毒的軟件或者配置錯誤的機器)持續發送假的ARP包,把局域網攪得一團亂。如下圖:
ARP攻擊并不新鮮,但真正遇到,還是挺讓人頭疼的。特別是我們的交換機是二三層混合型,默認允許ARP廣播到整個VLAN,一旦出問題,影響面非常廣。
解決的方法其實也不是特別復雜:
- 臨時封掉可疑端口,隔離問題源頭
- 核查關鍵設備(網關、服務器)上的ARP緩存,必要時手動清除
- 重新加載靜態ARP表,把常用IP-MAC關系固定下來
- 在交換機上啟用ARP防護,比如限制一個端口最多只能綁定幾個MAC地址,超過就自動斷開
事后復盤,發現公司內部網絡平時安全配置做得還是有些松,尤其是內網部分。大家總覺得有防火墻,外部攻擊進不來就萬事大吉了,結果內部出了問題,一下子放大了影響。
這件事情也提醒了我們一個很現實的問題:局域網安全,不能靠運氣。
ARP攻擊雖然看起來是很“低級”的手段,但只要環境允許,破壞力一點也不比高深的入侵技術差。而且執行門檻極低,一些網絡掃描、釣魚工具本身就帶ARP欺騙功能,普通人稍微摸一下教程就能操作。
未來我們準備做幾件事情來防范類似問題:
- 核心設備上啟用靜態ARP
- VLAN進一步劃分,減少廣播域
- 內網重要段開啟ARP防護策略
- 定期巡檢局域網異常廣播和MAC地址漂移情況
總的來說,安全防護,不是等出問題才補救,而是日常把基本功打牢。哪怕是像ARP這樣小小的一個環節,一旦出事,后果也遠比想象中嚴重。