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:
启动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 = " >> /etc/sysctl.conf
root@ubuntu:~# sysctl -p
vm.max_map_count =
docker run -it -m 4G -v /var/log/suricata:/mnt -p 5601:5601 -p 9200:9200 -p 5044:5044 sebp/elk:
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是看不到原来日志,产生新的数据时才会上传。生产环境需要配置需要细化,以上配置只适用测试。
elk + suricata 实验环境详细安装教程的更多相关文章
- Lamp环境的详细安装教程
原文:Lamp环境的详细安装教程 架构LAMP环境 1.布置LAMP环境之前的准备工作 在架构LAMP环境时,确保你的Linux系统已经安装了make.gcc.gcc-c++(使用rpm -q xxx ...
- WindowsServer2012 R2 64位中文标准版(IIS8.5)下手动搭建PHP环境详细图文教程(二)安装IIS8.5
//来源:http://www.imaoye.com/Technology/WindowsServer2012R264IIS85.html 阿里云服务器ECS Windows Server 2012 ...
- iis7.5安装配置php环境详细清晰教程,三步实现【图文】
iis7.5安装配置php环境详细清晰教程,三步实现[图文] iis7.5是安装在win7.win8里的web服务器,win2003.win2000的web服务器使用的是iis6.0,由于win7.w ...
- CentOS环境Docker安装教程(官方推荐的docker三种方式安装)
CentOS环境Docker安装教程(官方推荐的docker三种方式安装) 一.使用yum方式安装 1.安装依赖包 $ sudo yum install -y yum-utils device-map ...
- 开发环境配置:jdk8的详细安装教程&&tomact的详细安装教程&&java环境变量的配置&&tomcat启动总失败原因
1.下载 链接: http://pan.baidu.com/s/1i57HZKx 密码: cnb4 2.详细安装过程 3.下载地址 链接: http://pan.baidu.com/s/1mi6VUp ...
- Node.js的多版本管理工具 gnvm(win环境)的详细安装教程(图解步骤、通俗易懂、亲测有效)
前言 本篇随笔主要写了如何安装并使用node多版本管理工具gnvm(windowns环境下) 作为自己对多版本工具gnvm知识的总结与笔记. 百度云盘gnvm应用程序包 获取链接(个人应用地址如下): ...
- RHEL 6.3 详细安装教程
以前刚接触linux时,什么都不懂,为了学习,在电脑上安装双系统(原系统为Win7),吃过不少苦头,在网上搜教程,很多都是语焉不详,导致安装过程中战战兢兢.最近朋友面试运维,面试官有考他对linux安 ...
- 最新MATLAB R2020b超详细安装教程(附完整安装文件)
摘要:本文详细介绍Matlab R2020b的安装步骤,为方便安装这里提供了完整安装文件的百度网盘下载链接供大家使用.从文件下载到证书安装本文都给出了每个步骤的截图,按照图示进行即可轻松完成安装使用. ...
- Android Studio | 详细安装教程
Windows和Mac系统下的安装教程差不多,需要注意的是确保系统中已经安装了JDK,并且JDK版本为1.7或1.7以上版本,如果没有,请自行更新下载安装,地址如下: Java SE Develop ...
随机推荐
- [剑指Offer] 61.序列化二叉树
题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *r ...
- snmpwalk的报文检测
1.先用nc起一个监听的端口,然后看报文是不是正确的: 注:nc是一个模拟各种网络协议的东西,模拟服务器.客户端等: 2.触发告警,让他发报文: 3.用nc模拟一个服务端,启动一个udp的端口163: ...
- 2018牛客多校第四场 J.Hash Function
题意: 给出一个已知的哈希表.求字典序最小的插入序列,哈希表不合法则输出-1. 题解: 对于哈希表的每一个不为-1的数,假如他的位置是t,令s = a[t]%n.则这个数可以被插入当且仅当第s ~ t ...
- POJ2828:Buy Tickets——题解
http://poj.org/problem?id=2828 首先发现如果我们按照他的方法模拟的话,势必时间爆炸. 所以我们从后往前推,因为我们知道最后一个的位置一定是对的,而前面的位置可以从后面推知 ...
- HDU5726:GCD——题解
题目:hdu的5726 (我原博客的东西,正好整理过来,属于st表裸题) (可以看出我当时有多么的菜--) 这道题写了一遍,然而蒟蒻的我的时间爆炸了-- 于是看了一下学长的代码(顺便在此处%一下学长) ...
- jquery Promise和ES6 Promise的区别
1. Deferred对象有resolve和reject方法,可以直接修改状态 jquery用Deferred实现了Promise规范,Deferred与ES6 Promise的最大区别是: Defe ...
- linux 小技巧
http://blog.csdn.net/xianjie0318/article/details/75712990 1.按内存从大到小排列进程: ps -eo "%C : %p : % ...
- spring全局异常处理 自定义返回数据结构
在写api接口中,正常返回和异常错误返回我们都希望很清楚的将这些信息清楚的返回给用户,出现异常情况下需要清楚的知道是参数异常还是未知异常,而不是返回一个不正确的数据结构. 所以此处只针对写api接口时 ...
- Java HashMap工作原理及实现?
参考:http://yikun.github.io/2015/04/01/Java-HashMap%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AE ...
- [dhcpd]清除dhcp缓存
修改了dhcp的default-lease-time && max-lease-time 清除缓存: rm /var/lib/dhcpd.leases~ echo "&quo ...