日志信息通常存放在文件中。默认情况下,Snort将这些信息存放在/var/log/snort目录下,但是也可以在启动Snort时用命令行开关来改变这个目录。日志信息可以存储为文本格式或者二进制格式,二进制格式的文件可以供Snort或者Tcpdump随后访问。Barnyard工具可以分析Snort产生的二进制日志文件。将日志存放为二进制文件可以有更高的效率,因为这种格式开销相对较低。将Snort应用在高速网络环境中,将日志存放为二进制文件是非常必要的。
引言:
snort的输出插件最常用的方法一是将警报(例如告警和其他日志消息)记录到数据库中。MySQL用作存储所有这些数据的数据库引擎。利用ACID及Apache (http://www.apache.com)Web服务器,我们可以分析这些数据。Snort、Apache、MySQL及ACID的共同协作,使我们可以将入侵检测数据记录到数据库,然后用web界面察看和分析这些数据。
另外一种就是用外部代理将警报输出到Barnyard,这需要snort采用统一格式进行输出。
第一种会产生一个主要的输出瓶劲。。。。
这样snort就可以尽可能地处理数据流并产生警报
Barnyard安装:
#./configure --enable-mysql --with-mysql-includes=/usr/local/mysql/include/mysql
--with-mysql-libraries=/usr/local/mysql/lib/mysql
#make
#make install
cp etc/barnyard.conf /etc/.
目的:
snort的输出不直接输出到数据库,而是输出到Unfied的统一格式,这样可以加快snort的处理数据流。
修改/etc/barnyard.conf配置文件:
config interface: eth0
支持acid的数据库输出:
output alert_acid_db: mysql, database snort, server localhost, user root, password admin,detail full
output log_acid_db: mysql, database snort_archieve, server localhost, user root, password admin,detail full
修改:/etc/snort/snort.conf
output alert_unified: filename /var/log/snort/snort.alert, limit 128
output log_unified: filename /var/log/snort/snort.log, limit 128
这样,可以加快snort的速度
执行模式有单步,连续,检验指示的连续方式
如:下面这种就是连续方式把统一日志文件输出到插件
#barnyard -c /etc/barnyard.conf -d /var/log/snort
-s /etc/snort/sid-msg.map -g /etc/snort/gen-msg.map
-p /etc/snort/classification.config -f snort.alert
参数含义:
-c /etc/barnyard.conf barnyard的配置文件位置
-d /var/log/snort snort的ubfied统一格式文件的位置
-s /etc/snort/sid-msg.map 告诉sid-msg.map文件的位置,文件sid-msg.map 包含一个从msg标签到snort规则ID的映射。
-g /etc/snort/gen-msg.map 告诉gen-msg.map文件的位置,注意gen-msg.map在snort的安装程序的etc目录下
-p /etc/snort/classification.config 告诉classification.config文件的位置,该文件定义规则类
-f snort.alert 告诉barnyard以连续方式运行时需要的Unfied统一文件的基本名字。snort在产生的文件后面会自动加一个unix时间的时间戳,基本名字就是去掉时间戳的文件名
这样就可以连续实现把unfied的文件输出到插件,本例也就是输出到acid数据库中
如果是单步模式
#barnyard -o -c /etc/barnyard.conf -d /var/log/snort
-s /etc/snort/sid-msg.map -g /etc/snort/gen-msg.map
-p /etc/snort/classification.config -f snort.alert.时间戳
加参数-d是后台运行的意思,这样写到acid的数据库后,执行完就回到shell界面下了。