(大家在進行SELKS實戰之前必須具備Elastic Stack的基礎知識)
1.什麼是SELKS ?
SELKS是Stamus Networks公司所開發的一個開源ELK項目,社區版是在GPL v3許可下發布,目的是實現一個開箱即用的IDS系統。社區版SELKS包括以下組件:
- S Suricata
- E Elasticsearch
- L Logstash
- K Kibana
- S Scirus(社區版)
注:Scirius 社區版 是一個專門用於suricata規則集管理的web應用程序, 它採用Django開發。
網絡安全監控系統會產生大量的事件,SELKS爲用戶提供了一些基本的工具,用來對事件進行分類,過濾事件,或者發出報警。這樣可以幫助減少分析員查看的事件數量,也節省了磁盤儲存空間。
2.SELKS6關鍵內容
本文主要介紹SELKS6,它是基於Debian9的發行版,面向網絡安全管理。它基於自己的圖形規則管理器提供一套完整的、易於使用的 Suricata***檢測系統。該系統還包含Kibana IDS/NSM控制面板以圖形化日誌,以及Suricata的規則管理界面Scirius。在使用該版本之前需要大家瞭解下面的重要內容。
- 操作系統: Debian Linux 9(stretch)
- 內核版本:4.9.0-8
- 默認登錄操作用戶名selks-user,密碼:selks-user,
- 登錄Web界面的用戶名selks-user,密碼:selks-user,
- 圖形界面採用Python django框架開發
- 默認root用戶密碼:StamusNetworks
- 系統默認使用Xfce桌面環境
更多幫助:StamusNetworks/SELKS
3.下載ISO
SELKS6有兩個版本的鏡像,一個是帶桌面環境的,另一個是爲專家準備的,不帶桌面的高性能版本。初次接觸SELKS的用戶推薦前者。
點擊下載
4.服務器硬件要求(以虛擬機安裝爲例)
CPU 至少8核
內存:至少16GB (系統中的組件logstash非常消耗內存。
磁盤可用空間:至少500GB
虛擬機安裝網卡工作模式推薦橋接模式,網卡設置爲嗅探模式。 網卡配置文件位於/etc/network/interfaces,設置靜態IP是必備的。
虛擬機設置參考:
安裝過程和Debian Linux相似,可以完全脫離外網環境安裝,這裏就不詳細講解,下面爲大家介紹一些安裝SELKS的經驗和技巧。
登錄界面
安裝完增強插件後的桌面
點擊鼠標右鍵調出菜單,圖形化操作這裏就不做過多的闡述,下面重點講講配置。
5.數據存儲注意事項
爲了提高速度,操作系統和/data/nsm/中的數據可以駐留在SSD上。如果沒有條件上SSD設備,也可以考慮將/data/moloch/raw/掛載到單獨的磁盤分區上。這樣一來,速度可能會慢一些。
6.系統配置
爲規避一些由誤操作引起的系統錯誤,建議大家做好系統備份,再進行以下操作。
a.分配靜態IP及設置DNS
很多初學者不太注意設置IP的問題,喜歡動態分配,這種方式會給今後的實驗增加很多障礙。系統安裝完成之後,應首先設置Server或Sensor的網卡IP爲靜態IP修改網卡配置文件/etc/network/interfaces
設置DNS
DNS配置文件/etc/resolv.conf
當IP 和DNS都配置完成之後,重啓網絡服務。
使用下面的命令
#systemctl restart networking.service
設置網卡FPC(完整數據包捕獲)模式
顧名思義,FPC捕獲給定網段上的所有流量,並將其存儲到磁盤中以供以後檢索。它能夠提取數據包捕獲並對其執行任何操作(包括測試IDS警報、分析其Netflow統計信息)。設置FPC非常關鍵。
首次登入系統我們需要在SHELL命令行下輸入下面的命令
#selks-first-time-setup_stamus
通過這條命令我們可以確認,系統裏面的網卡名稱爲ens33。
按照說明並鍵入所需的嗅探接口名稱(ens33,然後選擇完成數據包捕獲(FPC)選項。接着選擇FPC,輸入數字1並回車。
如果你在其他虛擬機中看到的網卡名稱和本文介紹的不同,可以換成其他的。設置過程中容易出錯,查詢日誌的位置在/opt/selks/log/目錄。
b.允許root遠程登錄
由於SELKS默認下不允許root遠程登錄,會造成遠程調試不方便,我們需要在SELKS上修改SSH配置文件。
#vi /etc/ssh/sshd_config
在配置文件中加入一行
PermitRootLogin yes
//yes表示root可以ssh登錄,no表示不允許。
接着重啓SSH服務。
#/etc/init.d/ssh restart
c.調整分辨率
系統剛安裝完成時,分辨率只有800 x 600,需要安裝虛擬機增強工具,在下面的位置調整。
d.更新系統
SELKS補丁更新比較快,每個月都有新的內容發佈,所以剛安裝完成的系統需要第一時間進行系統升級。
e.檢查服務狀態
下面的命令可以顯示所有關鍵服務的運行狀態。
#systemctl status suricata
#systemctl status elasticsearch
#systemctl status logstash
#systemctl status kibana
#supervisorctl status scirius
#systemctl status evebox
此外系統還提供了一條健康度的檢測腳本
#selks-health-check_stamus
該腳本執行後,正常啓動的服務都是綠色的active(running)狀態,而有問題的服務會顯示紅色的failed字樣。
f.初始設置JAVA
SELKS附帶Debian標準的預安裝OpenJDK,對於Elasticsearch,Oracle或OpenJDK都是可以接受的。由於許可問題,Oracle JAVA在默認情況下不能與SELKS一起提供。
如果您決定從OpenJDK切換到Oracle JAVA,請按照下面的說明操作。確保系統是最新的-SELKS升級。
一般來說,在安裝SELKS之後,您可以很容易地切換到Oracle Java,執行以下腳本:
root@SELKS:~# /opt/selks/Scripts/Java/setup-oracle-java_stamus.sh
該腳本是selks scripts stamus腳本包package of scripts的一部分,已經安裝在SELKS系統中。
注意:這將默認安裝Java8 oracle-java8-installer and libc6-dev 包。
g.瀏覽器中訪問(強制https)
不記得用戶名稱和密碼,請問上看。
系統提供了很多Demo數據,我們先加載嘗試。
首頁中,將SELKS分爲了四個模塊對應四個界面,
該界面包含如下:
Scirius 規則集管理與軟件管理
Kibana 儀表板
EveBox alert
Moloch 用於pcap導出和數據包捕獲
Scirius Hunt
查看事件
Canvas(能夠實現定時刷新數據實現動態顯示界面)
SELKS的WebUI和SOS 2.3.x的比較相似,詳細對比等到下次再介紹。