elk + suricata 實驗環境詳細安裝教程
1、安裝運行suricata,需要科學的上網
sudo add-apt-repository ppa:oisf/suricata-stable sudo apt-get update sudo apt-get install suricata
修改suricata配置 /etc/suricata/suricata.yaml
suricata -c /etc/suricata/suricata.yaml -i ens33
2、安裝elk(6.2.3)平台
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]),設置下交換內存:
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: Logstash
9200: Elasticsearch
5044: Kibana
訪問http://ip:5601/ 出現圖形界面則是安裝成功:
3、關聯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:
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
導入第2、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是看不到原來日志,產生新的數據時才會上傳。生產環境需要配置需要細化,以上配置只適用測試。