Linux下snort的安装配置及体验


这段时间一直都在研究snort,很优秀的一个东东。将学习的一点点经验贴出来,一来能为自己作一些积累,二则或许还能给你带来方便,仅此足以~

实验环境:

1.RedHat Linux 9操作系统。确定已经安装了libpcap工具,若不能确定,用下面的命令:

rpm -q libpcap

若看见类似"libpcap-0.7.2-1"的消息说明已经安装了libpcap;反之,请访问http://sourceforge.net/projects/libpcap,下载最新发布版本安装它。若不想源码安装,您也可以访问http://www.rpmfind.net,下载最新的RPM包安装。

2.下载snort源码压缩包:snort-2.6.0.2.tar.gz (http://www.snort.org/)

下载snort最新规则库:snortrules-snapshot-CURRENT.tar.gz (需注册后才能获得)

一、Snort的安装:

1. tar –zxf snort-2.6.0.2.tar.gz

2. cd snort-2.6.0.2

3. ./configure –with-mysql --enable-dynamicplugin

4. make && make install

5. cd etc

6. mkdir /etc/snort

7. cp *.map *.config /etc/snort/

8. tar –zxf snortrules-snapshot-CURRENT.tar.gz –C /etc/snort/

二、配置Snort:

修改Snort配置文件,用vi打开/etc/snort/snort.conf,修改如下行为:

var HOME_NET 192.168.8.129

var RULE_PATH /etc/snort/rules

三、Snort体验:

Snort的工作方式有三种:嗅探器、数据包记录器、网络入侵检测系统。前两种较为简单一些,在这不说了。关键是第三种,涉及到配置文件,要复杂的多。既然是入侵检测系统,肯定是有报警之类的东西出来的。一般是保存在/var/log/snort/alert文件中,当然利用-l选项也可改变日志的输出文件。Snort的报警有6种输出模式:full、fast、unit sockect、syslog、smb和none。有4种可以用命令-A选项来控制。

-A full:是默认的报警模式。

-A fast:报警信息包括:一个时间戳(timestamp)、报警消息、源/目的IP地址和端口。

-A unsock:把报警发送到一个UNIX套接字,需要有一个程序进行监听,这样可以实现实时报警。套解口捆绑的路径名为/var/log/snort/snort_alert。需进一步对报警进行处理是此选项非常有用:)

-A none:关闭报警机制。

smb模式发送WinPopup消息。(在运行./configure脚本时,必须使用--enable-smbalerts选项)使用-s选项可以使snort把报警消息发送到syslog,默认的文件输出是/var/log/messages。

要使snort以网络入侵检测系统的方式运行必须加上-c /etc/snort/snort.conf选项。

很多日志插件都可以用于Snort,Database就是一个非常流行的输出插件,它允许把数据写入到下列数据库中:MySQL, PostgreSQL, unixODBC, Oracle和MS-SQL Server。这里主要说一下利用mysql记录报警的配置,其它数据库类似。

首先必须建立mysql数据库:

1、在snort-2.6.0.2/schemas/目录下找到文件create_mysql,编辑它在文件开始处加上如下两行:

creat database snort;

use snort;

2、用下面的命令运行:

mysql -u root

相关内容