一、部署PF_RING
step1:安装依赖
[root@localhost ~]# yum install -y flex bison kernel-devel kernel-headers gcc gcc-c++ make wget
[root@localhost ~]# git clone https://github.com/ntop/PF_RING.git
[root@localhost ~]# cd PF_RING/
[root@localhost PF_RING]# make
[root@localhost PF_RING]# cd kernel
[root@localhost kernel]# make
[root@localhost kernel]# make install
stpe2:加载模块
[root@localhost kernel]# insmod pf_ring.ko
[root@localhost kernel]# cd ../userland/lib
[root@localhost lib]# ./configure
[root@localhost lib]# make
[root@localhost lib]# make install
[root@localhost lib]# cd ../libpcap
[root@localhost libpcap]# ./configure
[root@localhost libpcap]#
[root@localhost libpcap]# make install
stpe3:验证
[root@localhost libpcap]# cd ../examples
[root@localhost examples]# make
[root@localhost examples]# ./pfcount -i ens33
step4:检查模块
[root@localhost examples]# modinfo pf_ring
二、部署hyperscan
step1:安装LuaJIT
[root@NIDS ~]# wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz
[root@NIDS ~]# tar zxvf LuaJIT-2.0.4.tar.gz
[root@NIDS ~]# cd LuaJIT-2.0.4
[root@NIDS LuaJIT-2.0.4]# make
[root@NIDS LuaJIT-2.0.4]# make install
step2:安装依赖
[root@NIDS]# yum install -y libpcap zlib libyaml libpcap-devel jansson-devel pcre-devel lua-devel libmaxminddb-devel epel-release libnetfilter_queue-devel nss-devel libyaml-devel zlib-devel luajit-devel rustc cargo
[root@NIDS ~]# yum install -y rustc cargo
step3:安装hyperscan
[root@NIDS ~]# yum install cmake ragel libtool python-devel GyeoIP-devel -y
[root@NIDS ~]# yum install boost boost-devel boost-doc -y
[root@NIDS ~]# yum install libquadmath libquadmath-devel bzip2-devel -y
[root@NIDS ~]# wget https://jaist.dl.sourceforge.net/project/boost/boost/1.76.0/boost_1_76_0.tar.gz
[root@NIDS ~]# tar zxvf boost_1_76_0.tar.gz
[root@NIDS ~]# cd boost_1_76_0
[root@NIDS boost_1_76_0]# ./bootstrap.sh --prefix=/tmp/boots-1.76
[root@NIDS boost_1_76_0]# ./b2 install
[root@NIDS ~]# git clone https://github.com/intel/hyperscan.git
[root@NIDS ~]# mkdir build
[root@NIDS ~]# cd build/
[root@NIDS build]# cmake -DBUILD_STATIC_AND_SHARED=1 -DBOOST_ROOT=/tmp/boots-1.76 ../hyperscan
[root@NIDS build]# make
[root@NIDS build]# make install
[root@NIDS build]# vim /etc/ld.so.conf
增加
/usr/local/lib64
[root@NIDS build]# ldconfig
step4:安装suricata
[root@NIDS ~]# wget https://www.openinfosecfoundation.org/download/suricata-6.0.15.tar.gz
[root@NIDS ~]# tar zxvf suricata-6.0.15.tar.gz
[root@NIDS ~]# cd suricata-6.0.15
[root@NIDS suricata-6.0.15]# LIBS="-lrt" ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-pfring --with-libpfring-includes=/usr/local/pfring/include --with-libpfring-libraries=/usr/local/pfring/lib --enable-geoip --enable-luajit --with-libluajit-includes=/usr/local/include/luajit-2.0/ --with-libluajit-libraries=/usr/local/lib/ --with-libhs-includes=/usr/local/include/hs/ --with-libhs-libraries=/usr/local/lib/ --enable-profiling --enable-nfqueue
[root@NIDS suricata-6.0.15]# make
[root@NIDS suricata-6.0.15]# make install
[root@NIDS suricata-6.0.15]# ldconfig
[root@NIDS suricata-6.0.15]# make install-conf
[root@NIDS suricata-6.0.15]# vim /etc/ld.so.conf
增加一行
/usr/local/lib
[root@NIDS suricata-6.0.15]# ldconfig
安装规则文件
[root@NIDS ~]# yum install -y python3-pip
[root@NIDS ~]# python3 -m pip install --upgrade suricata-update
[root@NIDS ~]# suricata-update
[root@NIDS suricata-6.0.15]# make install-rules
[root@NIDS ~]# suricata --build-info
以PF_RING模式运行
[root@NIDS suricata-6.0.15]# suricata --pfring-int=ens33 --pfring-cluster-id=99 --pfring-cluster-type=cluster_flow -c /etc/suricata/suricata.yaml
[root@NIDS ~]# cat /proc/net/pf_ring/info