OpenSOC 是思科提出的大數(shù)據(jù)分析與安全分析技術(shù)結(jié)合的開源框架,能夠?qū)崟r的檢測網(wǎng)絡(luò)異常情況的開源框架,它的存儲使用開源Hadoop,實時索引使用開源ElasticSearch,在線流分析使用著名的開源Storm。
OpenSOC介紹了以下五大優(yōu)點:
由思科全力支持,適用于內(nèi)部多用戶
自由、基于Apache授權(quán)的開源軟件
基于被驗證的高可擴展平臺(Hadoop、Kafka、Storm)
可擴展的插件式設(shè)計
靈活的部署模式(企業(yè)內(nèi)部部署或者放到云端)
集中化管理流程、人員和數(shù)據(jù)
思科在安全業(yè)界不斷的推出開源產(chǎn)品。之前提出了Snort、OpenAPPid、PxGrid等開源平臺,這次又攜一安全力作來襲?。?!開源的安全大數(shù)據(jù)分析框架OpenSOC,可以幫助企業(yè)提供了一個平臺,用于異常檢測和應(yīng)用程序中數(shù)據(jù)丟失問題的事故取證,使他們的技術(shù)安全戰(zhàn)略成為大數(shù)據(jù)的一部分。通過集成的Hadoop生態(tài)系統(tǒng),如Storm,Kafka和Elasticsearch眾多元素,OpenSOC提供了一個可擴展的平臺整合能力,如全包捕獲索引,存儲,數(shù)據(jù)分析,流處理,批量處理,實時搜索,和遙測聚集。不僅如此,它是還是一個集中功能平臺,更有效地對安全事件進行快速檢測,響應(yīng)高級安全威脅。
幾個月前,我們真的很高興把OpenSOC放到開源社區(qū)。開發(fā)OpenSOC一直是具有挑戰(zhàn)性的,但也給我們帶來很大的收獲。我們的小團隊盡己所能利用大數(shù)據(jù)技術(shù),把一個強大的基礎(chǔ)架構(gòu)放置于公共社區(qū),更利于其發(fā)展和增強。隨著OpenSOC開放,我們努力為客戶提供一個替代專有昂貴工具的開放式分析工具,并遵循大數(shù)據(jù)的發(fā)展規(guī)模。
那么,什么讓OpenSOC如此的不同? OpenSOC是本地運行在Hadoop 2.x技術(shù)堆棧的應(yīng)用程序。 OpenSOC與傳統(tǒng)的Hadoop應(yīng)用程序不同,因為它專注于實時數(shù)據(jù)流分析。基于安全性,速度方面,該功能提供的流處理模塊集成到已經(jīng)可用的Hortonworks Hadoop發(fā)行版上。作為關(guān)鍵技術(shù)的推動者,我們通過實時分析確定該技術(shù)使用情況,并與Hortonworks合作加速其成熟。在使用Storm時,我們通過多種原型和架構(gòu)變化,不僅提供可擴展的流處理,還建立可擴展的消息代理。由于網(wǎng)絡(luò)流量本身的突發(fā)性質(zhì),使得我們需要一種方式來理順這些突發(fā)流量。經(jīng)過研究后,我們選擇了Kafka,因為它具備前所未有的大規(guī)模緩沖數(shù)據(jù)能力。在Kafka和Storm幫助下,我們終于可以開始實現(xiàn)OpenSOC的可擴展流處理能力。
我們最具有挑戰(zhàn)的難題是如何存儲全PCAP數(shù)據(jù)。在此時并沒有數(shù)據(jù)庫,可以強大到足以存儲每秒百萬消息的二進制數(shù)據(jù),在同一時間提供復(fù)雜的查詢和掃描功能,并按需提供所捕獲的PCAP文件數(shù)據(jù)包。然而,HBase提供了終結(jié)的方案。我們與我們的合作伙伴Hortonworks依據(jù)HBase來調(diào)整和建立這些功能,以滿足我們的查詢和存儲要求?,F(xiàn)在我們創(chuàng)建了一個可擴展的流處理器和存檔數(shù)據(jù)方法。
HBase非常強大,但它有一個主要的限制。為了讓我們能夠?qū)崿F(xiàn)所需要的速度,我們必須要小心定制HBase Key,不能夠因為我們需要盡可能多的元數(shù)據(jù)而把他們都加入Key。這使得分析元數(shù)據(jù)極為有限。為了提高OpenSOC這種能力,我們引進了ElasticSearch作為對HBase key的二級檢索,并開始使用它作為常用的元數(shù)據(jù)存儲庫,甚至作為一個警報存儲庫。對ElasticSearch進行的一些調(diào)整后,滿足我們的功能要求,我們將它納入OpenSOC。
最后一關(guān),我們要考慮如何克服非分組數(shù)據(jù)包進入我們的系統(tǒng)。例如系統(tǒng)日志,機器的廢數(shù)據(jù),網(wǎng)絡(luò)設(shè)備的報警等等。為此,我們使用了Flume。Flume通過數(shù)據(jù)源分類,可以推送我們需要的數(shù)據(jù)到Kafka,然后由我們的流處理器接管。Flume也具備很好的可擴展功能,它可以依照我們相應(yīng)的調(diào)整提供適合的擴展。 這是連接我們架構(gòu)的最后一個部分,這樣我們就可以開始準(zhǔn)備測試模型了。
當(dāng)我們部署第一個集群并開始獲取系統(tǒng)用戶和用戶的輸入時,可以明顯看到流媒體使用情況,這些數(shù)據(jù)不僅僅可以用于OpenSOC使用。安全分析也通過批量處理獲得了大數(shù)據(jù)的匯總報告能力。引入Hive后可以滿足我們對不同數(shù)據(jù)選擇需求。Hive使我們能夠在Hadoop數(shù)據(jù)中運行批處理SQL之類的查詢。我們還認識到,安全分析不是唯一的使用者。數(shù)據(jù)分析統(tǒng)計也需要相同的數(shù)據(jù)。它們習(xí)慣使用在HDFS的數(shù)據(jù)和ODBC/JDBC連接器界面工具。Hive同時也提供此類連接器,這使我們的數(shù)據(jù)分析統(tǒng)計工具直接從我們的數(shù)據(jù)庫中提取數(shù)據(jù)。與此同時,OpenSOC0.1發(fā)布了。
去年在圣何塞的Hadoop高峰會議上,我們發(fā)布OpenSOC平臺框架后,已收到非常多積極的響應(yīng),也有很多組織效仿我們。我們不斷演變和加強OpenSOC,并在近幾個月推出許多新的功能。目前,我們當(dāng)前已經(jīng)發(fā)布第五個版本,正努力工作在第六版本。
OpenSOC平臺的設(shè)計非常具有挑戰(zhàn)性和成熟度。團隊必須不斷跟進大數(shù)據(jù)技術(shù)的日新月異發(fā)展,通過合作伙伴關(guān)系推進這些技術(shù)的能力,并與開源社區(qū)合作測試和提供公共共享。我們還將繼續(xù)不斷地創(chuàng)新,我們也在尋找思科以外的開發(fā)者們參與到該平臺。 OpenSOC旨在作為一個真正的公共社區(qū)管理平臺而努力。
請看看http://opensoc.github.io/上OpenSOC更多信息,以及如何促進其未來的發(fā)展。