1.相关依赖包的编译安装
基本编译工具:
sudo apt-get install make gcc pkg-config
sudo apt-get install libpcre3 libpcre3-dbg libpcre3-dev build-essential libpcap-dev \
libnet1-dev libyaml-0-2 libyaml-dev pkg-config zlib1g zlib1g-dev \
libcap-ng-dev libcap-ng0 make libmagic-dev libjansson-dev \
libnss3-dev libgeoip-dev liblua5.1-dev libhiredis-dev libevent-dev \
python-yaml rustc cargo
配置ips(nfq)需要的工具:
sudo apt-get install libnetfilter-queue-dev libnetfilter-queue1 \
libnetfilter-log-dev libnetfilter-log1 \
libnfnetlink-dev libnfnetlink0
更新:sudo apt-get update sudo apt-get upgrade
##如果安装不了可以一个个单独安装,或者更换apt外部源
2.suricata安装编译(稳定版)
(1)从官网下载
wget http://www.openinfosecfoundation.org/download/suricata-4.1.4.tar.gz
tar -xzvf suricata-4.1.4.tar.gz
cd suricata-4.1.4.tar.gz
./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
sudo make install-rules
sudo make install
相关解释:
#--enable-nfqueue :对于ips模式需要使能nfq
#--prefix=/usr :将Suricata二进制文件安装到/ usr / bin /中
#--sysconfdir=/etc :将Suricata配置文件安装到/ etc / suricata /中
#--localstatedir=/var :设置Suricata用于登录/ var / log / suricata /
#make install-rules :安装suricata提供的规则文件到/etc/suricata/rules目录下
(2)从ubuntu软件源安装(版本可能会老一点,自动编译)
sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update
sudo apt-get install suricata
3.修改配置文件
cd /etc/suricata
sudo chmod 777 suricata.yaml (修改配置文件的权限)
vim suricata.yaml
#第12-46行:全局变量设置
#第55行:默认日志记录路径,修改为“/etc/suricata/log”,同时在/etc/suricata目录下新建log文件夹
#第72-615行:日志记录输出方式配置,不需要的输出方式可以注释(fast是非二进制记录,可以保留)
#第1636-1662行:nfq模式配置,将1636-1644行的注释取消,1637行的Mode后的模式改为“accept”,有三种模式:accept、repeat、route,三种模式的区别详情:https://suricata.readthedocs.io/en/suricata-4.1.4/configuration/suricata-yaml.html#suricata-yaml-nfq
#第1851行:默认规则路径,改为“/etc/suricata/rules”
将rule-files:下一行的规则文件改为" - test.rules",同时,在/etc/suricata/rules目录下打开终端输入“sudo touch test.rules”,作为自定义规则集,suricata的规则详情:https://suricata.readthedocs.io/en/suricata-4.1.4/rules/intro.html
#将1931行的threshold-file取消注释
!!最后记得保存修改的配置文件(ESC——>shift+:——>键入wq)
4.运行suricata的ips模式测试
(1)打开终端,输入"sudo su"以管理员身份运行,输入"suricata -h"查看命令行选项;
(2)输入"suricata --build-info"查看nfq模式是否加载,若加载,"NFQueue support:"后显示“yes”
(3)将修改配置文件步骤中新建的"test.rules"添加一条测试规则"drop icmp any any -> $HOME_NET any (msg:"ping !";sid:100001;rev:1;)"
(4)普通ids模式命令:"suricata -c /etc/suricata/suricata.yaml -i ens33"
(5)ips模式命令:"suricata -c /etc/suricata/suricata.yaml -q 0 --runmod workers",同时,打开另一个终端输入"sudo iptables -I INPUT -j NFQUEUE"、"sudo iptables -I OUTPUT -j NFQUEUE"、"sudo iptables -I FORWARD -j NFQUEUE"
(6)新打开一个终端输入"ping www.baidu.com",不能正常ping通,进入/etc/suricata/log目录下,查看fast.log文件,可以看到日志记录信息
(7)测试完成后,按“ctrl+C”结束进程,显示accept、drop等处理的包数目。