最近研究部署snort3,在网上搜了很多文章,自己也尝试了2天,终于成功了,按照网上的教程去操作总有各种报错,这里结合那些教程的内容,同时修正和添加一些我遇到的错误及解决办法。
一、准备工作
网上的教程分为两大类,使用centos系统和ubuntu系统两种,centos我使用的7.9,没有安装成功;ubuntu使用的是18.04.6,这个不是当前的最新版本,参考别人成功的教程都是使用的这个版本,我个人也在网上搜到过使用20.04成功的视频,我还没尝试过。官方教程有使用centos 8 来部署,我也还没尝试。这里我建议是ubuntu系统,原因是很多需要的包都可以自动下载安装完成,而使用centos7.9时,很多很多包都要自己去找源码安装包,编译安装,找包的过程很繁琐,然后报错,无法进行下去。centos 8我后面会按官方教程尝试一下。
除了操作系统和可以在线安装的软件,需要单独下载的,我这里列出我使用的版本,网上的教程只要时间一久,搜索到的软件都是新版,老版就很难找了。
二、安装过程
这里就不再重复说明,对安装过程中和网上教程不一致及需要特别注意的地方单独说明,补充一些过程截图,其他地方可以参照引用的教程。
特别提醒一点,首先切换到root权限,在实际中我遇到使用sudo也无法安装成功的情况。
1.更新系统
命令如下,由于我已经更新过了,再次执行没有动作。
apt update
apt dist-upgrade -y
2.安装依赖包
这里说明一下网上的教程把pkg-config这个软件名中间的 - 丢了,另外都是在一条命令里安装多个软件,这里也有报错,最后我是一个一个装的。
apt install -y autotools-dev
apt install -y bison
apt install -y build-essential
apt install -y cmake
apt install -y flex
apt install -y libdumbnet-dev
apt install -y libhwloc-dev
apt install -y libluajit-5.1-dev
apt install -y libpcap-dev
apt install -y pkg-config
apt install -y zlib1g-dev
下面这3条可以多个一起安装
apt install -y cpputest liblzma-dev libsqlite3-dev libssl-dev openssl uuid-dev
apt install -y libtool git autoconf
apt install libnetfilter-queue-dev libmnl-dev
3.安装源码包
首先把源码包都上传,由于我没开启root允许远程登录,所以只能上传到普通用户的家目录下。
解压文件命令
tar -xvf 文件名
安装顺序如下
libsafec gperftools ragel //进入文件夹执行命令 ./configure && make && sudo make install
boost---只解压,不需要安装,注意注意
hyperscan---安装步骤单独说明
mkdir build
cd bulid
下面这条命令根据文件所在位置不同需要自己修改,ROOT后面第一个路径是boost的解压后目录,第二个是hyperscan的解压目录,一定根据自己的情况修改。
cmake -DCMAKE_INSTLL_PREFIX=/usr/local -DBOOST_ROOT=/home/shen/boost_1_81_0 /home/shen/hyperscan-5.4.0
make && sudo make install ---执行时间比前面的软件长,耐心等待,我这里10分钟。
安装好之后用./bin/unit-hyperscan可以验证是否成功
flatbuffers---注意安装命令有变化,flatbuffers 和之前./configure && make && sudo make install不同是把./confiure 换成了cmake . //cmake后面还有个点,注意注意
执行make出错
最后看了官网手册,版本编号差的很大,重新下了安装包,和官方手册一致flatbuffers-1.12.tar.gz
cmake ../flatbuffers-1.12.0
make
make install
libdaq---很多教程都写可以从网上下载,官网上也有下载,但是和我用得版本不一致
进入目录下执行
./bootstrap
./configure && make && sudo make install
ldconfig
4.安装SNORT
下载软件源码,记得切换目录
git clone https://github.com/snortadmin/snort3.git
cd snort3
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
运行到这里报错了,这里是网上教程里没提到的
提示缺少libpcre,这里安装一下
目录下执行
./configure && make && sudo make install
然后进入snort3目录下
再次执行
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
执行
cd build
make
出现下面报错
进入报错文件,注意目录是否要修改
vim /home/shen/snort3/src/packet_io/sfdaq_instance.cc
找到239 240行修改 DAQ_CAPA_DECODE_GENEVE为 DAQ_CAPA_DECODE_TEREDO
保存后再次执行
make
make install
ldconfig
查看安装信息
snort -V
到此安装步骤完成,还有部分辅助包没安装,有安装成功的辅助包但是没检测到,没有报错也不清楚原因,下一篇会进行相关配置并测试。
参考相关链接