欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

SNORT入侵检测3

程序员文章站 2022-05-11 09:38:17
日志信息通常存放在文件中。默认情况下,Snort将这些信息存放在/var/log/snort目录下,但是也可以在启动Snort时用命令行开关来改变这个目录。日志信息可以存储为文本格式或者二进制格... 08-10-08...
日志信息通常存放在文件中。默认情况下,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界面下了。