Ubuntu 18.04上使用snort3搭建NIDS(一)| 安装篇

最近学校里做项目要用到snort3,网上找了找教程基本都是snort2.9版本的安装,靠着官网文档加上自己摸爬滚打,最终安装成功了,写篇博客大概记录一下。我用的是Ubuntu18.04.1 LTS版本的系统,其他版本的不保证能成功

这篇博客主要是到成功安装snort3并运行,怎么配置一个入侵检测(防护)系统可以期待后面的内容,等过几天我琢磨明白了再更新

首先确保apt的包都是最新的,不放心的话可以

sudo apt update
sudo apt dist-upgrade -y 

前置要求

接下来安装snort3和DAQ(Data AcQuision library)的前置依赖

sudo apt install -y autotools-dev bison build-essential cmake \ 
	flex libdumbnet-dev  libhwloc-dev libluajit-5.1-dev \ 
	libpcap-dev pkgconfig zlib1g-dev

以及一些可选项(但是官网说是highly recommended,所以我这里是安装了)

sudo apt install -y cpputest liblzma-dev libsqlite3-dev libssl-dev openssl uuid-dev

如果之前没有用过GitHub可能还需要安装libtool git autoconf这三个小工具

因为项目上还要和iptables联动,用到所谓的inline模式,所以需要安装NFQ(NetFilter Queue),如果不需要的话这里可以省略,不过建议安装下,万一以后用到了呢是吧

sudo apt install libnetfilter-queue-dev libmnl-dev

接下来要安装一些工具类的软件,按照官方文档给出的建议,有一部分是可选项但是推荐安装的,我这里就都安装了一下,也非不了多大劲,下载下来./configure && make && sudo make install就ok,下面是安装的软件名和对应的地址,需要的自取

safec https://github.com/rurban.safeclib/releases/download/v04062019/libsafec-04062019-ga99a05.tar.gz
PCRE(Perl Compatible Regular Expressions)
https://ftp.pcre.org.pub/pcre/pcre-8.43.tar.gz
gperftools
https://github.com/gperftools/gperftools/releases/download/gperftools-2.7/gperftools-2.7.tar.gz
ragel
https://www.colm.net/files/ragel/ragel-6.10.tar.gz

按照官方的说法,snort3中用Hyperscan实现快速模式匹配,这个hyperscan还需要安装Ragel还要使用Boost的头文件,ragel在上面给出来了,boost有点特殊。顺带一提,boost看起来很有用的样子

摘自boost官网:
Boost provides a set of free peer-reviewed portable C++ source libraries. It includes libraries for linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions and unit testing.

boost只需要下载解压就可以,并不需要安装,可以直接在官网上下载,点我直达
hyperscan就比较麻烦,因为需要用到boost库提供的头文件

wget https://github.com/intel/hyyperscan/archive/v5.2.0.tar.gz
tar -xvf v5.2.0.tar.gz
mkdir hyperscan-5.2.0-build
cd hyperscan-5.2.0-build/
cmake -DCMAKE_INSTLL_PREFIX=/usr/local -DBOOST_ROOT=your/boost/absolute/path your/hyperscan/source/directory
make 
sudo make install

上面-DBOOST_ROOT后面填入之前解压boost的文件夹,后面一个参数是hyperscan源码的位置,这个make的过程比较漫长,我虚拟机本身也比较慢,大概花了两个小时

(建议出去跑个十公里,回来洗个热水澡,差不多就ok了)
在这里插入图片描述
安装好之后用./bin/unit-hyperscan可以验证是否成功,像这样说明是正常的
在这里插入图片描述
还有一个也是可选项的flatbuffers 和之前./configure && make && sudo make install不同是把./confiure 换成了cmake sourcedirectory

正式安装

首先安装DAQ,这个比较简单,不过注意snort3和snort2.9的DAQ不一样
如果之前装过snort2.9的DAQ这里还要再装一遍

git clone https://github/com/snort3/libdaq.git
cd libdaq ./bootstrap
./configue
make 
sudo make install

sudo ldconfig更新一下共享库,然后就可以开始安装snort3了

git clone git://github.com/snortadmin/snort3.git
cd snort3
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
cd build 
make
sudo make install

运行./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc后出现下面的提示


可以看到之前安装的DAQ, Flatbuffers, Hyperscan, ICONV, LZMA, SafeC, TCMalloc UUID都是ON的状态(如果前面那些可选项没安装这里不会出现)
确定无误后make && sudo make install就行,这里make又是一个漫长的过程。
完成以后可以用snort -V来查看版本,如果出现下面这样的情况说明是安装成功了在这里插入图片描述

发布了5 篇原创文章 · 获赞 5 · 访问量 254

猜你喜欢

转载自blog.csdn.net/qq_42768012/article/details/105351057
今日推荐