筆者工作的單位最近發(fā)現(xiàn)內(nèi)網(wǎng)有計算機感染病毒,這些計算機是可以訪問互聯(lián)網(wǎng)的,通過分析日志發(fā)現(xiàn)感染病毒的電腦不停地和互聯(lián)網(wǎng)的某些IP地址建立連接。單個內(nèi)網(wǎng)的IP建立的連接數(shù)達到了幾十萬,這是很不正常的現(xiàn)像。理論上,內(nèi)網(wǎng)的一個IP地址不可能有這么大的連接數(shù),因為我們內(nèi)部網(wǎng)絡管理屏蔽了部分下載軟件,鑒于此,我們判斷是內(nèi)網(wǎng)的部分計算機被控制,對互聯(lián)網(wǎng)發(fā)起了DDoS攻擊。內(nèi)部網(wǎng)絡的簡要拓撲圖如圖1所示。
圖1 內(nèi)部網(wǎng)絡簡要拓撲圖
防火墻上面使用的動態(tài)地址映射技術(shù),使用了四個公網(wǎng)IP作為地址池,當內(nèi)部出現(xiàn)DDoS攻擊時候,防火墻出現(xiàn)大量的新建會話,另外需要處理這些無應答的請求,CPU的利用率會不斷地上升。面對這樣大的攻擊流,防火墻的資源被大量占用,出現(xiàn)一個明顯的問題是Web管理界面響應變得非常緩慢,點擊一個按鍵半天都沒有反應。
通過SSH登錄到防火墻上面,使用命令clear session嘗試清除所有的會話,但是效果并不理想,因為剛清除的IP地址的會話又會馬上建立新的session,必須要找到攻擊的源頭進行封堵才能解決問題。通過旁路捉包分析,結(jié)合防火墻的會話日志,發(fā)現(xiàn)可疑的IP地址有三個,分別是192.168.1.3、192.168.3.8、192.168.7.10, 這些IP地址發(fā)出大量的數(shù)據(jù)包,在防火墻上面建立的連接數(shù)都達到數(shù)十萬,必須對其進行封堵,下面介紹一下常用的三種封堵的辦法。
方法一:直接在三層網(wǎng)關設備上面進行封堵。
這種方式總結(jié)為野蠻模式的封堵,就是以封堵為大前提,犧牲小部分用戶保住整體網(wǎng)絡。內(nèi)部局域網(wǎng)都是劃分Vlan網(wǎng)段的,把 192.168.1.3、192.168.3.8、192.168.7.10對應的Vlan找出來,直接interface Vlan ID 然后再輸入shutdown命令,這是最快捷的方式,比拔網(wǎng)線還高效率,但是很自然地被shutdown的Vlan 整個網(wǎng)段的IP都無法訪問了,等于是消失在局域網(wǎng)中,攻擊的源頭自然就會被封堵。接下來就是發(fā)通知,找到那幾臺IP對應的機子進行網(wǎng)絡隔離,再把shutdown的Vlan重新啟動。
方法二:在防火墻上面使用添加黑名單的方式進行封堵。
這種方式是利用防火墻的黑名單功能,建立策略將匹配規(guī)則的IP地址進行封堵。簡要的配置命令如下:
命令的意思是將192.1 68.1.3、192.168.3.8、192.168.7.10 放進防火墻的全局黑命單,放置的時間是600秒鐘,這段時間內(nèi)上述的IP地址發(fā)起的請求將被阻止,不會產(chǎn)生新的session。實際上病毒感染的電腦還是會不斷地發(fā)起建立連接的請求,流量還是會流向防火墻,只是設備將不會響應黑命單里的請求。
方法三:使用黑洞路由,添加一條路由指向NULL 0接口。
如圖1所示,核心層的交換機與匯聚層的設備通過OSPF路由協(xié)議互聯(lián),所以在核心層建立一條黑洞路由就能使全網(wǎng)學習到。簡要配置如下:
Null 0接口是一個永遠不會down的接口,它的配置命令跟靜態(tài)路由差不多,實現(xiàn)起來較為簡單,最后面加上描述信息用于標記此路由條目。這樣能把感染病毒的IP指向了一個黑洞,請求不會到達防火墻也不需要在防火墻上面添加策略封堵,能減輕防火墻的負擔。
綜上所述,對于局域網(wǎng)內(nèi)部的IP地址封堵,可以結(jié)合多種方式進行,最理想的狀態(tài)是在接入端著手,從最靠近攻擊源頭的設備將流量進行阻塞,若出現(xiàn)多個不同網(wǎng)段的IP發(fā)起攻擊,使用shutdown Vlan的方式就比較困難,個人建議是先編輯好一個黑洞路由的腳本,只要把封堵IP地址都寫上,直接在交換機上面粘貼配置,這樣的方式效果又快又明顯。