陳斌
【摘 要】文章從大數(shù)據(jù)背景下網(wǎng)絡(luò)日志的特點(diǎn)分析入手,論述了大數(shù)據(jù)支持下的網(wǎng)絡(luò)日志分析技術(shù)。期望通過本文的研究能夠?qū)μ岣哂?jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)的安全性有所幫助。
【關(guān)鍵詞】大數(shù)據(jù);網(wǎng)絡(luò);日志分析
中圖分類號: F270;TP311.13 文獻(xiàn)標(biāo)識碼: A 文章編號: 2095-2457(2019)36-0019-002
DOI:10.19694/j.cnki.issn2095-2457.2019.36.008
Research on Network log Analysis Technology Supported by Big Data
CHEN Bin
(Guangdong Institute of construction technology, Guangzhou Guangdong 510440, China)
【Abstract】Based on the analysis of the characteristics of network log in the background of big data, this paper discusses the analysis technology of network log supported by big data. It is hoped that the research in this paper can help to improve the security of computer network system.
【Key words】Big data; Network; Log analysis
在計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中,存儲著大量的日志數(shù)據(jù),如操作系統(tǒng)日志、入侵檢測系統(tǒng)日志、防火墻日志、審計(jì)日志等等,這些日志對于保障計(jì)算機(jī)網(wǎng)絡(luò)的安全運(yùn)行具有重要作用。隨著大數(shù)據(jù)時(shí)代的正式開啟,使得日志數(shù)據(jù)呈幾何數(shù)倍增,從而對日志分析提出更高的要求。為此,探尋一種智能化、高效化的網(wǎng)絡(luò)日志分析技術(shù)顯得尤為必要。借此,下面就大數(shù)據(jù)支持下的網(wǎng)絡(luò)日志分析技術(shù)展開研究。
1 大數(shù)據(jù)背景下網(wǎng)絡(luò)日志的特點(diǎn)
日志歸屬于數(shù)據(jù)信息的范疇,具體是指描述用戶使用計(jì)算機(jī)時(shí),對各種應(yīng)用程序進(jìn)行操作后,以時(shí)間為順序,記錄的操作結(jié)果的集合。一個(gè)日志文件通常都是由多條日志記錄所構(gòu)成,其中每條記錄描述的系統(tǒng)事件均為獨(dú)立事件。隨著大數(shù)據(jù)時(shí)代的正式開啟,使網(wǎng)絡(luò)日志呈現(xiàn)出如下特點(diǎn)。
1.1 數(shù)據(jù)量大
在大數(shù)據(jù)環(huán)境下,計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中的相關(guān)設(shè)備運(yùn)行時(shí),均會產(chǎn)生大量的日志,這些日志需要結(jié)合說明文檔,才能了解其中的具體內(nèi)容,所以想要通過人工的方式對日志進(jìn)行分析非常困難。不僅如此,海量的數(shù)據(jù)信息在一定程度上給日志存儲與安全保護(hù)帶來較大的難度。
1.2 多源異構(gòu)
在大數(shù)據(jù)環(huán)境下,計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中的日志信息來源非常廣泛,由于這些日志信息來自于類型各不相同的設(shè)備,從而使得日志數(shù)據(jù)具有多源異構(gòu)的特點(diǎn)。設(shè)備不同,產(chǎn)生的日志格式也不相同,由此給日志的收集與處理增添了一定的難度,尤其是操作系統(tǒng)日志和入侵檢測系統(tǒng)日志。
1.3 相互關(guān)聯(lián)
針對計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)的惡意攻擊通常都是由若干個(gè)階段構(gòu)成,其中的每個(gè)階段均會產(chǎn)生出內(nèi)容不同的日志數(shù)據(jù),從這個(gè)角度來看,日志數(shù)據(jù)之間存在著相互關(guān)聯(lián)的特性。以遠(yuǎn)程登錄為例,整個(gè)過程會被以下日志所記錄:操作系統(tǒng)日志、防火墻日志以及審計(jì)日志。
1.4 易受攻擊
在計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中,日志主要是為網(wǎng)絡(luò)管理人員服務(wù),正因如此,對日志進(jìn)行設(shè)計(jì)時(shí),只考慮了管理方面的便捷性,卻并未充分考慮日志本身的安全性,從而使得日志數(shù)據(jù)很容易受到惡意攻擊。例如,黑客通過對系統(tǒng)注冊表或是Syslog配置文件的修改,能夠停止日志進(jìn)程,這樣便可阻止日志對系統(tǒng)中的安全事件進(jìn)行記錄,由此會導(dǎo)致計(jì)算機(jī)網(wǎng)絡(luò)的安全性大幅度降低。此外,部分日志數(shù)據(jù)生成之后,會被存儲在安全性較低的目錄下,這部分日志成為黑客的主要攻擊對象。
2 大數(shù)據(jù)支持下的網(wǎng)絡(luò)日志分析技術(shù)
2.1 網(wǎng)絡(luò)日志分析技術(shù)
1)離線分析。日志中存儲著海量的數(shù)據(jù)信息,為對這部分?jǐn)?shù)據(jù)進(jìn)行深度挖掘和分析,并追溯后臺的操作記錄,需要對日志數(shù)據(jù)進(jìn)行長期、持續(xù)地存儲,這一目標(biāo)可以借助Hadoop來實(shí)現(xiàn)。Hadoop是Apache軟件基金會開發(fā)的一套分布式基礎(chǔ)架構(gòu),它實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng),即HDFS,該系統(tǒng)最為突出的特點(diǎn)是容錯(cuò)性高,可在低廉的硬件上進(jìn)行部署。因HDFS能夠提供高吞吐量對應(yīng)用程序中的相關(guān)數(shù)據(jù)進(jìn)行訪問,從而使其在超大數(shù)據(jù)集的應(yīng)用程序中具有良好的適用性。在網(wǎng)絡(luò)日志分析中,可將不需要實(shí)時(shí)分析的數(shù)據(jù)存儲在HDFS中,然后借助相應(yīng)的編程模型,如Map Reduce等,便可對日志數(shù)據(jù)進(jìn)行挖掘和分析。Hadoop不但為非實(shí)時(shí)分析的日志數(shù)據(jù)提供了解決方案,還為實(shí)時(shí)展示的日志數(shù)據(jù)提供了解決方案,即HBase,這是一個(gè)具有分布式特點(diǎn)的面向列的開源數(shù)據(jù)庫,它是Hadoop的子項(xiàng)目之一,可用于非結(jié)構(gòu)數(shù)據(jù)的存儲。HBase能夠?qū)?shù)據(jù)表進(jìn)行自動分區(qū),由此可實(shí)現(xiàn)海量數(shù)據(jù)的存儲。
離線日志分析具有如下特征:能夠批量對數(shù)據(jù)進(jìn)行獲取及傳輸,可在預(yù)先設(shè)定好的周期內(nèi),對批量數(shù)據(jù)進(jìn)行計(jì)算和展示。比較常見的離線日志分析方法有聚類分析法、序列分析法、關(guān)聯(lián)分析法等。不同的方法具有不同的用途,如關(guān)聯(lián)分析法能夠發(fā)現(xiàn)數(shù)據(jù)集中存在的因果結(jié)構(gòu),據(jù)此可對事物中某些屬性的規(guī)律進(jìn)行描述;序列分析法在預(yù)防網(wǎng)絡(luò)安全中的效果比較顯著。
2)實(shí)時(shí)日志分析技術(shù)。對于部分應(yīng)用程序而言,需要分析實(shí)時(shí)日志數(shù)據(jù),如網(wǎng)絡(luò)負(fù)載、流量、磁盤占用情況等等,此時(shí)可以采用以下數(shù)據(jù)分析工具:
(1)Flume。這是一個(gè)可用性和可靠性非常高的海量日志采集系統(tǒng),其具有分布式的特征,除了能夠?qū)θ罩具M(jìn)行實(shí)時(shí)采集之外,還能對日志數(shù)據(jù)進(jìn)行聚合及傳輸。Flume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,由此可對相關(guān)的數(shù)據(jù)進(jìn)行收集。
(2)Kafka。這是一個(gè)由Apache軟件基金會開發(fā)的開源流處理平臺,其能夠?qū)W(wǎng)絡(luò)中的數(shù)據(jù)流進(jìn)行處理,這些數(shù)據(jù)可以通過處理日志和日志聚合來進(jìn)行解決。借助Kafka,可對實(shí)時(shí)數(shù)據(jù)進(jìn)行存儲。
實(shí)時(shí)日志的具體分析過程如下:
Step1:通過Flume對計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中的日志文件進(jìn)行監(jiān)聽,并對每條日志中的信息進(jìn)行實(shí)時(shí)抓取;
Step2:Flume抓取到日志信息之后,可直接存儲到Kafka當(dāng)中,然后借助分布式計(jì)算對這些信息進(jìn)行處理;
Step3:通過自定義的方式,對日志進(jìn)行分析,并將結(jié)果輸出到緩存數(shù)據(jù)庫當(dāng)中,由應(yīng)用程序?qū)@部分?jǐn)?shù)據(jù)進(jìn)行讀取和顯示。
2.2 網(wǎng)絡(luò)日志分析系統(tǒng)的構(gòu)建
為進(jìn)一步提高網(wǎng)絡(luò)日志分析效率,可在大數(shù)據(jù)的支持下,構(gòu)建網(wǎng)絡(luò)日志分析系統(tǒng),該系統(tǒng)由以下幾個(gè)層次組成:
(1)數(shù)據(jù)采集層。該層的核心是日志采集服務(wù)器,可實(shí)現(xiàn)日志記錄的接收與存儲。對于一些比較小的文件,服務(wù)器會自動將之合并成大文件,然后傳給數(shù)據(jù)存儲層。出于安全性方面的考慮,決定采用Syslog服務(wù)器對日志數(shù)據(jù)進(jìn)行實(shí)時(shí)采集,該服務(wù)器使用的是UDP傳輸協(xié)議,端口為默認(rèn)端口,可將接收到的日志數(shù)據(jù)直接寫入相應(yīng)的文件系統(tǒng)當(dāng)中。
(2)數(shù)據(jù)存儲層。該層主要負(fù)責(zé)對日志數(shù)據(jù)及相關(guān)的分析結(jié)果進(jìn)行存儲,采用的是分布式存儲方式,其底層系統(tǒng)為HDFS,配備海量的存儲空間,能夠?qū)Ψ墙Y(jié)構(gòu)化數(shù)據(jù)進(jìn)行持久性存儲。
(3)業(yè)務(wù)層。該層的核心是日志分析程序,負(fù)責(zé)解決日志的統(tǒng)計(jì)分析問題,具體的功能可以按照分析需求自行定制。
(4)數(shù)據(jù)顯示層。該層的主要作用是對業(yè)務(wù)層處理后的結(jié)果進(jìn)行再處理,然后顯示在界面上。由于業(yè)務(wù)層處理完的數(shù)據(jù)會存儲在底層的HDFS當(dāng)中,因此,需要通過顯示層對這部分?jǐn)?shù)據(jù)進(jìn)行提取,經(jīng)分析轉(zhuǎn)換之后,以圖表、文字等形式,顯示在頁面上。
3 結(jié)論
綜上所述,網(wǎng)絡(luò)日志分析對于保障計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)的安全性具有重要的現(xiàn)實(shí)意義。在大數(shù)據(jù)環(huán)境下,日志數(shù)據(jù)不斷增多,由此增大了日志分析的難度,為有效解決這一問題,可以采用離線和實(shí)時(shí)兩種日志分析技術(shù),并在大數(shù)據(jù)技術(shù)的支持下,構(gòu)建網(wǎng)絡(luò)日志分析系統(tǒng),借此來對海量的日志數(shù)據(jù)進(jìn)行分析。未來一段時(shí)期,應(yīng)當(dāng)加大對網(wǎng)絡(luò)日志分析技術(shù)的研究力度,除對現(xiàn)有的技術(shù)進(jìn)行不斷優(yōu)化之外,還應(yīng)開發(fā)一些新的技術(shù),從而使其更好地為日志分析服務(wù)。
【參考文獻(xiàn)】
[1]楊立鵬,張仰森,張雯,王建,曾健榮.基于Storm實(shí)時(shí)流式計(jì)算框架的網(wǎng)絡(luò)日志分析方法[J].計(jì)算機(jī)科學(xué),2019(9):102-105.
[2]徐航.數(shù)據(jù)清洗方法分析及其在網(wǎng)絡(luò)日志數(shù)據(jù)處理中的應(yīng)用[D].華中科技大學(xué),2017(5):64-66.
[3]向永謙,李欣,滿建文.基于網(wǎng)絡(luò)日志進(jìn)行大數(shù)據(jù)分析的安全感知[J].自動化博覽,2018(6):75-77.
[4]顏偉,李俊青.基于Python網(wǎng)絡(luò)日志分析系統(tǒng)研究與實(shí)現(xiàn)[J].曲阜師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2017(10):102-106.
[5]張建東.基于大數(shù)據(jù)技術(shù)的日志分析體系結(jié)構(gòu)的研究[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2018(3):45-47.