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 实验环境详细安装教程的更多相关文章

  1. Lamp环境的详细安装教程

    原文:Lamp环境的详细安装教程 架构LAMP环境 1.布置LAMP环境之前的准备工作 在架构LAMP环境时,确保你的Linux系统已经安装了make.gcc.gcc-c++(使用rpm -q xxx ...

  2. WindowsServer2012 R2 64位中文标准版(IIS8.5)下手动搭建PHP环境详细图文教程(二)安装IIS8.5

    //来源:http://www.imaoye.com/Technology/WindowsServer2012R264IIS85.html 阿里云服务器ECS Windows Server 2012 ...

  3. iis7.5安装配置php环境详细清晰教程,三步实现【图文】

    iis7.5安装配置php环境详细清晰教程,三步实现[图文] iis7.5是安装在win7.win8里的web服务器,win2003.win2000的web服务器使用的是iis6.0,由于win7.w ...

  4. CentOS环境Docker安装教程(官方推荐的docker三种方式安装)

    CentOS环境Docker安装教程(官方推荐的docker三种方式安装) 一.使用yum方式安装 1.安装依赖包 $ sudo yum install -y yum-utils device-map ...

  5. 开发环境配置:jdk8的详细安装教程&&tomact的详细安装教程&&java环境变量的配置&&tomcat启动总失败原因

    1.下载 链接: http://pan.baidu.com/s/1i57HZKx 密码: cnb4 2.详细安装过程 3.下载地址 链接: http://pan.baidu.com/s/1mi6VUp ...

  6. Node.js的多版本管理工具 gnvm(win环境)的详细安装教程(图解步骤、通俗易懂、亲测有效)

    前言 本篇随笔主要写了如何安装并使用node多版本管理工具gnvm(windowns环境下) 作为自己对多版本工具gnvm知识的总结与笔记. 百度云盘gnvm应用程序包 获取链接(个人应用地址如下): ...

  7. RHEL 6.3 详细安装教程

    以前刚接触linux时,什么都不懂,为了学习,在电脑上安装双系统(原系统为Win7),吃过不少苦头,在网上搜教程,很多都是语焉不详,导致安装过程中战战兢兢.最近朋友面试运维,面试官有考他对linux安 ...

  8. 最新MATLAB R2020b超详细安装教程(附完整安装文件)

    摘要:本文详细介绍Matlab R2020b的安装步骤,为方便安装这里提供了完整安装文件的百度网盘下载链接供大家使用.从文件下载到证书安装本文都给出了每个步骤的截图,按照图示进行即可轻松完成安装使用. ...

  9. Android Studio | 详细安装教程

    Windows和Mac系统下的安装教程差不多,需要注意的是确保系统中已经安装了JDK,并且JDK版本为1.7或1.7以上版本,如果没有,请自行更新下载安装,地址如下: Java SE Develop ...

随机推荐

  1. java 中使用Base64

    byte[] cipherData = Base64.encodeBase64(plainText.getBytes()); //默认不换行 byte[] cipherData = Base64.en ...

  2. [HZOI2016]偏序&[HZOI2015]偏序II K维偏序问题

    description Cogs: [HZOI2016]偏序 [HZOI2015]偏序 II data range \[ n\le 5\times 10^4\] solution 嵌套\(CDQ\)的 ...

  3. ARC077D 11 组合数

    ---题面--- 题解: 做这道题的时候zz了,,,, 写了个很复杂的式子,然而后面重新想就发现很简单了. 考虑用总的情况减去重复的. 假设唯一重复的两个数的位置分别是l和r,那么唯一会导致重复的方案 ...

  4. POJ1375:Intervals——题解

    http://poj.org/problem?id=1375 题目大意:有一盏灯,求每段被圆的投影所覆盖的区间. —————————————————————— 神题,卡精度,尝试用各种方法绕过精度都不 ...

  5. C++中swap函数

    本文是我用到swap函数时,对其产生好奇,所以结合网上有关博文写下的.个人水平有限,若有错误的地方,欢迎留言指出.谢谢! 一.通用的函数交换模板 template<class T> voi ...

  6. [LOJ 6159] 最长树链

    看到要求gcd不为1所以肯定在这条答案链上都是一个质数的倍数,所以就会产生一个很暴力的想法 没错,正解就是这样的暴力 只让走是i(素数)倍数的点,作最长链 最长链可以树形dp或两遍bfs,一遍找端点, ...

  7. sed 用法 转https://www.cnblogs.com/Dev0ps/p/8441255.html

    假设文档内容如下: [root@localhost ~]# cat /tmp/input.txt null test 要求:在1111之前添加AAA,方法如下: sed -i 's/指定的字符/要插入 ...

  8. BAT-Python面试题

    Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def fun(a): a = 2 fun(a) print(a) # 1 代码二: a = ...

  9. #define用法详解

    1.#define 的作用 在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”.被定义为“宏”的标识符称为“宏名”.在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去 ...

  10. apt-get update的hit和ign含义

    How do Ign and Hit affect apt-get update? From what I can see in the apt source code, "Ign" ...