学习使用suricata
安装suricata
查看suricata的官方文档
在下ubuntu16.04下编译安装:
-必须要的依赖包:
sudo apt-get -y install libpcre3 libpcre3-dbg libpcre3-dev \
build-essential autoconf automake libtool libpcap-dev libnet1-dev \
libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libcap-ng-dev libcap-ng0 \
make libmagic-dev libjansson-dev libjansson4 pkg-config
如果你想支持IPS模式,需要安装如下:
$sudo apt-get -y install libnetfilter-queue-dev libnetfilter-queue1 libnfnetlink-dev libnfnetlink0
我suricata 安装:
VER=4.0.4 # 版本号
wget "http://www.openinfosecfoundation.org/download/suricata-$VER.tar.gz"
tar -xvzf "suricata-$VER.tar.gz"
cd "suricata-$VER"
- 编译和安装
- 如果需要支持readis数据库存储,在下面两条命令末尾添加参数,不需要可无视: –enable-hiredis
- 带有ips功能的编译(和下条命令二选一):
./configure –enable-nfqueue –prefix=/usr –sysconfdir=/etc –localstatedir=/var - 不带有ips功能的编译(和上条 命令二选一):
./configure –prefix=/usr –sysconfdir=/etc –localstatedir=/var
make
sudo make install
sudo ldconfig
-添加配置和规则
make install-confmake install-rules
suricata 配置解读
cd 到suricata配置文件目录: cd /etc/suricata/, 我们会查看到如下4个配置文件 – > classification.config reference.config suricata.yaml threshold.config 和一个rules文件夹。
其中suricata.yaml配置文件非常重要,我们需要修改配置文件:查看配置文件详解
我们可以使用如下命令测试suricata是否正常运行:suricata -T
rules文件夹中的存放的是suricata规则, 支持snort规则格式, 我们来添加一条简单的规则:
$cd rules
$touch test.rules
$vim test.rules --> alert tcp any any -> any any (msg:"get some thing";content:"baidu";nocase;sid:100234;rev:2;)
好了, 我们来运行suricata, 命令中 -s参数是添加额外的规则, -i是添加网卡不是所有人都是eth0, 可以使用ifconfig查看自己的网卡
$ suricata /etc/suricata/suricata.ymal -s /etc/suricata/rules/test.rules -i eth0
启动之后,我们访问下百度, 然后查看suricata日志文件 cd /var/log/suricata/ 目录下面 –> 存在 eve.json, fast.log, stats.log 等文件, 其中有两个重要的文件, eve.json和fast.log;可以分别查看这两个文件的输出
其中eve.json文件中的json数据是可以存在redis数据库当中的哦, 需要将/etc/suricata/suricata.ymal文中 eve-log配置下的redis注释取消如下图所示:
基本的suricata就算是运行成功了
搭建一个(Snorby+Barnyard2+Suricata)的入侵防御系统
参考该篇文章既可以搭建, 但是存在如下问题:
1. 安装时候, 有些包是不存在, 有可能是版本好不存在,将里面的wget的版本号给修改,比如:wget https://www.imagemagick.org/download/ImageMagick-6.9.6-5.tar.gz 并不存在, 将版本号修改成6.9.10-5就可以了,本人亲测,可以在成功。
2. 安装完成后还有一个bug没有解决: 访问snorby dashboard页面的时候没有数据显示,其它的都一切正常。
suricata 规则
suricata 中默认规则使用: Suricata默认规则集的目的与用途