张乐文 發表於 2008-10-8 19:36:13

SNORT入侵检测3

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

<br />
頁: [1]
查看完整版本: SNORT入侵检测3