1 安装
sudo apt install snort
经历了复杂的先下载snort再下载bison、flex再安装等一系列充满bug的过程后,发现了一句话解决之道,轻松而愉快。
后续查了一下二者的区别,果然有些道理:使用源码下载会比较复杂,但是文档齐全,debug方便一些,适合有经验的人有需要的宝宝,使用包管理器比较方便,在软件来源有保证的情况下比较好,适合新手和没有对软件包做调整的需要的宝宝。
2 配置
到官网按照版本下载,我的是2.9。然后启用snort.conf中的规则,最后一步检验配置文件。
wget https://www.snort.org/downloads/community/community-rules.tar.gz
tar -xzf community-rules.tar.gz
cp community-rules/* /etc/snort/rules/
snort -T -c /etc/snort/snort.conf
3 简单操作
嗅探器和数据包记录器
sudo snort -v #打印TCP/IP的包头信息
sudo snort -dev -l ./log #将抓取到的包头信息、应用层信息存到到log目录下
sudo snort -dev -l ./log -h 192.168.1.0/24 #指定IP地址
sudo snort -dv -r packet.log #将日志内容打印至屏幕
入侵检测模式
sudo snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf
在正确运行这个命令之前,遇到了一些路径问题,以下这些:
ERROR: snort.conf(246) Could not stat dynamic module path "/usr/local/lib/snort_dynamicengine/libsf_engine.so": No such file or directory.
ERROR: snort.conf(249) Could not stat dynamic module path "/usr/local/lib/snort_dynamicrules": No such file or directory.
ERROR: ./classification.config(0) Unable to open rules file "./classification.config": No such file or directory.
应该是安装snort用了apt install导致的,可以按照文件夹查找一下路径,我的这些文件都在/usr/lib/snort里面,拷贝一下就可以了。顺便:运行目录/etc/snort。
-A可以设置报警机制 fast, full, console, test or none , 使用-s选项可以使snort把报警消息发送到syslog。等等可以snort -h进行学习。