technology
吉印通 2022-06-12 10:24 523
隨著各種網絡應用迅速增加,由此帶來了網絡流量的激增。在這些流量中,網絡用戶的上網行為如何管理?各種類型的流量如何分布?在這種情況下,可以使用NetFlow這一有效工具以滿足對網絡流量管理的需求。
NetFlow最初是由Cisco開發的,由于使用廣泛,目前很多廠家都可以實現,如:Juniper、Extreme、Foundry、H* C等。Cisco的NetFlow也有多種版本,如V* 、V7、V* 、V9。目前NetFlow V* 是主流。因此本文主要針對NetFlow V* ,該版本數據包中的基本元素包含哪些內容呢?首先從Flow講起,一個IP數據包的Flow至少定義了下面7個關鍵元素:
? 源IP地址;
? 目的IP地址;
? 源端口號;
? 目的端口號;
? 第三層協議的類型;
? TOS字段;
? 網絡設備輸入/輸出的邏輯端口(if index)
以上7個字段定義了一個基本的Flow信息。 Netflow就是利用分析IP數據包的上述7種屬性,快速區分網絡中傳送的各種類型的業務數據流。
1. Cache管理
在NetFlow中有兩個關鍵組件:
(1) NetFlow Cache,主要描述流緩存(或者說源數據)如何存放在Cache中。
NetFlow緩存管理機制中包含一系列高度精細化算法,能夠有效地判斷一個報文是屬于已存在Flow的一部分還是應該在緩存中產生一條新的Flow。這些算法也能動態更新緩存中Flow的信息,并且判斷哪些Flow應該到期終止。
(2) NetFlow Export,數據流的輸出機制,主要描述了數據流是如何輸出并被分析器接收的。
首先了解NetFlow Cache(緩存機制)。當緩存中的Flow到期后,就產生一個將Flow輸出的動作。將超時的Flow信息以數據報文的方式輸出,叫做“NetFlow Export”,這些輸出的報文包含* 0條以上的Flow信息。這些NetFlow信息一般是無法識別的,需由專用收集器(Flow Collector)采集到并做出進一步分析,這些Flow Collector能夠識別NetFlow的特殊格式。
2.輸出格式
NetFlow的輸出報文包含報頭和一系列的Flow流,報頭包含系列號、記錄數、系統時間等,Flow流包含具體內容,如IP地址、端口、路由信息等。各個版本的NetFlow格式都相同,且NetFlow采用UDP報文,這更有利于大流量情況下的數據報文傳輸。換句話說,在路由器,防火墻等網絡設備中如要使用NetFlow就不能禁用UDP端口,否則無法接收設備傳遞的信息。
* .抽樣機制
在Netflow的實際應用中,它不是時刻都把數據包抓取過來,而是采用抽樣的機制,通過使用抽樣技術可以降低路由器的CPU利用率,減少Flow的輸出量,但仍然可以監測到大多數的流量信息。當我們不需要了解網絡流量的每個Flow的具體細節的時候,抽樣就成了比較好的選擇。但流量計費系統采用NetFlow會造成誤差,使得NetFlow輸出有時不能準確反映流量的實際情況。這時如果你的流量計費系統選用Netflow就不太合適了。
* .性能影響
使用任何一種技術作為工程師最應該關注它的性能問題。由于在設備緩存中Flow的生成,需要消耗系統資源同樣,將Flow格式化成特定的輸出報文并將報文輸出,也是要消耗系統資源,因此在設備上使用NetFlow時,肯定就會影響設備性能。由于高端Cisco設備(如* * 00、7* 00系列等)都是通過ASIC硬件處理數據包,所以占用10%~20%利用率均屬正常。注意,在使用中CPU的利用率會隨著緩存中Flow條目的增大而增加,所以在高負載情況下,一定要慎用Netflow功能。
* .在蠕蟲病毒監測中的舉例
前些年Code Red、SQL Slammer、沖擊波、振蕩波等蠕蟲病毒的相繼爆發,不但對用戶主機造成影響,而且對網絡的正常運行也構成了的危害,因為這些病毒具有掃描網絡,主動傳播病毒的能力,會大量占用網絡帶寬或網絡設備系統資源。這些蠕蟲在網絡行為上都有某些共同特征,我們可以利用NetFlow的信息篩選出這些數據包,從而快速發現問題。
例1:CodeRed的Flow特征是destination port=* 0,、packets=* 、size=1* * bytes。雖然在Internet上,符合上述特性的正常行為是存在的(如使用ICQ),但是一般正常使用的主機不會在連續幾段時間內發出大量的這些報文。
因此監測CodeRed 可采用的方法是:取幾個不同時間段,例如每段時間* 分鐘,如果每個時間段內符合特征的Flow大于上限值,則可以判斷為Code Red。
例2:感染了Nimda病毒的主機會向外部地址(往往是TCP * 0端口)發起大量連接,Nimda的Flow特征是每個Flow代表一次連接destination port=* 0的行為,如果普通的客戶機在一段時間內(例如* 分鐘)Flow數量過大,那么很有可能遭受病毒感染或者有其他針對HTTP的攻擊行為。
因此監測Nimda可采用的策略是:取幾個不同時間段,每段時間* 分鐘,如果每個時間段內符合特征的Flow超過上限值,則可以判斷為Nimda病毒或其他攻擊行為。另外,如果Apache Http Server感染了Slapper Worm的話,也會產生大量的Http報文。
例* :震蕩波(Worm.Sasser)的特征是一個IP同時向隨機生成的多個IP發起* * * 端口的TCP連接。因此檢測條件是:相同源IP,大量不同目的IP,目的端口為* * * ,當符合的Flow達到上限值時,則可以認定是振蕩波病毒。
例* :幾年前臭名昭著的微軟SQL-Server漏洞造成了很大的影響,它的特征是目的端口為1* * * 的TCP流。表1* -2是根據此條件篩選出的NetFlow統計數據,可以得知IP地址* * .190.1* * .1* * 正在對某網段進行SQL漏洞掃描。
表1 篩選的NetFlow數據
例* :用NetFlow分析DOS攻擊流量
DOS攻擊使用非正常的數據流量攻擊網絡設備或其接入的服務器,致使網絡設備或服務器的性能下降,或占用網絡帶寬,影響其他相關用戶流量的正常通信,最終可能導致網絡服務不可用。例如DOS可以利用TCP協議的缺陷,通過SYN打開半開的TCP連接,占用系統資源,使合法用戶被排斥而不能建立正常的TCP連接。以下為一個典型的DoS SYN攻擊的NetFlow數據實例,該案例中多個偽造的源IP同時向一個目的IP發起TCP SYN攻擊。
111.*.* * .* * |202.*.*.* 0|Others|* * * * 1|* |2|10000|10000|* |1|* 0|1
10* .*.9* .91|202.*.*.* 0|Others|* * * * 1|* |2|* * * 7|* 92* |* |1|* 0|1
1* * .*.2* .20* |202.*.*.* 0|Others|* * * * 1|* |2|* * * 0|10000|* |1|* 0|1
日常工作中發現,除了遇到DOS 以外還有許多攻擊屬于DDOS攻擊,只不過攻擊類別不同,有些為Ping Death,另一些則為SYN Flooding。
DDOS攻擊基本上都造成這樣一種結果:服務器無法處理源源不斷如潮水般涌來的請求,從而造成響應遲緩,直至系統資源耗盡而宕機。DDOS攻擊的共同點是來源廣泛,針對一臺主機,大量數據包。
因此檢測ICMP攻擊就可以根據下面的條件:在連續的幾個時間段,假設每個時間段為* 分鐘,各個時間段內ICMP報文大于* 000。符合這個條件的,可以認為受到了ICMP攻擊。
下面是ICMP流的NetFlow實例。
另外,還有一種DDOS攻擊是SYN flooding,它的特征是TCP報頭中的SYN被置位,且有大量的SYN特征數據包。NetFlow輸出格式中提供了Flag位,為我們判斷SYN攻擊創造了條件。
因此檢測SYN flooding的條件是:在連續的幾個時間段,假設每個時間段為* 分鐘,產生大量flag=2的數據包,正常連接不會產生這么多flag=2的數據包,所以可以設置閾值為* 000。超過這個數值就認為服務器受到SYN flooding攻擊。如果主機發出flag=2的數據包數量超過1000,則可以認為主機在發起攻擊。以下是SYN特征的NetFlow實例。
各種DDOS攻擊的特征都是在短時間內產生大量的數據包,因此,即使不知道攻擊報文的特征,也可以在NetFlow的輸出結果中進行相應的查找,找到符合條件的異常Flow。這就為及時發現和防范網絡上的不安全因素提供了有效的手段。
案例* :NetFlow在網絡取證方面的應用
假設圖1中的ADSL撥號用戶從Internet上某FTP服務器上下載了可疑文件,在客戶端PC上留有下載日期時間戳信息,在局端的接入服務器上也可以看到特定IP地址在相應時間內被分配給客戶端PC,通過在ISP方面的ANI(Automatic Number Identification)日志就能將客戶端的所在家庭電話號碼與上網撥號信息聯系到一起,與此同時,在ISP的路由器上記錄(一般會保留* 0天左右)著FTP下載/上傳網絡流量(NetFlow)日志,這個流量至關重要。最后在Ftp服務器上還有完整的下載記錄。
圖 1 分析下載可疑文件
由上圖可以看出,從客戶端發起連接到FTP服務器下載分為四個階段,分別是客戶端發送/接受、接入服務器驗證、路由器轉發及FTP服務器接受下載,每個階段都有日志記錄信息包含用戶賬號、登錄時間、IP、端口、發送數據包大小及日期及時間戳等。這些日志信息分別存放在不同的設備上,即便是某些日志遭到了一定程度破壞(例如篡改IP,丟失了某些日志等)也不會影響全局,所以這些相關信息,在調查人員進行計算機網絡取證時就顯得尤為重要,希望引起管理人員重視。
在某些情況下,設備不支持Netflow,怎么對流量進行檢測呢?對于這樣的環境也有相應的解決方法,那就是使用Fprobe。利用Fprobe來生成Netflow報文,其默認格式為V* 版本。最初Fprobe是一款在BSD環境下運行的軟件,目前在UNIX/Linux平臺上均可運行。它可以將NIC接口收到的數據轉化為Netflow數據,并發送至Netflow分析端。我們可以通過部署這樣一臺Ossim服務器,將網絡流量鏡像至Ossim服務器,實現網絡流量分析。Ossim服務器中的Netflow分析器,由下列三個工具組成:
? Fprobe: 從遠程主機發送數據流;
? NfSen: NetFlow的分析圖形前端;
? Nfdump: NetFlow采集模塊;
有關Ossim結構大家可以先參看本書第1* 章,這里介紹Netflow分析數據包的過程。首先,在網絡接口接收網絡數據,然后由Fprobe程序將收集的數據按照一定規則和格式進行轉換(Netflow格式),再發到系統的* * * 端口(查看/etc/default/fprobe能得知詳情),再由Nfsen系統中的Nfdump程序將轉換后的數據統一存放在/var/cache/nfdump/flows/目錄下,最后由Web前端程序Nfsen來讀取,數據通過* * * 端口接收,同時結果會顯示在前臺Web界面上(在Ossim系統中路徑為Situational Awareness→Network→Traffic,顯示效果在Ossim右側導航欄里可以查看),分析Netflow過程如圖2所示。
圖 2 Ossim系統分析Netflow數據
在Ossim* .1系統中查詢 Netflow流量如圖1* -* 所示。
圖 * Netflow流量源端口Top 10
在Ossim * .1系統中由Netflow收集的數據放置在/var/cache/nfdump/flows/live/ossim/目錄下,并存儲為二進制文件格式,以天為單位分別設置目錄,方便查看。這些數據按照一定的時間組織起來,每* 分鐘采集一次數據,同時由nfcapd產生新的文件,并用當前時間來命名,例如nfcapd.201* 0* * 1120* * 包含的數據是從201* 年* 月* 1日12小時* * 分鐘開始的數據。
圖 * nfcapd產生的數據
從系統捕獲數據包的過程來看Nfdump這一過程至關重要,它由nfcpad、fddump、nfprofile和nfreplay這* 個進程組成,功能見表2所示。
表2 nfdump工具組成
* .分布式環境數據流處理
本節內容是對上述知識點的總結,下面這個實驗在一個模擬的分布式環境中完成,其中有一臺混合安裝的Ossim USM,兩臺Sensor,三臺接入層交換機和一臺核心交換機以及若干PC組成,為簡化實驗這些設備均在同一個VLAN中,實際生產中應在多個VLAN。拓撲如圖* 所示。
圖* Ossim分布式部署
第2章講解了如何添加Sensor,并與Server進行連接,下面接著啟用Netflow服務,交換機上Netflow也必須同時設置正確,注意nfcapd進程在12000和120001端口進行監聽。各主機IP、UUID及端口如表* 所示。
表* Ossim服務器傳感器配置
前面已經講過查看UUID的方法下面依次在終端下輸入如下命令:
所有數據存儲在Ossim Server端,所以我們到Server命令行下輸入以下命令進行驗證:
為了確保在SensorA、SensorB和Sensor上都能展現其Netflow數據要確保nfsen都收到數據,我們在Ossim Server的終端控制臺下,操作以下命令
接著觀察目錄的內容,我們進入目錄* * * db* * 0* 29* cb* * ae* a* 1* 1c00f* 2* * ,在該目錄下有若干Pcap格式的文件,每隔* 分鐘生成一個,每個文件大小在* 00KB~1000KB(大小并不固定),每天會產生100~200MB的抓包文件。
如果在實驗中發現沒有收到Sensor數據包,首先檢查設置是否正確,接下來用tcpdump來抓包分析,具體抓包操作如下圖所示。
或tcpdump -i eth0 ‘port 12001’ 。
通過nfdump可以實現Netflow記錄的過濾、Top統計和排序等功能,在Ossim通過Web UI能輕松的展現給用戶,如圖* 所示。
圖* Netflow多傳感器顯示
作為系統維護人員需要了解后臺執行的命令,例如我們進入201* -0* -01目錄,對其數據包按端口排序輸入命令nfdump –r nfcapd.201* 0* 010* 1* –s dstport –n 10
又如
7.交換機上配置
下面歸納一下實施流量監控的步驟(以Cisco * 000系列交換機為例):
1) 在Cisco * * 09上配置NetFlow(或其他網絡設備),并輸出到指定到Ossim采集器(IP)的固定UDP端口。
2) 采集器軟件為Ossim系統的Flow-tool工具,該軟件監聽UDP端口,接收進入的NetFlow數據包并存儲為特定格式。
* ) 使用Nfsen等軟件包中的工具對NetFlow源文件進行讀取,轉換成可讀的ASICII格式,再用Ossim內的Perl程序對NetFlow進行分析和規范格式的操作,并將讀取的NetFlow信息存儲入Ossim數據庫中。
* ) 依據蠕蟲和DDOS攻擊等異常報文的流量特征,在分析程序中預設各種觸發條件,定時運行,從中發現滿足這些條件的Flow。
* ) 將分析結果在Web客戶端中展示,或者通過E-mail、短信等接口發送。也可以通過與設備聯動的方式,采用ACL對設備進行自動配置,等攻擊流消退后再自動取消ACL。
除了OSSIM之外,還有些商業軟件都提供了很好的分析工具,例如Solarwinds NetFlow Traffic Analysis 和Manage Engine NetFlow Analyzer這兩款軟件如圖7所示,它們都是不錯的選擇。
圖7 Manage Engine NetFlow Analyzer
【編輯推薦】
【責任編輯:藍雨淚TEL:(010)* * * 7* * 0* 】
點贊 0
APPPEXPO201*上海廣印展第二十六屆上海國際廣告技術設備展覽會 201*年*月2*日-*1日 國家會展中心(上海) 組織機構 上海現代國際展覽吉印通 上海廣告設備器材供應商協會 上海市廣告協會 ...
2023-03-24 110
201*年*月*0日,華為在北京工業大學的奧林匹克體育館發布了榮耀年度旗艦機----讓世界有點不同的榮耀7~榮耀7上加入了不少電池方面的新技術,這大概是華為首次涉足快充領域吧~ 最近小編正好借到華為針對榮耀7所推出的具有急速...
2023-03-23 94
AutoCADElectrical是面向電氣控制設計師的AutoCAD軟件,專門用于創建和修改電氣控制系統圖檔。該軟件除包含AutoCAD?的全部功能外,還增加了一系列用于自動完成電氣控制工程設計任務的工具,如創建原理圖,導線編號,生...
2023-03-23 87
長城PPT丨202*年政府工作報告要點速讀*月*日,第十四屆全國人民代表大會第一次會議在人民大會堂舉行開幕會。國務院總理李克強作政府工作報告。經過梳理,我們精心制作《202*年政府工作報告要點速讀》PPT,歡迎廣大黨員干部群眾下載學習。...
2023-03-17 77
“看、聽、聞、觸”輕松判斷步進電機質量一、看。查看步進電機運行中是否存在異常。1.定子繞組短路時,可能會看到步進電機冒煙。2.步進電機嚴重過載或缺相運行時,轉速會變慢且有較沉重的”嗡嗡”聲。*.步進電機維修網正常運行,但突然停止時,...
2023-03-08 86
1.這種印刷術還有多少人在用?2.這師傅給多少錢合適。*.世界上最會玩滑板的貓!作為一個人,我都沒它玩的好!4.就算鄰居聚會也要有點儀式感!*.小哥與女友吵架毫不示弱,當小姐姐拿起他的頭盔時,瞬間秒慫!6.曇花一現,據說,轉發會有...
2023-03-08 97