一種基於私有雲平臺的集中式入侵檢測系統的製作方法
2023-06-09 23:42:36
本發明涉及雲計算平臺與計算機網絡安全領域,具體涉及一種基於私有雲平臺的集中式入侵檢測系統。
背景技術:
隨著網絡技術的發展,雲計算作為一種新型的、可動態取用的服務受到越來越多的關注。然而安全問題卻成為制約雲計算發展最重要的一個因素。雲安全聯盟(csa)列舉了當前雲環境面臨的九大威脅。這些種類繁多的安全威脅給用戶造成了很大的困擾,甚至有時會帶來嚴重的損失。目前主流的安全技術手段主要有:認證和訪問控制、數據加密、數字籤名、防火牆、入侵檢測等。其中入侵檢測系統相較於其他方法的優點是,它是主動防護系統,主動檢測入侵行為,及時進行報警和防範,從而形成一道強有力的系統保護屏障,降低系統可能遭受的風險。入侵檢測彌補了其他被動式網絡防護機制的不足,大大地提升了系統的安全水平。由於雲平臺的複雜性,單一的安全手段並不能滿足需求,所以通常都是將多種安全技術結合使用,以滿足不同的安全需求。入侵檢測作為防火牆之後的第二道屏障,近年來已經成為研究的熱點。
在傳統的入侵檢測系統的基礎上,基於雲環境下的入侵檢測系統也迅速發展。目前在雲環境下入侵檢測系統主要可以分為四類:基於網絡的入侵檢測系統(nids)、基於主機的入侵檢測系統(hids)、分布式入侵檢測系統(dids)、基於hypervisor的入侵檢測系統。nids主要捕獲整個網絡的流量,然後分析出攻擊行為和事件比如拒絕服務攻擊(dos)、埠掃描和root權限獲取等。nids利用異常或籤名的檢測方法識別入侵,與傳統方法一樣,無法在加密的環境下部署。hids從特定主機收集系統信息,檢測作業系統、事件的安全記錄。在雲環境下可以部署在hypervisor、虛擬機(vm)和主機中,分析系統日誌、用戶登錄信息和訪問控制等入侵行為。dids部署在分布式的網絡環境中,包含多種入侵檢測系統(如nids、hids),各個組成部分由中心伺服器管理並可以相互通信。每個獨立的ids包含檢測組件和相關管理器兩個部分。基於hypervisor的入侵檢測系統部署在為虛擬機提供運行環境的hypervisor層。監控和分析不同層級之間的信息如虛擬機和hypervisor之間的通信、虛擬網絡中各虛擬機之間的通信。
當前,在雲環境下對入侵檢測的研究越來越多,研究也越來越深入,但目前絕大部分工作都是對雲環境下入侵檢測算法的性能以及檢測率方面的改進,然而在影響入侵檢測系統實用性的系統資源佔用方面的研究還有待加強。
技術實現要素:
本發明的目的在於克服現有技術存在的問題,提供一種基於私有雲平臺的集中式入侵檢測系統。
為實現上述技術目的,達到上述技術效果,本發明通過以下技術方案實現:
一種基於私有雲平臺的集中式入侵檢測系統,該方法包括以下步驟:
步驟1)搭建私有雲平臺,並創建需要的虛擬主機,在每臺虛擬主機上部署logstash及elasticsearch集群,配置好logstash的配置文件,收集每臺虛擬主機的系統日誌,並將日誌按自定義的格式寫入到elasticsearch集群,集中式存儲、管理;
步驟2)對日誌數據進行預處理,將剛收集到的日誌數據通過過濾規則進行過濾,過濾掉普通用戶的正常行為,為後續處理減少數據的輸入;
步驟3)將預處理後的日誌數據進行算法分析,根據預先訓練出來的決策樹模型,區分出異常行為;
步驟4)根據所述步驟3)分析出來的結果,向各臺虛擬主機反饋,對於異常的行為,採取報警、殺掉進程操作。
進一步的,所述步驟1)中,在雲環境下收集各臺虛擬主機的日誌信息的具體步驟為:
步驟1.1)在各臺需要監控的虛擬主機中部署logstash系統,並各自定義日誌收集的配置文件,同時自定義日誌存儲格式;
步驟1.2)在各臺需要監控的虛擬主機中部署elasticsearch,搭建成一個集群,同時設定一臺虛擬主機為主節點,將步驟1)中所收集的數據寫入elasticsearch集群,此時即可從主節點讀取到各臺虛擬主機的日誌信息,將分散在各臺虛擬主機上的日誌信息集中到一起,方便後續統一處理。
進一步的,所述步驟2)中,對集中收集的日誌數據進行預處理時的具體步驟為:
步驟2.1)首先對收集到的日誌數據根據用戶標籤分類,區分為root用戶日誌與普通用戶日誌,並取出普通用戶的日誌;
步驟2.2)將所述步驟2.1)中取出的普通用戶的日誌根據其結果添加標籤,成功的結果標記為1,不成功的標記為0;
步驟2.3)根據所述步驟2.2)中打好標籤的日誌數據,過濾掉標籤為1的成功的結果,保留標籤為0的不成功的結果。
進一步的,所述步驟3)中,預處理後的日誌數據採用決策樹c5.0算法進行分析,根據不同的日誌數據來源,訓練產生對應的決策樹模型,然後根據對應規則,找到連接終端節點的唯一的路徑。
進一步的,該入侵檢測系統設置在elasticsearch集群的主節點上,通過elasticsearch集群收集、存儲各臺虛擬主機的日誌信息,並在主節點上集中式進行異常檢測。
進一步的,所述日誌信息至少包括用戶操作日誌,收集用戶操作日誌時,採用logstash的input插件,收集用戶操作日誌,然後採用filter過濾插件自定義輸出格式,最後通過output插件將日誌數據存儲到elasticsearch集群上。
本發明的有益效果是:
本發明將私有雲平臺下各臺主機的日誌數據通過logstash工具收集,併集中存儲在elasticsearch集群上,這樣就不需要在每臺虛擬主機上的部署入侵檢測系統,只需要在主節點上部署入侵檢測系統,集中式處理每臺主機的日誌信息,極大地減少的每臺主機的資源消耗,提高了系統資源使用率。
附圖說明
圖1是本發明基於私有雲平臺的集中式入侵檢測系統架構圖;
圖2是本發明數據收集處理流程圖;
圖3是本發明模塊協作流程圖。
具體實施方式
下面將參考附圖並結合實施例,來詳細說明本發明。
參照圖1所示,一種基於私有雲平臺的集中式入侵檢測系統架構,參照圖3所示,該架構由四個核心模塊組成,分別是數據收集模塊、數據預處理模塊、異常檢測模塊和異常報警模塊,各模塊的具體運作方式包括以下部分:
1)數據收集
首先搭建好私有雲平臺,並創建需要的虛擬主機,並在每臺虛擬主機上部署logstash及elasticsearch集群,配置好logstash的配置文件,收集每臺主機的系統日誌,並將日誌按自定義的格式寫入到elasticsearch集群,將入侵檢測系統設置在elasticsearch集群的主節點上,通過elasticsearch集群收集、存儲各臺主機的日誌信息,並在主節點上集中式進行異常檢測;比如收集用戶操作日誌,參照圖2,首先利用logstash的input插件,收集用戶操作日誌,然後利用filter過濾插件自定義輸出格式,如:主機名、ip、用戶名、操作、結果等信息,最後通過output插件將日誌數據存儲到elasticsearch集群上;
2)數據預處理,減少輸入數據
將步驟1收集到的數據進行預處理,由於雲環境下,多臺主機的日誌信息數量龐大,直接處理會佔用大量的資源和時間,效率低下,所以在異常檢測之前首先進行數據預處理;系統操作日誌主要分為兩大類:普通用戶日誌和root用戶日誌,root用戶擁有所有權限,因此相應地它可能產生的威脅也相應較大,同樣的普通用戶擁有的權限較小,它對系統的威脅也相對較小,普通用戶權限內的成功的操作對系統不會造成破壞,並不會對系統產生威脅;但這些操作會產生大量無用的系統日誌,因此需要將這些數據過濾,首先根據自定義的用戶標籤設定過濾規則,過濾出普通用戶的操作日誌,再根據日誌的結果添加標籤,成功的日誌標記為1,不成功的日誌標記為0,然後根據結果標籤過濾掉普通用戶的正常行為,為後續處理減少數據的輸入,提升系統的處理速度和性能;
3)進行異常檢測
將步驟2)預處理後的數據通過決策樹c5.0算法進行異常檢測,首先根據不同的日誌來源,訓練產生對應的決策樹模型,然後根據對應規則,即結合日誌文件、過濾規則和資料庫,找到連接終端節點的唯一的路徑,最後對步驟2)收集的日誌數據進行預測分析,檢測出異常行為。判斷每一條數據是否為異常數據,如果是添加標籤記為0,否則記為1;
4)報警反饋結果
根據步驟3)分析出來的結果,根據主機標籤向各臺主機反饋,如檢測出異常行為,則採取報警、殺掉進程等反饋操作,如未檢測出異常行為,則不返回結果。
以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。