當前位置:
首頁 > 新聞 > 企業安全建設之搭建開源SIEM平台(下)

企業安全建設之搭建開源SIEM平台(下)

*本文原創作者:兜哥,轉載請註明來自FreeBuf.COM


前言

SIEM(security information and event management),顧名思義就是針對安全信息和事件的管理系統,針對大多數企業是不便宜的安全系統,本文結合作者的經驗介紹如何使用開源軟體離線分析數據,使用演算法挖掘未知攻擊行為。


回顧系統架構

以WEB伺服器日誌為例,通過logstash搜集WEB伺服器的查詢日誌,近實時備份到hdfs集群上,通過hadoop腳本離線分析攻擊行為。


自定義日誌格式

開啟httpd自定義日誌格式,記錄User-Agen以及Referer


# You need to enable mod_logio.c to use %I and %O
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio

CustomLog "logs/access_log" combined


日誌舉例


180.76.152.166 - - [26/Feb/2017:13:12:37 +0800] "GET /wordpress/ HTTP/1.1" 200 17443 "http://180.76.190.79:80/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"
180.76.152.166 - - [26/Feb/2017:13:12:37 +0800] "GET /wordpress/wp-json/ HTTP/1.1" 200 51789 "-" "print `env`"
180.76.152.166
- - [26/Feb/2017:13:12:38 +0800] "GET
/wordpress/wp-admin/load-styles.php?c=0&dir=ltr&load[]=dashicons,buttons,forms,l10n,login&ver=Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZXRjL3Bhc3N3ZAAucG5n
HTTP/1.1" 200 35841 "http://180.76.190.79:80/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"
180.76.152.166 - - [26/Feb/2017:13:12:38 +0800] "GET /wordpress/ HTTP/1.1" 200 17442 "http://180.76.190.79:80/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"


測試環境

在wordpress目錄下添加測試代碼1.php,內容為phpinfo

針對1.php的訪問日誌



hadoop離線處理

hadoop是基於map,reduce模型


map腳本



reducer腳本


生成結果示例為:


- -> http://180.76.190.79/wordpress/wp-admin/1.php- -> http://180.76.190.79/wordpress/wp-admin/admin-ajax.php- -> http://180.76.190.79/wordpress/wp-admin/customize.phphttp://180.76.190.79/wordpress/ -> http://180.76.190.79/wordpress/wp-admin/edit-comments.phphttp://180.76.190.79/wordpress/ -> http://180.76.190.79/wordpress/wp-admin/profile.phphttp://180.76.190.79/wordpress/ -> http://180.76.190.79/wordpress/wp-login.phphttp://180.76.190.79/wordpress/ -> http://180.76.190.79/wordpress/xmlrpc.php

圖演算法

講生成數據導入圖資料庫neo4j,滿足webshell特徵的為:


入度出度均為0

入度出度均為1且自己指向自己


neo4j

neo4j是一個高性能的,NOSQL圖形資料庫,它將結構化數據存儲在網路上而不是表中,因其嵌入式、高性能、輕量級等優勢,越來越受到關注。


neo4j安裝

https://neo4j.com/ 上下載安裝包安裝,默認配置即可


ne04j啟動

以我的mac為例子,通過gui啟動即可,默認密碼為ne04j/ne04j,第一次登錄會要求更改密碼

GUI管理界面

python api庫安裝

sudo pip install neo4j-driver

下載JPype

https://pypi.python.org/pypi/JPype1

安裝JPype


tar -zxvf JPype1-0.6.2.tar.gz cd JPype1-0.6.2sudo python setup.py install

將數據導入圖資料庫代碼點擊閱讀原文查看。

生成有向圖如下

查詢入度為1出度均為0的結點或者查詢入度出度均為1且指向自己的結點,由於把ref為空的情況也識別為」-」結點,所以入度為1出度均為0。


優化點

生產環境實際使用中,我們遇到誤報分為以下幾種:


主頁,各種index頁面(第一個誤報就是這種)

phpmyadmin、zabbix等運維管理後台

hadoop、elk等開源軟體的控制台

API介面

這些通過短期加白可以有效解決,比較麻煩的是掃描器對結果的影響(第二個誤報就是這種),這部分需要通過掃描器指紋或者使用高大上的人機演算法來去掉干擾。


後記

使用演算法來挖掘未知攻擊行為是目前非常流行的一個研究方向,本文只是介紹了其中比較好理解和實現的一種演算法,該演算法並非我首創,不少安全公司也都或多或少有過實踐。

篇幅有限,我將陸續在企業安全建設專題其他文章中由淺入深介紹其他演算法。

演算法或者說機器學習本質是科學規律在大數據集集合上趨勢體現,所以很難做到精準報警,目前階段還是需要通過各種規則和模型來輔助,不過對於挖掘未知攻擊行為確實是一支奇兵。


*本文原創作者:兜哥,轉載請註明來自FreeBuf.COM


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

低成本安全硬體(二) | RFID on PN532
擔心投票系統被黑,詳解荷蘭政府為何決定在大選中使用手工計票
電商篇——移動 APP 安全行業報告

TAG:FreeBuf |

您可能感興趣

安全建設之平台搭建
LAMP環境搭建
HDP大數據平台搭建
AMD YES ! ITX神教之高顏值AMD主機搭建
AMD YES!ITX神教之高顏值AMD主機搭建
眾安科技CFO鄧銳民:眾安正在搭建區塊鏈平台
用KPPW搭建一個BIM眾包網,打造BIM技術眾包領域的王牌!
EOS錢包開發:EOS開發環境搭建
在IIS里搭建FTP伺服器
用KPPW搭建一個沐風眾包平台,領先機械技術服務業!
XAMPP搭建本地虛擬域名
用KPPW搭建一個蟲築網,開啟設計領域互聯網新時代
利用KPPW搭建一個碼易眾包平台,開啟科技眾包新時代
ITX 神教之高顏值 AMD 主機搭建
用KPPW搭建一個魅客空間,開啟設計眾包新征程!
中國基建NO.1中國玩家在《ATLAS》搭建城堡老外看了都服
虛擬化技術KVM的搭建
SDVOE方案的搭建與評測
中國基建果然NO.1 中國玩家在《ATLAS》里搭建城堡老外看了都服
搭建大眾點評 CAT 監控平台