环境为ubuntu16.04虚拟机
从snort官网上下载snort源码,之后需要的daq包以及规则集
wget https://snort.org/downloads/snort/snort-2.9.19.tar.gz
解压文件
tar -zxvf snort-2.9.19.tar.gz
将daq包放在snort-2.9.19文件夹下,进入后
./configure
make
回到snort-2.9.19
sudo apt-get install libpcre++-dev//安装依赖项
./configure
make
在./src目录下有我们的可执行文件snort,可以将它软连接到主目录
sudo ln -s /home/seed/soft/snort-2.9.19/src/snort /home/seed/snort
接下来配置规则集,因为目前所用的还比较简单,目的是先让它跑起来,因此所用的是最基础的规则集
将下载的规则集放到目录./snort-2.9.19下,改名为rules
把./snort-2.9.19/etc目录下的所有config和map文件复制到rules目录下
开始测试snort.conf
sudo ./snort -c /home/seed/soft/snort-2.9.19/rules/snort.conf -v
报错 Could not stat dynamic module path "/usr/local/lib/snort_dynamicrules"
的话就从src目录下找到对应的文件夹软连接到它提示的路径
sudo ln -s /home/seed/soft/snort-2.9.19/src/snort_dynamicpreprocessor /usr/local/lib/snort_dynamicpreprocessor/
接下来这些报错,
Could not stat dynamic module path"/usr/local/lib/snort_dynamicengine/libsf_engine.so": No such file or directory
包括之后提示的缺少各种规则集和预处理器都可以在snort.conf中注释掉,之后如果需要再找相应的文件放进去
接下来会提示缺少/var/log/snort/alert,因为之后提示的警报信息大部分都会存放在这里,创建一个文件夹就好了,alert文件其实之后会自动生成
sudo mkdir /var/log/snort
sudo touch /var/log/snort/alert
之后测试完成,可以使用