使用NetFlow分析網路異常流量

基本介紹

  • 中文名:使用NetFlow分析網路異常流量
  • 外文名:  Cisco
  • 提供:Cisco NetFlow Collector
  • 簡稱:NFC
一、前言 近年來,隨著網際網路在全球的迅速發展和各種網際網路套用的快速普及,網際網路已成為人們日常工作生活中不可或缺的信息承載工具。然而,伴隨著網際網路的正常套用流量,網路上形形色色的異常流量也隨之而來,影響到網際網路的正常運行,威脅用戶主機的安全和正常使用。 本文從網際網路運營商的視角,對網際網路異常流量的特徵進行了深入分析,進而提出如何在網路層面對網際網路異常流量採取防護措施,其中重點講述了NetFlow分析在網際網路異常流量防護中的套用及典型案例。二、NetFlow簡介 本文對網際網路異常流量的特徵分析主要基於NetFlow數據,因此首先對NetFlow做簡單介紹。 1. NetFlow概念 NetFlow是一種數據交換方式,其工作原理是:NetFlow利用標準的交換模式處理數據流的第一個IP包數據,生成NetFlow 快取,隨後同樣的數據基於快取信息在同一個數據流中進行傳輸,不再匹配相關的訪問控制等策略,NetFlow快取同時包含了隨後數據流的統計信息。 一個NetFlow流定義為在一個源IP位址和目的IP位址間傳輸的單向數據包流,且所有數據包具有共同的傳輸層源、目的連線埠號。 2. NetFlow數據採集 針對路由器送出的NetFlow數據,可以利用NetFlow數據採集軟體存儲到伺服器上,以便利用各種NetFlow數據分析工具進行進一步的處理。 Cisco提供了Cisco NetFlow Collector(NFC)採集NetFlow數據,其它許多廠家也提供類似的採集軟體。 下例為利用NFC2.0採集的網路流量數據實例:
211.*.*.57|202.*.*.12|Others|localas|9|6|2392
|80|80|1|40|1
出於安全原因考慮,本文中出現的IP位址均經過處理。
NetFlow數據也可以在路由器上直接查看,以下為從Cisco GSR路由器採集的數據實例,:
gsr #att 2 (登錄採集NetFlow數據的GSR 2槽板卡)
LC-Slot2>sh ip cache flow
SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts
Gi2/1 219.*.*.229 PO4/2 217.*.*.228 06 09CB 168D 2
Gi2/1 61.*.*.23Null 63.*.*.246 11 0426 059A 1
本文中的NetFlow數據分析均基於NFC採集的網路流量數據,針對路由器直接輸出的Neflow數據,也可以採用類似方法分析。 3. NetFlow數據採集格式說明 NFC 可以定製多種NetFlow數據採集格式,下例為NFC2.0採集的一種流量數據實例,本文的分析都基於這種格式。
61.*.*.68|61.*.*.195|64917|Others|9|13|4528|
135|6|4|192|1
數據中各欄位的含義如下:
源地址|目的地址|源自治域|目的自治域|流入接口號|流出接口號|源連線埠|目的連線埠|協定類型|包數量|位元組數|流數量 4. 幾點說明 NetFlow主要由Cisco路由器支持,對於其它廠家的網路產品也有類似的功能,例如Juniper路由器支持sFlow功能。 NetFlow支持情況與路由器類型、板卡類型、IOS版本、IOS授權都有關係,不是在所有情況下都能使用,使用時需考慮自己的軟硬體配置情況。 本文的所有分析數據均基於采自Cisco路由器的NetFlow數據。三、網際網路異常流量的NetFlow分析 要對網際網路異常流量進行分析,首先要深入了解其產生原理及特徵,以下將重點從NetFlow數據角度,對異常流量的種類、流向、產生後果、數據包類型、地址、連線埠等多個方面進行分析。 1. 異常流量的種類 目前,對網際網路造成重大影響的異常流量主要有以下幾種:
(1)拒絕服務攻擊(DoS)DoS攻擊使用非正常的數據流量攻擊網路設備或其接入的伺服器,致使網路設備或伺服器的性能下降,或占用網路頻寬,影響其它相關用戶流量的正常通信,最終可能導致網路服務的不可用。 例如DoS可以利用TCP協定的缺陷,通過SYN打開半開的TCP連線,占用系統資源,使合法用戶被排斥而不能建立正常的TCP連線。 以下為一個典型的DoS SYN攻擊的NetFlow數據實例,該案例中多個偽造的源IP同時向一個目的IP發起TCP SYN攻擊。
117.*.68.45|211.*.*.49|Others|64851|3|2|10000|
10000|6|1|40|1
104.*.93.81|211.*.*.49|Others|64851|3|2|5557|
5928|6|1|40|1
58.*.255.108|211.*.*.49|Others|64851|3|2|3330|
10000|6|1|40|1
由於Internet協定本身的缺陷,IP包中的源地址是可以偽造的,現在的DoS工具很多可以偽裝源地址,這也是不易追蹤到攻擊源主機的主要原因。 [Page](2)分散式拒絕服務攻擊(DDoS) DDoS把DoS又發展了一步,將這種攻擊行為自動化,分散式拒絕服務攻擊可以協調多台計算機上的進程發起攻擊,在這種情況下,就會有一股拒絕服務洪流衝擊網路,可能使被攻擊目標因過載而崩潰。 以下為一個典型的DDoS攻擊的NetFlow數據實例,該案例中多個IP同時向一個IP發起UDP攻擊。
61.*.*.67|69.*.*.100|64821|as9|2|9|49064|5230|
17|6571|9856500|1
211.*.*.163|69.*.*.100|64751|as9|3|9|18423|
22731|17|906|1359000|1
61.*.*.145|69.*.*.100|64731|Others|2|0|52452|
22157|17|3|4500|1 (3)網路蠕蟲病毒流量 網路蠕蟲病毒的傳播也會對網路產生影響。近年來,RedCode、SQL Slammer、衝擊波、振盪波等病毒的相繼爆發,不但對用戶主機造成影響,而且對網路的正常運行也構成了的危害,因為這些病毒具有掃描網路,主動傳播病毒的能力,會大量占用網路頻寬或網路設備系統資源。 以下為最近出現的振盪波病毒NetFlow數據實例,該案例中一個IP同時向隨機生成的多個IP發起445連線埠的TCP連線請求,其效果相當於對網路發起DoS攻擊。
61.*.*.*|168.*.*.200|Others|Others|3|0|1186|
445|6|1|48|1
61.*.*.*|32.*.*.207|Others|Others|3|0|10000|
445|6|1|48|1
61.*.*.*|24.*.*.23|Others|Others|3|0|10000|
445|6|1|48|1 (4)其它異常流量 我們把其它能夠影響網路正常運行的流量都歸為異常流量的範疇,例如一些網路掃描工具產生的大量TCP連線請求,很容易使一個性能不高的網路設備癱瘓。 以下為一個IP對167.*.210.網段,針對UDP 137連線埠掃描的NetFlow數據實例:
211.*.*.54|167.*.210.95|65211|as3|2|10|1028|
137|17|1|78|1
211.*.*.54|167.*.210.100|65211|as3|2|10|
1028|137|17|1|78|1
211.*.*.54|167.*.210.103|65211|as3|2|10|
1028|137|17|1|78|1 2. 異常流量流向分析 從異常流量流向來看,常見的異常流量可分為三種情況: 網外對本網內的攻擊
本網內對網外的攻擊
本網內對本網內的攻擊 針對不同的異常流量流向,需要採用不同的防護及處理策略,所以判斷異常流量流向是進一步防護的前提,以下為這三種情況的NetFlow數據實例:
124.*.148.110|211.*.*.49|Others|64851|3|2|
10000|10000|6|1|40|1
211.*.*.54|167.*.210.252|65211|as3|2|10|
1028|137|17|1|78|1
211.*.*.187|211.*.*.69|Others|localas|71|6|1721|
445|6|3|144|1
其中211開頭的地址為本網地址。 3. 異常流量產生的後果 異常流量對網路的影響主要體現在兩個方面:
占用頻寬資源使網路擁塞,造成網路丟包、時延增大,嚴重時可導致網路不可用;
占用網路設備系統資源(CPU、記憶體等),使網路不能提供正常的服務。 4. 異常流量的數據包類型 常見的異常流量數據包形式有以下幾種:
?TCP SYN flood(40位元組)
11.*.64.3|2.*.38.180|64821|as10|5|4|1013|18|6|
1|40|1
從NetFlow的採集數據可以看出,此異常流量的典型特徵是數據包協定類型為6(TCP),數據流大小為40位元組(通常為TCP的SYN連線請求)。
?ICMP flood
2.*.33.1|1.*.97.22|as12|64811|5|2|0|0|1|146173|
218359704|1
從NetFlow的採集數據可以看出,此異常流量的典型特徵是數據包協定類型為1(ICMP),單個數據流位元組數達218M位元組。
?UDP flood
*.*.206.73|160.*.71.129|64621|Others|6|34|
1812|1812|17|224|336000|1
*.*.17.196|25.*.156.119|64621|Others|6|34|
1029|137|17|1|78|1
從NetFlow的採集數據可以看出,此異常流量的典型特徵是數據包協定類型為17(UDP),數據流有大有小。
?其它類型
其它類型的異常流量也會在網路中經常見到,從理論上來講,任何正常的數據包形式如果被大量濫用,都會產生異常流量,如以下的DNS正常訪問請求數據包(協定類型53)如果大量發生,就會產生對DNS伺服器的DoS攻擊。
211.*.*.146|211.*.*.129|Others|Others|71|8|
3227|53|53|1|59|1 [Page] 5. 異常流量的源、目的地址 目的地址為固定的真地址,這種情況下目的地址通常是被異常流量攻擊的對象,如下例數據:
211.*.*.153|*.10.72.226|as2|as8|5|4|3844|10000|
17|2|3000|2
211.*.*.153|*.10.72.226|
as2|as8|5|4|3845|10000|17|1|1500|1
211.*.*.153|*.10.72.226|as2|as8|5|4|3846|10000|
17|1|1500|1
目的地址隨機生成,如下例數據:
211.*.*.187|169.*.190.17|Others|localas|71|6|
1663|445|6|3|144|1
211.*.*.187|103.*.205.148|Others|localas|71|6|
3647|445|6|3|144|1
211.*.*.187|138.*.80.79|Others|localas|71|6|
1570|445|6|3|144|1
目的地址有規律變化,如下例數據,目的地址在順序增加:
211.*.*.219|192.*.254.18|Others|Others|15|9|
10000|6789|17|1|36|1
211.*.*.219|192.*.254.19|Others|Others|15|9|
10000|6789|17|2|72|2
211.*.*.219|192.*.254.20|Others|Others|15|9|
10000|6789|17|3|108|3
源地址為真實IP位址,數據同上例:
源地址為偽造地址,這種情況源地址通常隨機生成,如下例數據,源地址都是偽造的網路地址:
63.245.0.0|209.*.*.38|as5|as4|3|7|1983|23|23|
1|40|1
12.51.0.0 |209.*.*.38 |as6|as4|3|7|1159|2046|6|
1|40|1
212.62.0.0|209.*.*.38| as7|as4|3|7|1140|3575|6|
1|40|1 6. 異常流量的源、目的連線埠分析 異常流量的源連線埠通常會隨機生成,如下例數據:
211.*.*.187|169.172.190.17|Others|localas|71|
6|1663|445|6|3|144|1
211.*.*.187|103.210.205.148|Others|localas|71|
6|3647|445|6|3|144|1
211.*.*.187|138.241.80.79|Others|localas|71|6|
1570|445|6|3|144|1
多數異常流量的目的連線埠固定在一個或幾個連線埠,我們可以利用這一點,對異常流量進行過濾或限制,如下例數據,目的連線埠為UDP 6789:
211.*.*.219|192.*.254.18|Others|Others|15|9|
10000|6789|17|1|36|1
211.*.*.219|192.*.254.19|Others|Others|15|9|
10000|6789|17|2|72|2
211.*.*.219|192.*.254.20|Others|Others|15|9|
10000|6789|17|3|108|3四、利用NetFlow工具處理防範網路異常流量 從某種程度上來講,網際網路異常流量永遠不會消失而且從技術上目前沒有根本的解決辦法,但對網管人員來說,可以利用許多技術手段分析異常流量,減小異常流量發生時帶來的影響和損失,以下是處理網路異常流量時可以採用的一些方法及工具: 1. 判斷異常流量流向 因為目前多數網路設備只提供物理連線埠入流量的NetFlow數據,所以採集異常流量NetFlow數據之前,首先要判斷異常流量的流向,進而選擇合適的物理連線埠去採集數據。 流量監控管理軟體是判斷異常流量流向的有效工具,通過流量大小變化的監控,可以幫助我們發現異常流量,特別是大流量異常流量的流向,從而進一步查找異常流量的源、目的地址。 目前最常用的流量監控工具是免費軟體MRTG,下圖為利用MRTG監測到的網路異常流量實例,可以看出被監測設備連線埠在當天4:00至9:30之間產生了幾十Mbps的異常流量,造成了該連線埠的擁塞(峰值流量被拉平)。 如果能夠將流量監測部署到全網,這樣在類似異常流量發生時,就能迅速找到異常流量的源或目標接入設備連線埠,便於快速定位異常流量流向。 有些異常流量發生時並不體現為大流量的產生,這種情況下,我們也可以綜合異常流量發生時的其它現象判斷其流向,如設備連線埠的包轉發速率、網路時延、丟包率、網路設備的CPU利用率變化等因素。 2. 採集分析NetFlow數據 判斷異常流量的流向後,就可以選擇合適的網路設備連線埠,實施Neflow配置,採集該連線埠入流量的NetFlow數據。 以下是在Cisco GSR路由器GigabitEthernet10/0連線埠上打開NetFlow的配置實例:
ip flow-export source Loopback0
ip flow-export destination *.*.*.61 9995
ip flow-sampling-mode packet-interval 100
interface GigabitEthernet10/0
ip route-cache flow sampled
通過該配置把流入到GigabitEthernet10/0的NetFlow數據送到NetFlow採集器*.*.*.61,該實例中採用sampled模式,採樣間隔為100:1。 3. 處理異常流量的方法 (1)切斷連線
在能夠確定異常流量源地址且該源地址設備可控的情況下,切斷異常流量源設備的物理連線是最直接的解決辦法。 (2)過濾
採用ACL(Access Control List)過濾能夠靈活實現針對源目的IP位址、協定類型、連線埠號等各種形式的過濾,但同時也存在消耗網路設備系統資源的副作用,下例為利用ACL過濾UDP 1434連線埠的實例:
access-list 101 deny udp any any eq 1434
access-list 101 permit ip any any
此過濾針對蠕蟲王病毒(SQL Slammer),但同時也過濾了針對SQL Server的正常訪問,如果要保證對SQL Server的正常訪問,還可以根據病毒流數據包的大小特徵實施更細化的過濾策略(本文略)。 (3)靜態空路由過濾
能確定異常流量目標地址的情況下,可以用靜態路由把異常流量的目標地址指向空(Null),這種過濾幾乎不消耗路由器系統資源,但同時也過濾了對目標地址的正常訪問,配置實例如下:
ip route 205.*.*.2 255.255.255.255 Null 0
對於多路由器的網路,還需增加相關動態路由配置,保證過濾在全網生效。 (4)異常流量限定
利用路由器CAR功能,可以將異常流量限定在一定的範圍,這種過濾也存在消耗路由器系統資源的副作用,以下為利用CAR限制UDP 1434連線埠流量的配置實例:
Router# (config) access-list 150 deny udp any any eq 1434
Router# (config) access-list 150 permit ip any any
Router# (config) interface fastEthernet 0/0
Router# (config-if) rate-limit input access-group rate-limit 150 8000 1500 20000
conform-action drop exceed-action drop
此配置限定UDP 1434連線埠的流量為8Kbps。 [Page]五、常見蠕蟲病毒的NetFlow分析案例 利用抗訴方法可以分析目前網際網路中存在的大多數異常流量,特別是對於近年來在網際網路中造成較大影響的多數蠕蟲病毒,其分析效果非常明顯,以下為幾種蠕蟲病毒的NetFlow分析實例: 1.紅色代碼(Code RedWorm)
2001年7月起發作,至今仍在網路流量中經常出現。
211.*.*.237|192.*.148.107|65111|as1|6|72|
3684|80|80|3|144|1
211.*.*.237|192.*.141.167|65111|as1|6|36|
4245|80|80|3|144|1
211.*.*.237|160.*.84.142|65111|as1|6|72|
4030|80|80|3|144|1
NetFlow流數據典型特徵:目的連線埠80, 協定類型80,包數量3,位元組數144。 2.硬碟殺手(worm.opasoft,W32.Opaserv.Worm)
2002年9月30日起發作,曾對許多網路設備性能造成影響,2003年後逐漸減少。
61.*.*.196|25.|*.156.106|64621|Others|6|36|
1029|137|17|1|78|1
61.*.*.196|25.*.156.107|64621|Others|6|36|
1029|137|17|1|78|1
61.*.*.196|25.*.156.108|64621|Others|6|36|
1029|137|17|1|78|1
NetFlow流數據典型特徵:目的連線埠137,協定類型UDP,位元組數78。 3. 2003蠕蟲王 (Worm.NetKiller2003,WORM_SQLP1434,W32.Slammer,W32.SQLExp.Worm)
2003年1月25日起爆發,造成全球網際網路幾近癱瘓,至今仍是網際網路中最常見的異常流量之一。
61.*.*.124|28.*.17.190|65111|as1|6|34|4444|
1434|17|1|404|1
61.*.*.124|28.*.154.90|65111|as1|6|70|4444|
1434|17|1|404|1
61.*.*.124|28.*.221.90|65111|as1|6|36|4444|
1434|17|1|404|1
NetFlow流數據典型特徵:目的連線埠1434,協定類型UDP,位元組數404 4. 衝擊波 (WORM.BLASTER,W32.Blaster.Worm)
2003年8月12日起爆發,由其引發了危害更大的衝擊波殺手病毒。
211.*.*.184|99.*.179.27|Others|Others|161|0|
1523|135|6|1|48|1
211.*.*.184|99.*.179.28|Others|Others|161|0|
1525|135|6|1|48|1
211.*.*.184|99.*.179.29|Others|Others|161|0|
1527|135|6|1|48|1
典型特徵:目的連線埠135,協定類型TCP,位元組數48 5. 衝擊波殺手(Worm.KillMsBlast,W32.Nachi.worm,W32.Welchia.Worm)
2003年8月18日起發現,其產生的ICMP流量對全球網際網路造成了很大影響,2004年後病毒流量明顯減少。
211.*.*.91|211.*.*.77|Others|Others|4|0|0|
2048|1|1|92|1
211.*.*.91|211.*.*.78|Others|Others|4|0|0|
2048|1|1|92|1
211.*.*.91|211.*.*.79|Others|Others|4|0|0|
2048|1|1|92|1
NetFlow流數據典型特徵:目的連線埠2048,協定類型ICMP,位元組數92 6. 振盪波(Worm.Sasser,W32.Sasser)
2004年5月爆發。
61.*.*.*|32.*.70.207|Others|Others|3|0|10000|
445|6|1|48|1
61.*.*.*|24.*.217.23|Others|Others|3|0|10000|
445|6|1|48|1
61.*.*.*|221.*.65.84|Others|Others|3|0|10000|
445|6|1|48|1
NetFlow流數據典型特徵:目的連線埠445,協定類型TCP,位元組數48
從以上案例可以看出,蠕蟲爆發時,套用Neflow分析方法,可以根據病毒流量的NetFlow特徵快速定位感染病毒的IP位址,並參考NetFlow數據流的其它特徵在網路設備上採取相應的限制、過濾措施,從而達到抑制病毒流量傳播的目的。六、總結 處理分析網路異常流量存在許多其它方法,如我們可以利用IDS、協定分析儀、網路設備的Log、Debug、ip accounting等功能查找異常流量來源,但這些方法的套用因各種原因受到限制,如效率低、對網路設備的性能影響、數據不易採集等因素。 利用NetFlow分析網路異常流量也存在一些限制條件,如需要網路設備對NetFlow的支持,需要分析NetFlow數據的工具軟體,需要網路管理員準確區分正常流量數據和異常流量數據等。 但相比其它方法,利用NetFlow分析網路異常流量因其方便、快捷、高效的特點,為越來越多的網路管理員所接受,成為網際網路安全管理的重要手段,特別是在較大網路的管理中,更能體現出其獨特優勢。參考文獻
NetFlow Overview
NetFlowExportDatagram Format
Customizing FlowCollector
SAFESQL Slammer WormAttackMitigation
病毒與安全

相關詞條

熱門詞條

聯絡我們