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