通常,將惡意用戶通過偽造大量合法報文,并將其發送到在線服務器而產生的網絡安全問題稱之為泛洪攻擊。以DHCP泛洪為例,這種惡意攻擊不僅耗盡了IP資源,讓合法用戶無法獲得lP地址,而且使服務器高負荷運行甚至導致正常服務癱瘓。統計訪問日志中各lP地址的請求次數、提取請求異常頻繁的IP是檢測攻擊源、防御泛洪攻擊的有效方法之一。然而,訪問日志大多包含較多數據信息,日志文件大小通常是GB級的;傳統單機模式下多線程、多任務分解的日志分析模式設計過程繁雜、耗時較長,因而時效性很差。本文以MapReduce構架為引導,以Apache開源軟件Hadoop為基礎,就Ha-doop兩大主流應用場景之一日志分析,建立了Hadoop分布式日志分析系統,并通過實驗驗證了其較單機模式的時效性優勢,為有效解決泛洪攻擊奠定了基礎。此外,本文用虛擬機作為集群環境搭建平臺,簡易、高效,且衍生出不同文件系統的虛擬機集群環境,十分有利于集群優化。
1 搭建集群環境
1.1 集群環境
在Hadoop系統中,有一臺Master主機,主要負責NameNode以及JobTracker的工作。其中Nameno-de是Hadoop分布式文件系統的管理者和調度者,JobTracker的主要職責則是啟動、跟蹤、調度各個Slave的任務執行。系統中還有多臺Slave,每一臺Slave通常具有DataNode的功能以及TaskTracker的工作。Datanode用來儲存系統中的數據信息及其備份,并根據應用要求結合本地的TaskTracker執行Map任務以及Reduce任務。本文實驗構建了由一臺普通PC機做Master、運行在同一臺實體機上的三臺虛擬機做Slave的集群環境,而且三臺Slave的配置保持一致:虛擬硬件為1G內存,雙核處理器,IDE硬盤;OS均為ArchLinux,JDK 1.6.0作為基礎平臺,Hadoop版本為Version 0.21.0,另外虛擬機之間的通信通過虛擬出來的網橋實現。
1.2 算法及程序
圖1 程序流程圖
圖1展示了實驗中分布式日志分析算法的全部操作流程。首先,當用戶將待處理日志文件導入Hadoop分布式文件系統(HDFS)時,程序中的MapReduce函數庫自動地把輸入文件分成M塊Split(對應圖1中序號①),并將所有Splits及其備份相對均勻地存儲于各結點。其次,用戶調用日志分析程序對已存入HDFS的輸入文件進行lP請求次數的分析與統計。這一過程主要由Map操作和Reduce操作共同完成。具體地,在Map操作階段,程序中的Map函數讀取系統分配的Splits,對輸入鍵/值對即Split中的每一行數據進行分析,然后提取每一行中申請訪問的lP值并生成格式為<IP,1>的中間鍵/值對(對應圖1中序號②);在Reduce操作階段,Reduce函數承接Map操作,將中間鍵/值對按照不同鍵值即IP值進行累加,生成格式為<IP,N>的輸出鍵/值對(對應圖1中序號③),其中N值即為對應IP地址在被處理訪問日志中的請求次數。最后,將統計結果寫入輸出文件(對應圖1中序號④),程序返回。
2 實驗過程及結果
2.1 單機模式與分布式性能測試對比
通過運行單機模式和分布式下2、4、8、10、20及40 G訪問日志的分析程序,并記錄各次程序耗時及運行狀況,對兩種模式的性能進行了比較,其結果如圖3所示。由于集群使用以太網協議進行各結點之間的通信連接,其性能受到網絡穩定因素的影響較大;因而在進行分布式組別的測試時,同一級別訪問日志的多次程序運行耗時差別較大,圖表中各級別耗時值均為5組測試的平均取值。但單機模式不涉及上述因素,同一級別訪問日志的多次程序運行耗時僅存在(±10)s的差別,因而取其中一組值作為最終值。
圖2 單機模式與分布式耗時對比
從圖2可以看出,隨著檢測文件的逐漸增大,分布式日志分析模式快速高效的特點逐漸趨于明顯,這不僅說明了它在處理較大量文件時較傳統單機模式的絕對性優勢,同時也意味著實驗所構建的分布式日志分析系統更加適宜于解析泛洪攻擊源。
2.2Ext3文件系統與reiserfs文件系統集群性能測試對比
Hadoop的分布式文件系統HDFS是集群中文件的存儲、生成及刪除等操作的基礎。通過Master主機的調配,系統中所有文件及其副本均衡地分布于各Slaves的“hadoop. tmp. dir”目錄下,因而該目錄所處的底層Linux文件系統類型也是決定分布式集群性能優劣的因素之一。本文分別建立了基于Ext3與Reiserfs文件系統的兩種集群環境,并通過大量測試對兩者的性能進行了比較和分析,其測試結果如圖3。
圖3 Exa與reiserfs文件系統集群耗時對比
從圖3可以看出,當測試的訪問日志大小改變時,ext3文件系統集群與reiserfs文件系統集群進行日志分析工作時所用的時間也不同,并在不同的文件大小區域內呈現不同的趨勢。如在2~20 G區域ext3集群耗時較少,在40~60 G區域reiserfs集群耗時較少。根據此特性,筆者可以在不同應用條件下選擇性能相對較高的文件系統構建集群,以使分布式計算發揮出最大優勢。
3 總結與展望
隨著互聯網的迅速普及和發展,網絡安全維護已經成為網絡運維的重要工作之一。與此同時,并行.計算及分布式模式也已日趨主流。本文分析泛洪攻擊這一典型網絡安全問題的特點,將分布式處理模式與網絡安全防御策略相結合,力圖為快速高效解決這一問題尋求突破口。此外,筆者期望將程序擴展為可處理和分析多種日志的分布式日志分析系統,針對各類型的日志進行分類提取重要信息,進而為網絡運維工作提供多方面的幫助。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://m.guhuozai8.cn/
本文標題:基于Hadoop的分布式日志分析系統
本文網址:http://m.guhuozai8.cn/html/consultation/1083936581.html