一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集方法與系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集方法與系統(tǒng)。所述方法包括多方式數(shù)據(jù)采集,數(shù)據(jù)解析與標準化,數(shù)據(jù)分發(fā)傳輸。所述系統(tǒng)包括采集代理模塊,數(shù)據(jù)采集模塊,數(shù)據(jù)解析模塊,數(shù)據(jù)分發(fā)傳輸模塊。本發(fā)明在數(shù)據(jù)采集方面,采用主動、被動、數(shù)據(jù)流鏡像等多種方式,實現(xiàn)了對各類數(shù)據(jù)的全面采集;在數(shù)據(jù)解析方面,采用基于策略的數(shù)據(jù)解析與標準化機制,通過編寫解析策略,對原始數(shù)據(jù)進行抽取、映射、替換、補齊等操作,實現(xiàn)對新增數(shù)據(jù)格式的快速解析和面向多應(yīng)用系統(tǒng)的數(shù)據(jù)標準化;在傳輸方面,采用多級銜接、多路分發(fā)技術(shù),實現(xiàn)了采集系統(tǒng)之間彈性組合、級聯(lián)部署、多路分發(fā),滿足了網(wǎng)絡(luò)環(huán)境縱橫擴展、數(shù)據(jù)信息海量采集的要求。
【專利說明】一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集方法與系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)安全管理領(lǐng)域,涉及一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集方法與系統(tǒng)。
【背景技術(shù)】
[0002]數(shù)據(jù)采集是網(wǎng)絡(luò)安全管理與運維的前提條件。數(shù)據(jù)采集工具實現(xiàn)對網(wǎng)絡(luò)系統(tǒng)中各類軟、硬件資源產(chǎn)生的安全事件、日志信息、運行狀態(tài)、系統(tǒng)配置、安全策略等進行全面采集、解析、清洗和標準化,轉(zhuǎn)化為上層系統(tǒng)可識別、可管理、可交換、可共享的有用數(shù)據(jù)。
[0003]目前,在網(wǎng)絡(luò)安全管理領(lǐng)域,已經(jīng)有多種數(shù)據(jù)采集工具,這些工具能夠有效解決某些特定環(huán)境下的數(shù)據(jù)采集和清洗任務(wù),但是隨著信息化水平的不斷提升,大量的信息系統(tǒng)和先進的信息技術(shù)大規(guī)模部署和使用,對安全管理提出嚴峻挑戰(zhàn),同時對數(shù)據(jù)采集技術(shù)也提出了新的要求:一是支持多樣化的采集方式,一套網(wǎng)絡(luò)系統(tǒng)中,采用一套數(shù)據(jù)采集工具實現(xiàn)對不同網(wǎng)絡(luò)安全數(shù)據(jù)的全面采集,而不是部署多套采集工具實現(xiàn)對不同數(shù)據(jù)源的采集要求;二是支持對多源、異構(gòu)數(shù)據(jù)的快速解析和面向多標準的數(shù)據(jù)重構(gòu)能力。傳統(tǒng)的數(shù)據(jù)采集工具僅能實現(xiàn)對一種或幾種特定格式的數(shù)據(jù)源進行解析,對新增數(shù)據(jù)格式,往往需要進行二次定制開發(fā),也不支持面向不同的上層應(yīng)用系統(tǒng)構(gòu)建不同的數(shù)據(jù)標準需求,不能滿足安全管理對信息化快速部署和動態(tài)變化的需求。三是支持動態(tài)可擴展的部署模式,數(shù)據(jù)采集工具可隨著網(wǎng)絡(luò)規(guī)模的擴大、網(wǎng)絡(luò)層級的衍生、數(shù)據(jù)量的動態(tài)增加而進行動態(tài)組合和調(diào)整,滿足網(wǎng)絡(luò)環(huán)境復雜多變、海量安全事件信息采集需求。
【發(fā)明內(nèi)容】
[0004]針對上述問題,本發(fā)明提出了一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集方法與系統(tǒng)。在數(shù)據(jù)采集方面,采用主動、被動、來自上一級采集系統(tǒng)發(fā)送的數(shù)據(jù)、數(shù)據(jù)流鏡像4種方式,實現(xiàn)了對各類數(shù)據(jù)的全面采集;在數(shù)據(jù)解析方面,采用了基于策略的數(shù)據(jù)解析與標準化機制,通過編寫解析策略,對原始數(shù)據(jù)進行抽取、映射、替換、補齊等操作,實現(xiàn)對新增數(shù)據(jù)格式的快速解析和面向多應(yīng)用系統(tǒng)的數(shù)據(jù)標準化;在傳輸方面,采用多級銜接、多路分發(fā)技術(shù),實現(xiàn)了采集系統(tǒng)之間彈性組合、級聯(lián)部署、多路分發(fā),滿足了網(wǎng)絡(luò)環(huán)境縱橫擴展、數(shù)據(jù)信息海量采集的要求。
[0005]一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集方法,包括以下步驟:
[0006]步驟一,多方式數(shù)據(jù)采集。
[0007]步驟二,數(shù)據(jù)解析與標準化。
[0008]步驟三,數(shù)據(jù)分發(fā)傳輸。
[0009]其特征在于:
[0010]步驟一所述的多方式數(shù)據(jù)采集采取以下4種方式:
[0011]方式一:主動模式。在數(shù)據(jù)生產(chǎn)地部署采集代理的方法采集指定數(shù)據(jù)。采集代理工作機制為:對指定目錄下的文件進行監(jiān)聽,按照可配置的時間間隔,對該目錄下發(fā)生更新的文件進行增量讀取,同時對該文件的最新讀取位置進行更新和維護,避免文件中數(shù)據(jù)的重復讀取。針對以數(shù)據(jù)庫形式存儲的原始數(shù)據(jù),通過ODBC/JDBC等通用協(xié)議獲取原始事件,無需在數(shù)據(jù)生產(chǎn)地部署采集代理。
[0012]方式二:被動模式。原始數(shù)據(jù)產(chǎn)生后,通過Syslog、Snmp、WebService等方式發(fā)送給指定的數(shù)據(jù)接收者。對于數(shù)據(jù)采集系統(tǒng),僅需要被動接收數(shù)據(jù)即可。
[0013]方式三:來自上一級采集系統(tǒng)發(fā)送的數(shù)據(jù)(采集系統(tǒng)級聯(lián))。
[0014]方式四:鏡像模式。通過網(wǎng)絡(luò)交換設(shè)備的鏡像端口,接收來自網(wǎng)絡(luò)中傳輸?shù)娜魏尉W(wǎng)絡(luò)訪問流。
[0015]步驟二所述的數(shù)據(jù)解析采用基于策略文檔的方式對日志進行解析,實現(xiàn)對新增設(shè)備的支持。針對每一個具體的設(shè)備或系統(tǒng),收集重點關(guān)注的日志類型的典型樣例制定解析策略。當信息系統(tǒng)中有新增設(shè)備或原有設(shè)備的日志格式發(fā)生變更時,收集新增設(shè)備的日志格式或原設(shè)備變更的日志格式制定或修改解析策略。
[0016]步驟三所述的數(shù)據(jù)分發(fā)傳輸還包括以下步驟:
[0017](I)設(shè)置分發(fā)策略:提供數(shù)據(jù)復制和數(shù)據(jù)路由兩種分發(fā)模式。
[0018](2)建立數(shù)據(jù)緩存單元,分發(fā)各類數(shù)據(jù):為每一類上層應(yīng)用建立一個數(shù)據(jù)緩存單元,緩存標準化后的數(shù)據(jù),防止數(shù)據(jù)生成過快而上層應(yīng)用系統(tǒng)接收速率過慢導致數(shù)據(jù)丟失。
[0019](3)數(shù)據(jù)傳輸:提供面向關(guān)系型數(shù)據(jù)庫RDB、分布式存儲系統(tǒng)HDFS/HBASE、內(nèi)存數(shù)據(jù)庫Redis、下級數(shù)據(jù)采集系統(tǒng)等多種目標傳輸數(shù)據(jù)的功能,滿足不同業(yè)務(wù)應(yīng)用系統(tǒng)需求。
[0020]步驟二所述的解析策略依據(jù)數(shù)據(jù)源的形式不同有所區(qū)別,主要有兩種:一種是針對以文件形式存儲或以數(shù)據(jù)流形式傳輸?shù)脑既罩荆呗晕臋n為一系列解析正值表達式構(gòu)成的XML文檔;另一種是針對以數(shù)據(jù)庫形式存儲的原始日志,策略文檔為一系列SQL語句與解析正值表達式構(gòu)成的XML文檔;
[0021]步驟二所述的解析策略除了具有兩個傳統(tǒng)的解析功能外,又提供了以下三個方面的功能:
[0022]( I)對原有日志的特殊符號或字段依據(jù)字典表進行替換。允許將廠商自己專有的字典表放入到解析策略文件中,對特殊符號和字段進行對照解析。
[0023](2)對原有日志依據(jù)預(yù)先設(shè)定值進行補充完善。解析策略文件允許通過源IP地址關(guān)聯(lián)的方式,為原有日志添加附加信息。
[0024](3)多標準數(shù)據(jù)重構(gòu)。允許在解析策略文件中描述不同格式的數(shù)據(jù)標準,為不同的上層應(yīng)用系統(tǒng)構(gòu)建不同的標準化數(shù)據(jù)。
[0025]一種實現(xiàn)所述大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集方法的系統(tǒng),其特征在于包括:采集代理模塊,數(shù)據(jù)采集模塊,數(shù)據(jù)解析模塊,數(shù)據(jù)分發(fā)傳輸模塊。其中,
[0026]采集代理模塊,部署在數(shù)據(jù)生產(chǎn)地,采集并傳輸指定數(shù)據(jù)。
[0027]數(shù)據(jù)采集模塊,用于從網(wǎng)絡(luò)中分散的各類數(shù)據(jù)源采集原始數(shù)據(jù),并轉(zhuǎn)發(fā)給數(shù)據(jù)解析模塊。
[0028]數(shù)據(jù)解析模塊,從數(shù)據(jù)采集模塊獲取到原始數(shù)據(jù)后,按照預(yù)先配置的解析策略對原始數(shù)據(jù)進行解析和標準化,并結(jié)合分發(fā)策略,將標準化的數(shù)據(jù)分發(fā)給分發(fā)傳輸模塊。
[0029]數(shù)據(jù)分發(fā)傳輸模塊,依據(jù)分發(fā)策略對標準化數(shù)據(jù)進行分組緩存,并依據(jù)轉(zhuǎn)發(fā)策略向多個不同的傳輸目標進行數(shù)據(jù)傳輸。[0030]所述數(shù)據(jù)采集系統(tǒng)在多級復雜網(wǎng)絡(luò)環(huán)境下采用級聯(lián)部署、多路分發(fā)的體系架構(gòu)。
[0031]所述采集代理模塊部署在數(shù)據(jù)生產(chǎn)地采集指定數(shù)據(jù),包括:
[0032]目錄監(jiān)聽單元,負責對指定目錄下的文件變化情況進行實時監(jiān)聽,并將變化情況報送讀取模塊。主要包含新增文件監(jiān)聽、文件新增內(nèi)容監(jiān)聽。
[0033]配置文件單元,負責記錄源文件存放路徑、源文件的讀取時間間隔、發(fā)送目標地址、目標端口等參數(shù)。
[0034]配置加載單元,對配置文件進行加載,為其它單元提供服務(wù)。
[0035]讀取單元,依據(jù)目錄監(jiān)聽單元報送的文件變化情況,對指定目錄下的源文件新增數(shù)據(jù)進行讀取,并打包發(fā)送給發(fā)送單元。讀取單元負責對最新讀取位置進行標識和維護。
[0036]發(fā)送單元,按照指定的目標地址和端口對源數(shù)據(jù)進行發(fā)送。
[0037]所述數(shù)據(jù)采集模塊主要包含以下7個處理單元:
[0038]專有協(xié)議監(jiān)聽單元,用于監(jiān)聽采集代理或其它采集系統(tǒng)發(fā)送的數(shù)據(jù)流。
[0039]Syslog監(jiān)聽單元,用于開啟Syslog服務(wù),接收Syslog數(shù)據(jù)流。
[0040]Snmp監(jiān)聽單元,用于開啟Snmp服務(wù),接收Snmp數(shù)據(jù)流。
[0041]WebService調(diào)用單元,通過調(diào)用數(shù)據(jù)源提供的WebService接口,獲取原始數(shù)據(jù)。
[0042]網(wǎng)絡(luò)流量監(jiān)聽單元,用于捕獲交換設(shè)備鏡像端口轉(zhuǎn)發(fā)的數(shù)據(jù)流。
[0043]數(shù)據(jù)庫中間件單元,用于向指定的數(shù)據(jù)庫建立連接,并從制定的表中獲取數(shù)據(jù)信
肩、O
[0044]配置文件單元,用于記錄以上各個監(jiān)聽單元正常工作所需的基礎(chǔ)信息。
[0045]所述數(shù)據(jù)解析模塊包括:
[0046]解析策略文檔單元,負責記錄解析相關(guān)策略,包括:源日志格式的正值表達式描述,關(guān)鍵字段抽取策略,特殊字符或字段轉(zhuǎn)換表,標準化格式描述,數(shù)據(jù)補齊策略;
[0047]解析引擎單元,依據(jù)解析策略文檔對原始事件進行解析和標準化。
[0048]數(shù)據(jù)封裝及適配單元,服務(wù)于分發(fā)控制單元,負責對標準化后的數(shù)據(jù)進行封裝和適配,形成一條event數(shù)據(jù)。每個event都由兩個部分組成:header和body。
[0049]分發(fā)控制單元,基于event中的header信息,對event進行分發(fā),支持數(shù)據(jù)復制和數(shù)據(jù)路由兩種數(shù)據(jù)分發(fā)方式。
[0050]所述數(shù)據(jù)分發(fā)傳輸模塊包括:
[0051]緩存單元,用于分組緩存從數(shù)據(jù)解析模塊發(fā)送進來的events。數(shù)據(jù)解析模塊決定了向哪個緩存單元發(fā)送哪些events、發(fā)送頻率以及每次發(fā)送的個數(shù)。緩存單元的數(shù)量依據(jù)分發(fā)策略可以進行動態(tài)增加或減少。由于緩存單元扮演了一個緩存的功能,為了保證事件的快速傳遞,本發(fā)明采用了基于內(nèi)存型的數(shù)據(jù)結(jié)構(gòu)作為緩存單元的存儲容器,因此緩存單元不提供持久化的數(shù)據(jù)保存,一旦斷電和設(shè)備故障,緩存單元中的數(shù)據(jù)將會丟失。
[0052]傳輸單元,依據(jù)配置信息從緩存單元中提取events,傳輸?shù)街付ǖ南乱惶蜃罱K目標。當傳輸完成后,從緩存單元中刪除該events。多個傳輸單元構(gòu)成一個傳輸單元組。傳輸單元支持多種傳輸目標,主要有:下一級數(shù)據(jù)采集系統(tǒng);分布式存儲系統(tǒng),如HDFS、HBASE等;關(guān)系型數(shù)據(jù)庫RDB ;內(nèi)存型數(shù)據(jù)庫Redis,支持實時展示。
[0053]傳輸控制單元,負責從一個指定的傳輸單元組中激活一個傳輸單元,并控制傳輸單元的負載均衡或故障恢復。傳輸單元組可以通過組中所有傳輸單元實現(xiàn)負載均衡;也可以在一個傳輸單元失敗時轉(zhuǎn)移到另一個傳輸單元。支持的負載均衡算法有隨機算法、輪訓算法或自定義選擇算法等。
[0054]觸發(fā)單元,對傳輸單元的運行情況進行實時監(jiān)控和管理,并觸發(fā)傳輸控制單元對傳輸單元進行負載均衡或故障轉(zhuǎn)移。
[0055]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:
[0056](I)本發(fā)明采用多方式的數(shù)據(jù)采集,提供的數(shù)據(jù)采集方式可以覆蓋目前主流的數(shù)據(jù)采集方式,滿足對各類數(shù)據(jù)源全面采集的需求。
[0057](2)本發(fā)明采用全面的數(shù)據(jù)解析方式。在原有特殊字段抽取、格式轉(zhuǎn)換等解析基礎(chǔ)上,增加了特殊符號或字段依據(jù)字典表進行替換、字段補齊完善、面向多標準的數(shù)據(jù)重構(gòu)等解析功能,滿足了為不同上層應(yīng)用系統(tǒng)構(gòu)建不同標準化數(shù)據(jù)的要求。
[0058](3)采用級聯(lián)部署、多路分發(fā)的體系架構(gòu),主要有以下優(yōu)點:
[0059]在大型復雜網(wǎng)絡(luò)環(huán)境下,數(shù)據(jù)源比較多且分散,往往需要部署多套采集系統(tǒng)才能滿足數(shù)據(jù)采集要求。采集系統(tǒng)采取級聯(lián)部署可以減輕數(shù)據(jù)采集的管理難度。
[0060]在大型網(wǎng)絡(luò)環(huán)境下,眾多業(yè)務(wù)系統(tǒng)和管理系統(tǒng)已經(jīng)逐步趨向于使用MapReduce、hdfs等分布式大數(shù)據(jù)計算與存儲技術(shù),這些技術(shù)擅長處理的是大文件或大數(shù)據(jù)流,而不是眾多的小文件或小數(shù)據(jù)流。采集系統(tǒng)恰好可以將分散的小數(shù)據(jù)流或小文件進行匯總后再提交給分布式計算與存儲系統(tǒng),符合大數(shù)據(jù)應(yīng)用場景,有利于提高處理效率。
[0061]目前各類應(yīng)用系統(tǒng)數(shù)據(jù)采集呈現(xiàn)煙囪架構(gòu),各自部署自己的數(shù)據(jù)采集工具,相互之間的數(shù)據(jù)不能進行共享,不僅浪費了資源,同時也增加了管理的難度。采用多路分發(fā)的技術(shù),各個系統(tǒng)可以共用一套數(shù)據(jù)采集技術(shù),將數(shù)據(jù)全面采集后,根據(jù)各業(yè)務(wù)系統(tǒng)的需求,進行數(shù)據(jù)分發(fā)。能更好地適應(yīng)業(yè)務(wù)應(yīng)用和安全管理需求。
【專利附圖】
【附圖說明】
[0062]圖1為本發(fā)明實施例數(shù)據(jù)采集示意圖;
[0063]圖2為本發(fā)明所涉及的數(shù)據(jù)采集系統(tǒng)組成框圖;
[0064]圖3為本發(fā)明實施例采集代理模塊組成圖;
[0065]圖4為本發(fā)明實施例多系統(tǒng)級聯(lián)部署示意圖。
【具體實施方式】
[0066]下面根據(jù)附圖和具體實施例對本發(fā)明做進一步說明。
[0067]一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集方法,包括以下步驟:
[0068]步驟一,多方式數(shù)據(jù)采集。
[0069]考慮到網(wǎng)絡(luò)安全數(shù)據(jù)源形式多樣、分布廣泛,本發(fā)明在數(shù)據(jù)采集方面通過4種方式實現(xiàn)對各類數(shù)據(jù)源的全面采集,數(shù)據(jù)采集示意圖如圖1所示,包括以下4種方式:
[0070]方式一:主動模式。原始數(shù)據(jù)以文件、數(shù)據(jù)庫等形式存儲在數(shù)據(jù)生產(chǎn)地,不支持主動向第三方設(shè)備或系統(tǒng)發(fā)送數(shù)據(jù),同時也不支持在數(shù)據(jù)生產(chǎn)地開啟文件共享、超級權(quán)限、FTP等不安全服務(wù)。針對上述應(yīng)用場景,對于以文件形式存儲的原始數(shù)據(jù),本發(fā)明采取在數(shù)據(jù)生產(chǎn)地部署采集代理的方法采集指定數(shù)據(jù)。采集代理工作機制為:對指定目錄下的文件進行監(jiān)聽,按照可配置的時間間隔,對該目錄下發(fā)生更新的文件進行增量讀取,同時對該文件的最新讀取位置進行更新和維護,避免文件中數(shù)據(jù)的重復讀取。針對以數(shù)據(jù)庫形式存儲的原始數(shù)據(jù),本發(fā)明通過ODBC/JDBC等通用協(xié)議獲取原始事件,無需在數(shù)據(jù)生產(chǎn)地部署采集代理。
[0071]方式二:被動模式。原始數(shù)據(jù)產(chǎn)生后,通過Syslog、Snmp、WebService等方式發(fā)送給指定的數(shù)據(jù)接收者。對于數(shù)據(jù)采集系統(tǒng),僅需要被動接收數(shù)據(jù)即可。
[0072]方式三:來自上一級采集系統(tǒng)發(fā)送的數(shù)據(jù)(采集系統(tǒng)級聯(lián))。
[0073]方式四:鏡像模式。通過網(wǎng)絡(luò)交換設(shè)備的鏡像端口,接收來自網(wǎng)絡(luò)中傳輸?shù)娜魏尉W(wǎng)絡(luò)訪問流。
[0074]步驟二,數(shù)據(jù)解析與標準化。
[0075]安全管理運維系統(tǒng)需要管理大量異構(gòu)的安全設(shè)備,需要從這些設(shè)備上采集各類日志信息。為了對各類日志信息進行統(tǒng)一的檢索查詢、交叉關(guān)聯(lián)、分析統(tǒng)計等二次處理,往往需要提前對各類日志進行格式統(tǒng)一化。但是,目前業(yè)界還未制定統(tǒng)一的日志格式標準,各家的日志格式各不相同,甚至,同一廠家不同產(chǎn)品或同一產(chǎn)品不同版本的日志格式也不相同,而且在某些廠商的產(chǎn)品日志中,包含了眾多非通用的數(shù)字和符號,需要通過該廠商的專用字典表進行轉(zhuǎn)換才能成為管理員可識別的信息。針對上述問題,傳統(tǒng)的解決辦法是,針對每一種日志格式,定制開發(fā)一種解析算法,該方法耗時耗力,不能滿足安全管理對新增設(shè)備日志數(shù)據(jù)快速采集的要求。
[0076]本發(fā)明采用了基于策略文檔的方式對日志進行解析,克服了傳統(tǒng)的需要定制開發(fā)的缺點,簡單、快捷地實現(xiàn)了對新增設(shè)備的支持。
[0077]通過研究發(fā)現(xiàn),雖然各廠商、各設(shè)備產(chǎn)生的日志格式各不相同,但是,每一個具體的設(shè)備或系統(tǒng)產(chǎn)生的日志的種類和格式是相對固定的,即每個設(shè)備基本上包含系統(tǒng)日志、管理日志、安全日志、業(yè)務(wù)日志等幾種固定格式的日志。因此,針對每一個具體的設(shè)備或系統(tǒng),僅需要收集重點關(guān)注的日志類型的典型樣例,即可制定解析策略。當信息系統(tǒng)中有新增設(shè)備或原有設(shè)備的日志格式發(fā)生變更時,也只需要收集新增設(shè)備的日志格式或原設(shè)備變更的日志格式,即可制定或修改解析策略。
[0078]依據(jù)數(shù)據(jù)源的形式不同,解析策略有所區(qū)別,主要有兩種:一種是針對以文件形式存儲或以數(shù)據(jù)流形式傳輸?shù)脑既罩荆呗晕臋n為一系列解析正值表達式構(gòu)成的XML文檔;另一種是針對以數(shù)據(jù)庫形式存儲的原始日志,策略文檔為一系列SQL語句與解析正值表達式構(gòu)成的XML文檔;傳統(tǒng)的解析策略僅提供兩個方面的解析功能:
[0079](I)從原有日志中抽取指定字段。
[0080](2)對原有字段不符合統(tǒng)一格式的進行格式歸一化。
[0081]本發(fā)明在提供上述兩個解析功能的基礎(chǔ)上,又提供了以下三個方面的功能:
[0082]( I)對原有日志的特殊符號或字段依據(jù)字典表進行替換。允許將廠商自己專有的字典表放入到解析策略文件中,對特殊符號和字段進行對照解析。
[0083](2)對原有日志依據(jù)預(yù)先設(shè)定值進行補充完善。例如設(shè)備的名稱、編碼、類型、所屬部門等基礎(chǔ)管理信息,并不會體現(xiàn)在設(shè)備產(chǎn)生的原始日志信息中,而后續(xù)通過對這些原始日志分析產(chǎn)生的告警、響應(yīng)等處理往往需要知道這些基礎(chǔ)管理信息。本解析策略文件允許通過源IP地址關(guān)聯(lián)的方式,為原有日志添加附加信息。
[0084](3)多標準數(shù)據(jù)重構(gòu)。本發(fā)明的數(shù)據(jù)采集方法考慮到為上層多個應(yīng)用系統(tǒng)提供數(shù)據(jù)采集功能。由于不同應(yīng)用系統(tǒng)有不同的數(shù)據(jù)標準格式,因此,允許在解析策略文件中描述不同格式的數(shù)據(jù)標準,為不同的上層應(yīng)用系統(tǒng)構(gòu)建不同的標準化數(shù)據(jù)。
[0085]步驟三,數(shù)據(jù)分發(fā)傳輸。
[0086]目前各類應(yīng)用系統(tǒng)數(shù)據(jù)采集呈現(xiàn)煙囪架構(gòu),各自部署自己的數(shù)據(jù)采集工具,相互之間的數(shù)據(jù)不能進行共享,不僅浪費資源,同時也增加了管理的難度。因此,本發(fā)明的數(shù)據(jù)采集方法設(shè)計了數(shù)據(jù)分發(fā)傳輸模式。數(shù)據(jù)分發(fā)傳輸包括以下步驟:
[0087](I)設(shè)置分發(fā)策略。提供兩種分發(fā)模式:
[0088]數(shù)據(jù)復制:一份經(jīng)過格式標準化的數(shù)據(jù)可能同時被多個上層應(yīng)用系統(tǒng)所共用,針對這些數(shù)據(jù),為各自上層應(yīng)用提供一份數(shù)據(jù)復制,并發(fā)送給指定的數(shù)據(jù)緩存單元;
[0089]數(shù)據(jù)路由:某類原始事件僅被上層某個應(yīng)用系統(tǒng)單獨使用,針對這類數(shù)據(jù),僅提供路由功能,將該數(shù)據(jù)路由到指定的數(shù)據(jù)緩存單元中。
[0090](2)建立數(shù)據(jù)緩存單元,分發(fā)各類數(shù)據(jù)??紤]到數(shù)據(jù)源數(shù)據(jù)生成速率與上層各類應(yīng)用系
[0091]統(tǒng)接收數(shù)據(jù)速率不匹配因素,在數(shù)據(jù)采集方法中設(shè)計了數(shù)據(jù)緩存功能,為每一類上層應(yīng)
[0092]用建立一個數(shù)據(jù)緩存單元,緩存標準化后的數(shù)據(jù),防止數(shù)據(jù)生成過快而上層應(yīng)用系統(tǒng)接
[0093]收速率過慢導致數(shù)據(jù)丟失。
[0094](3)數(shù)據(jù)傳輸。提供了面向關(guān)系型數(shù)據(jù)庫RDB、分布式存儲系統(tǒng)HDFS/HBASE、內(nèi)存數(shù)據(jù)庫Redis、下級數(shù)據(jù)采集系統(tǒng)等多種目標傳輸數(shù)據(jù)的功能,滿足不同業(yè)務(wù)應(yīng)用系統(tǒng)需求。
[0095]一種實現(xiàn)所述大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集方法的系統(tǒng),其組成如圖2所示,包括:采集代理模塊、數(shù)據(jù)采集模塊,數(shù)據(jù)解析模塊,數(shù)據(jù)分發(fā)傳輸模塊。其中,
[0096]采集代理模塊:針對原始數(shù)據(jù)以文件形式存儲在數(shù)據(jù)生產(chǎn)地,不支持主動向第三方設(shè)備或系統(tǒng)發(fā)送數(shù)據(jù),同時也不支持在數(shù)據(jù)生產(chǎn)地開啟文件共享、超級權(quán)限、FTP等不安全服務(wù)的應(yīng)用場景,本發(fā)明采取在數(shù)據(jù)生產(chǎn)地部署采集代理采集指定數(shù)據(jù)。采集代理模塊組成框圖如圖3所示,包括:目錄監(jiān)聽單元,配置文件,配置加載單元,讀取單元,發(fā)送單元。
[0097]數(shù)據(jù)采集模塊,負責從網(wǎng)絡(luò)中分散的各類數(shù)據(jù)源采集原始數(shù)據(jù),并轉(zhuǎn)發(fā)給數(shù)據(jù)解析模塊。數(shù)據(jù)采集模塊包括:專有協(xié)議監(jiān)聽單元,Syslog監(jiān)聽單元,Snmp監(jiān)聽單元,WebService調(diào)用單元,數(shù)據(jù)庫中間件,配置文件。
[0098]數(shù)據(jù)解析模塊,從數(shù)據(jù)采集模塊獲取到原始數(shù)據(jù)后,按照預(yù)先配置的解析策略對原始數(shù)據(jù)進行解析和標準化,并結(jié)合分發(fā)策略,將標準化的數(shù)據(jù)分發(fā)給分發(fā)傳輸模塊。數(shù)據(jù)解析模塊包括:
[0099](I)解析策略文檔。負責記錄解析相關(guān)策略。
[0100](2)解析引擎單元,依據(jù)解析策略文檔對原始事件進行解析和標準化。
[0101]解析引擎單元的工作過程主要包括:第一步,原始數(shù)據(jù)匹配;第二步,關(guān)鍵字段抽??;第三步,特殊字段替換;第四步,指定字段補齊。
[0102](3)數(shù)據(jù)封裝及適配單元,服務(wù)于分發(fā)控制單元,負責對標準化后的數(shù)據(jù)進行封裝和適配,形成一條event數(shù)據(jù)。每個event都由兩個部分組成:header和body。分裝功能按照解析策略文檔中指定的標準格式,構(gòu)建body。body中承載了按照目標要求封裝好的標準化數(shù)據(jù)。適配功能按照預(yù)設(shè)的分發(fā)策略完善header。header中主要由內(nèi)置字段時間戳以及自定義字段,例如:ID、分組標志位等組成。通過適配功能,可以在header中添加主機名、靜態(tài)標識等信息,為分發(fā)控制單元提供分發(fā)依據(jù)。
[0103](4)分發(fā)控制單元,基于event中的header信息,對event進行分發(fā)。支持數(shù)據(jù)復制和數(shù)據(jù)路由兩種數(shù)據(jù)分發(fā)方式。
[0104]數(shù)據(jù)分發(fā)傳輸模塊,依據(jù)分發(fā)策略對標準化數(shù)據(jù)進行分組緩存,并依據(jù)轉(zhuǎn)發(fā)策略向多個不同的傳輸目標進行數(shù)據(jù)傳輸。該模塊包括:緩存單元,傳輸單元,傳輸控制單元,觸發(fā)單元。
[0105]本發(fā)明的數(shù)據(jù)采集系統(tǒng)在多級復雜網(wǎng)絡(luò)環(huán)境下采用級聯(lián)部署、多路分發(fā)的體系架構(gòu),多個采集系統(tǒng)級聯(lián)部署模式示意圖如圖4所示。采集系統(tǒng)-1,采集系統(tǒng)_2,采集系統(tǒng)-3分別接收部署在大型網(wǎng)絡(luò)系統(tǒng)中的各類數(shù)據(jù)源,并進行解析、歸一和標準化,將分散的數(shù)據(jù)進行匯總,形成較大的數(shù)據(jù)流。采集系統(tǒng)-4依據(jù)預(yù)先配置的策略,對匯總的數(shù)據(jù)流進行分發(fā),例如將來自數(shù)據(jù)源-1,數(shù)據(jù)源-2的數(shù)據(jù)分發(fā)給業(yè)務(wù)應(yīng)用一;將來自數(shù)據(jù)源-1,數(shù)據(jù)源_2,數(shù)據(jù)源_3,數(shù)據(jù)源-4的數(shù)據(jù)分發(fā)給業(yè)務(wù)應(yīng)用二 ;將所有數(shù)據(jù)源匯總,分發(fā)給業(yè)務(wù)應(yīng)用三,同時復制一份,傳輸給下一級的采集系統(tǒng)。分發(fā)的目標支持多種類型,包括用于實時展示的內(nèi)存型數(shù)據(jù)庫redis、基于結(jié)構(gòu)化存儲的關(guān)系型數(shù)據(jù)庫,用于大數(shù)據(jù)存儲的分布式存儲系統(tǒng)等。
【權(quán)利要求】
1.一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集方法,包括以下步驟: 步驟一,多方式數(shù)據(jù)采集; 步驟二,數(shù)據(jù)解析與標準化; 步驟三,數(shù)據(jù)分發(fā)傳輸; 其特征在于: 步驟一所述多方式數(shù)據(jù)采集采取以下4種方式: 方式一:主動模式;在數(shù)據(jù)生產(chǎn)地部署采集代理的方法采集指定數(shù)據(jù);采集代理工作機制為:對指定目錄下的文件進行監(jiān)聽,按照可配置的時間間隔,對該目錄下發(fā)生更新的文件進行增量讀取 ,同時對該文件的最新讀取位置進行更新和維護,避免文件中數(shù)據(jù)的重復讀??;針對以數(shù)據(jù)庫形式存儲的原始數(shù)據(jù),通過ODBC/JDBC通用協(xié)議獲取原始事件,無需在數(shù)據(jù)生產(chǎn)地部署采集代理; 方式二:被動模式;原始數(shù)據(jù)產(chǎn)生后,通過Syslog、Snmp> WebService方式發(fā)送給指定的數(shù)據(jù)接收者;對于數(shù)據(jù)采集系統(tǒng),僅需要被動接收數(shù)據(jù); 方式三:來自上一級采集系統(tǒng)發(fā)送的數(shù)據(jù); 方式四:鏡像模式;通過網(wǎng)絡(luò)交換設(shè)備的鏡像端口,接收來自網(wǎng)絡(luò)中傳輸?shù)娜魏尉W(wǎng)絡(luò)訪問流; 步驟二所述數(shù)據(jù)解析采用基于策略文檔的方式對日志進行解析,實現(xiàn)對新增設(shè)備的支持;針對每一個具體的設(shè)備或系統(tǒng),收集重點關(guān)注的日志類型的典型樣例制定解析策略;當信息系統(tǒng)中有新增設(shè)備或原有設(shè)備的日志格式發(fā)生變更時,收集新增設(shè)備的日志格式或原設(shè)備變更的日志格式制定或修改解析策略; 步驟三所述數(shù)據(jù)分發(fā)傳輸還包括以下步驟: (O設(shè)置分發(fā)策略:提供數(shù)據(jù)復制和數(shù)據(jù)路由兩種分發(fā)模式; (2)建立數(shù)據(jù)緩存單元,分發(fā)各類數(shù)據(jù):為每一類上層應(yīng)用建立一個數(shù)據(jù)緩存單元,緩存標準化后的數(shù)據(jù),防止數(shù)據(jù)生成過快而上層應(yīng)用系統(tǒng)接收速率過慢導致數(shù)據(jù)丟失; (3)數(shù)據(jù)傳輸:提供面向關(guān)系型數(shù)據(jù)庫RDB、分布式存儲系統(tǒng)HDFS/HBASE、內(nèi)存數(shù)據(jù)庫Redis、下級數(shù)據(jù)采集系統(tǒng)的目標傳輸數(shù)據(jù)的功能,滿足不同業(yè)務(wù)應(yīng)用系統(tǒng)需求。
2.根據(jù)權(quán)利要求1所述的一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集方法,其特征在于,所述解析策略依據(jù)數(shù)據(jù)源的形式不同有所區(qū)別,主要有兩種:一種是針對以文件形式存儲或以數(shù)據(jù)流形式傳輸?shù)脑既罩?,策略文檔為一系列解析正值表達式構(gòu)成的XML文檔;另一種是針對以數(shù)據(jù)庫形式存儲的原始日志,策略文檔為一系列SQL語句與解析正值表達式構(gòu)成的XML文檔。
3.根據(jù)權(quán)利要求1或2所述的一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集方法,其特征在于,所述解析策略除了具有兩個傳統(tǒng)的解析功能外,又提供了以下三個方面的功能: (1)對原有日志的特殊符號或字段依據(jù)字典表進行替換;允許將廠商自己專有的字典表放入到解析策略文件中,對特殊符號和字段進行對照解析; (2)對原有日志依據(jù)預(yù)先設(shè)定值進行補充完善;解析策略文件允許通過源IP地址關(guān)聯(lián)的方式,為原有日志添加附加信息; (3)多標準數(shù)據(jù)重構(gòu);允許在解析策略文件中描述不同格式的數(shù)據(jù)標準,為不同的上層應(yīng)用系統(tǒng)構(gòu)建不同的標準化數(shù)據(jù)。
4.一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集系統(tǒng),其特征在于包括:采集代理模塊,數(shù)據(jù)采集模塊,數(shù)據(jù)解析模塊,數(shù)據(jù)分發(fā)傳輸模塊;其中, 采集代理模塊,部署在數(shù)據(jù)生產(chǎn)地,采集并傳輸指定數(shù)據(jù); 數(shù)據(jù)采集模塊,用于從網(wǎng)絡(luò)中分散的各類數(shù)據(jù)源采集原始數(shù)據(jù),并轉(zhuǎn)發(fā)給數(shù)據(jù)解析模塊; 數(shù)據(jù)解析模塊,從數(shù)據(jù)采集模塊獲取到原始數(shù)據(jù)后,按照預(yù)先配置的解析策略對原始數(shù)據(jù)進行解析和標準化,并結(jié)合分發(fā)策略,將標準化的數(shù)據(jù)分發(fā)給分發(fā)傳輸模塊; 數(shù)據(jù)分發(fā)傳輸模塊,依據(jù)分發(fā)策略對標準化數(shù)據(jù)進行分組緩存,并依據(jù)轉(zhuǎn)發(fā)策略向多個不同的傳輸目標進行數(shù)據(jù)傳輸。
5.根據(jù)權(quán)利要求4所述的一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集系統(tǒng),其特征在于,所述數(shù)據(jù)采集系統(tǒng)在多級復雜網(wǎng)絡(luò)環(huán)境下采用級聯(lián)部署、多路分發(fā)的體系架構(gòu)。
6.根據(jù)權(quán)利要求4所述的一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集系統(tǒng),其特征在于,所述采集代理模塊包括: 目錄監(jiān)聽單元,負責對指定目錄下的文件變化情況進行實時監(jiān)聽,并將變化情況報送讀取模塊;主要包含新增文件監(jiān)聽、文件新增內(nèi)容監(jiān)聽; 配置文件單元,負責記錄源文件存放路徑、源文件的讀取時間間隔、發(fā)送目標地址和目標端口參數(shù); 配置加載單元,對配置文件進行加載,為其它單元提供服務(wù); 讀取單元,依據(jù)目錄監(jiān)聽單元報送的文件變化情況,對指定目錄下的源文件新增數(shù)據(jù)進行讀取,并打包發(fā)送給發(fā)送單元;讀取單元負責對最新讀取位置進行標識和維護; 發(fā)送單元,按照指定的目標地址和端口對源數(shù)據(jù)進行發(fā)送。
7.根據(jù)權(quán)利要求4所述的一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集系統(tǒng),其特征在于,所述數(shù)據(jù)采集模塊包括: 專有協(xié)議監(jiān)聽單元,用于監(jiān)聽采集代理或其它采集系統(tǒng)發(fā)送的數(shù)據(jù)流; Syslog監(jiān)聽單元,用于開啟Syslog服務(wù),接收Syslog數(shù)據(jù)流; Snmp監(jiān)聽單元,用于開啟Snmp服務(wù),接收Snmp數(shù)據(jù)流; WebService調(diào)用單元,通過調(diào)用數(shù)據(jù)源提供的WebService接口,獲取原始數(shù)據(jù); 網(wǎng)絡(luò)流量監(jiān)聽單元,用于捕獲交換設(shè)備鏡像端口轉(zhuǎn)發(fā)的數(shù)據(jù)流; 數(shù)據(jù)庫中間件單元,用于向指定的數(shù)據(jù)庫建立連接,并從制定的表中獲取數(shù)據(jù)信息; 配置文件單元,用于記錄以上各個監(jiān)聽單元正常工作所需的基礎(chǔ)信息。
8.根據(jù)權(quán)利要求4所述的一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集系統(tǒng),其特征在于,所述數(shù)據(jù)解析模塊包括: 解析策略文檔單元,負責記錄解析相關(guān)策略,包括:源日志格式的正值表達式描述,關(guān)鍵字段抽取策略,特殊字符或字段轉(zhuǎn)換表,標準化格式描述,數(shù)據(jù)補齊策略; 解析引擎單元,依據(jù)解析策略文檔對原始事件進行解析和標準化; 數(shù)據(jù)封裝及適配單元,服務(wù)于分發(fā)控制單元,負責對標準化后的數(shù)據(jù)進行封裝和適配,形成一條event數(shù)據(jù);每個event都由header和body兩個部分組成; 分發(fā)控制單元,基于event中的header信息,對event進行分發(fā),支持數(shù)據(jù)復制和數(shù)據(jù)路由兩種數(shù)據(jù)分發(fā)方式。
9.根據(jù)權(quán)利要求4所述的一種大規(guī)模分布式網(wǎng)絡(luò)安全數(shù)據(jù)采集系統(tǒng),其特征在于,所述數(shù)據(jù)分發(fā)傳輸模塊包括: 緩存單元,用于分組緩存從數(shù)據(jù)解析模塊發(fā)送進來的events ;數(shù)據(jù)解析模塊決定了向哪個緩存單元發(fā)送哪些events、發(fā)送頻率以及每次發(fā)送的個數(shù);緩存單元的數(shù)量依據(jù)分發(fā)策略進行動態(tài)增加或減少;采用基于內(nèi)存型的數(shù)據(jù)結(jié)構(gòu)作為緩存單元的存儲容器,緩存單元不提供持久化的數(shù)據(jù)保存,一旦斷電和設(shè)備故障,緩存單元中的數(shù)據(jù)將會丟失; 傳輸單元,依據(jù)配置信息從緩存單元中提取events,傳輸?shù)街付ǖ南乱惶蜃罱K目標;當傳輸完成后,從緩存單元中刪除該events ;多個傳輸單元構(gòu)成一個傳輸單元組;傳輸單元支持多種傳輸目標; 傳輸控制單元,負責從一個指定的傳輸單元組中激活一個傳輸單元,并控制傳輸單元的負載均衡或故障恢復;傳輸單元組可以通過組中所有傳輸單元實現(xiàn)負載均衡;也可以在一個傳輸單元失敗時轉(zhuǎn)移到另一個傳輸單元;支持的負載均衡算法有隨機算法、輪訓算法或自定義選擇算法; 觸發(fā)單元,對傳輸單元的運行情況進行實時監(jiān)控和管理,并觸發(fā)傳輸控制單元對傳輸單元進行負載均衡或故障轉(zhuǎn)移 。
【文檔編號】H04L29/06GK103731298SQ201310572103
【公開日】2014年4月16日 申請日期:2013年11月15日 優(yōu)先權(quán)日:2013年11月15日
【發(fā)明者】郭旭東, 王紅艷, 胡佳, 李玉鵬, 沈艷林, 石波, 李紅 申請人:中國航天科工集團第二研究院七〇六所, 北京航天愛威電子技術(shù)有限公司