一、安裝運行suricata,須要***docker
sudo add-apt-repository ppa:oisf/suricata-stable sudo apt-get update sudo apt-get install suricata
修改suricata配置 /etc/suricata/suricata.yamljson
suricata -c /etc/suricata/suricata.yaml -i ens33
二、安裝elk(6.2.3)平臺ubuntu
docker pull sebp/elk:623
啓動elk容器並掛載suricata日誌目錄,若是報虛擬內存錯誤([1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]),設置下交換內存:vim
root@ubuntu:~# echo "vm.max_map_count = 655360" >> /etc/sysctl.conf root@ubuntu:~# sysctl -p vm.max_map_count = 655360
docker run -it -m 4G -v /var/log/suricata:/mnt -p 5601:5601 -p 9200:9200 -p 5044:5044 sebp/elk:623
5601: Logstashbash
9200: Elasticsearchapp
5044: Kibanaelasticsearch
訪問http://ip:5601/ 出現圖形界面則是安裝成功:tcp
三、關聯elk和suricata測試
root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abf64c1b1c77 sebp/elk:623 "/usr/local/bin/star…" 2 hours ago Up 2 hours 0.0.0.0:5044->5044/tcp, 0.0.0.0:5601->5601/tcp, 0.0.0.0:9200->9200/tcp, 9300/tcp ecstatic_kare
root@ubuntu:~# docker exec -it abf64c1b1c77 bash
root@abf64c1b1c77:/# vim /etc/logstash/conf.d/logstash.conf
input {
file {
path => ["/mnt/eve.json"]
codec => json
}
}
filter {
}
output {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "suricata-%{+YYYY.MM.dd}"
user => "user"
password => "password"
}
}
進入到容器結束uid爲logstash進程,使用命令本身啓動logstash:ui
root@abf64c1b1c77:/# /opt/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf
下載下面三個json文件,導入第一個json的時候最好先訪問下Sample Suricata Alert Dashboard 新導入的面板,好像是個bug第二次沒有訪問直接一塊兒導入三個json的時候會出現錯誤。
https://aka.ms/networkwatchersuricatadashboard https://aka.ms/networkwatchersuricatavisualization https://aka.ms/networkwatchersuricatasavedsearch
導入第二、3個json時注意:
導入完成後訪問Dashboard界面,選擇Sample Suricata Alert Dashboard:
參考:
http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
https://blog.csdn.net/xiaomaiaidandan/article/details/81194371
實驗環境搭建完畢,文中一些步驟能夠使用其它方式代替。Logstash用來傳輸日誌,Elasticsearch分析日誌,Kibana展現界面,其中下載的三個json本質是增長本身寫的一些filter來過濾數據。Logstash是實時傳輸日誌的,不會將原有的日誌上傳,因此suricata沒有產生攻擊日誌的時候Kibana是看不到原來日誌,產生新的數據時纔會上傳。生產環境須要配置須要細化,以上配置只適用測試。