開源安全平臺---SELKS實戰
(大家在進行SELKS配置之前須具備Elastic Stack相關知識)
1.什么是SELKS ?
SELKS是Stamus Networks公司所開發的一個開源ELK項目,社區版是在GPL v3許可下發布,目的是實現一個開箱即用的IDS系統。社區版SELKS包括以下組件:
- 字母縮寫組件名稱SSuricataEElasticsearchLLogstashKKibanaSScirus(社區版)注:Scirius 社區版 是一個專門用于suricata規則集管理的web應用程序, 它采用Django開發。
網絡安全監控系統會產生大量的事件,SELKS為用戶提供了一些基本的工具,用來對事件進行分類,過濾事件,或者發出報警。這樣可以幫助減少分析員查看的事件數量,也節省了磁盤儲存空間。
2.SELKS6關鍵內容
本文主要介紹SELKS6,它是基于Debian9的發行版,面向網絡安全管理。它基于自己的圖形規則管理器提供一套完整的、易于使用的 Suricata入侵檢測系統。該系統還包含Kibana IDS/NSM控制面板以圖形化日志,以及Suricata的規則管理界面Scirius。在使用該版本之前,需要大家了解下面的重要內容。
- 操作系統:Debian Linux 9(stretch)
- 內核版本:4.9.0-8
- 默認登錄X-Window的用戶名selks-user,密碼:selks-user
- 登錄Web界面的用戶名selks-user,密碼:selks-user
- 默認root用戶密碼:StamusNetworks
- 圖形界面采用Python django框架開發,系統默認使用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 基于Web界面的規則集管理

- Kibana 儀表板

- EveBox alert
- Moloch 用于pcap導出和數據包捕獲
- Scirius Hunt

查看事件

Canvas(能夠實現定時刷新數據實現動態顯示界面)
SELKS的WebUI和前文介紹的安全洋蔥新版本 SOS 2.3.x 比較相似,但SELKS的社區版僅支持單實例的集成安裝,如果大家比較看好這種安全平臺可以選擇其商業版---“Scirius安全平臺”。
前文為大家講解過社區版OSSIM、Security Onion Solutions以及SELKS這三種安全平臺,它們都是通過GNUGPLv3許可免費提供,都可脫離互聯網環境進行一體化安裝,用戶無需配置系統,即可以獲得一套完整的安全平臺,這種簡易的部署方式,開源項目不意味著低成本,對于新手而言,雖然在系統安裝階段比較省時、省力,但用戶也必須清楚認識到開源項目的實際成本,以及可持續性,考慮開源解決方案手里必須項目團隊和資金的支持才行。