重力势能 动能 摩擦:ubuntu9.10安装snort

来源:百度文库 编辑:偶看新闻 时间:2024/05/03 03:15:03

系统管理员每天都会检测系统是否运转正常,查看系统日志有没有错误信息报告等等,有时可能会怀疑系统是不是被攻击了,这里我介绍一下Snort入侵检测工具。

Snort可以说是入侵检测软件中比较不错的工具,Snort默认会把信息记录在日志文件中,当然也可以保存在数据库中。

ubuntu系统提供了snort-mysql软件包,可以将Snort的日志保存在Mysql数据库中。当然如果手工查看、分析日志信息比较麻烦,这里需要另一个辅助软件BASE(acidbase软件包),它可以很直观使管理员查看Snort分析的结果。

 

在安装Snort之前,请确认你的系统是否安装了LAMP,如果没有安装的话,请输入以下命令安装:

$  sudo apt-get install mysql-server  libapache2-mod-php5  php5-mysql  libphp-adodb

安装部署Snort工具

1. 安装Snort软件包

$  sudo apt-get install  snort-mysql

在安装过程中会提示以下信息

这时,输入的网卡要与你的现在使用的网卡一致,否则安装不成功,查看你的网卡信息使用命令 $  ifconfig

接下来,选择要监听网络段,比如要监听整个192.168.0.0/16这个网络段,就填写上这个网络段,

最后,提示是否设置数据库,选择“Yes”。

安装结束,会提示以下错误信息

这个错误信息,提示我们还没有为snort配置一个mysql数据库。接下来我们为snort创建一个数据库

2.  创snortdb数据库

 

 进入数据库后,创建数据库名为snortdb

创建一个snort的数据库用户,并设置密码为snortpassword

创建好数据库snortdb以后,我们需要将snort-mysql自带的软件包中附带的sql文件导入到数据库中;

$  cd /usr/share/doc/snort-mysql

$  zcat create_mysql.gz | mysql snortdb  -u snort  -psnortpassword

导入到数据库中以后,可以去snortdb数据库中查看是否导入成功。

如果导入数据完成以后,接着我们需要把/etc/snort/db-pending-config文件删掉,否则snort会认为数据库任然没有准备好。

$  sudo rm /etc/snort/db-pending-config

3. 配置Snort

 上一步配置好了数据库,我们需要配置Snort配置文件(/etc/snort/snort.conf),告诉Snort以后日志写入到Snortdb数据库中.

$  sudo nano  /etc/snort/snort.conf

首先,找到文件中“var HOME_NET  any”一行,将其修改为我们邀监控的网络段,并启用临近下面几行的“var EXTERNAL_NET !$HOME_NET”,如图配置:

 

接着,找到该文件中“output database:log,mysql,”这行,默认它是注释的,如果没有将其注释掉,并在该行的下方填写以下内容,

该设置时将log和alert信息都写入到指定的数据库中。

然后, 检测snort.conf配置文件是否正常:

$  sudo snort -c  /etc/snort/snort.conf

如果出现以上信息,有一个小猪出现,则说明配置成功了,按“Ctrl +C”退出。

最后,我们启动snort:

$  sudo /etc/init.d/snort  start

启动成功以后需要使用

$  ps aux | grep snort

检测是否snort真的启动成功。一般安装我的步骤做的话是不会成功的,因为还有一个文件(/var/log/snort/alert)的所有者没有修改。

$ sudo chown snort  /var/log/snort/alert

再启动snort

$  sudo /etc/init.d/snort  start

通过$  ps aux | grep snort命令,查看是否启动成功。如果没有成功,可以通过/var/log/syslog日志文件查看具体的原因。

这里说一下为什么要先启动一下snort再修改(/var/log/snort/alert文件的所有者,因为默认在/var/log/snort/目录没有alert这个文件,只要通过先启动一下snort就会自动创建一个alert文件。

 

安装、配置BASE

BASE是Basic  Analysis and Security Engine的缩写,意思是“基本分析与安全引擎”。

1. 安装acidbase软件包

$  sudo apt-get install acidbase

在安装过程中,选择mysql数据库,并输入root用户的密码。

在安装acidbase软件包,会安装一个snort数据库,并且snort用户不能登入数据库,提示以下信息

如果出现这种现象,需要按照安装snort第二步中关于创建snortdb数据库,中重新创建snort用户。snort数据库是一个空数据库,可以将snort数据库删掉,我们只需要snortdb数据库。

2. 配置Apache文件

  在配置Apache文件前,处于安全考虑,我们需要先将acidbase的安装目录复制到/var/www目录中,

$  sudo cp -r /usr/share/acidbase/ /var/www/

修改apache配置文件

$  sudo vi /etc/apache2/sites-available/default

在文件的底部,这一行之前,加入acidbase相关的内容:

保存文件,退出后,重新加载apache配置:

$  sudo /etc/init.d/apache2 reload

3.  配置BASE

 首先, 将现有的配置文件改名,否则无法使用web界面配置BASE

$  sudo mv /etc/acidbase/base_conf.php /etc/acidbase/base_conf.php-orig

现在通过浏览器打开http://192.168.0.14/acidbase/ ,开始配置(其中192.168.0.14是系统的ip地址),效果如图:

点击“Continue”,进入Step 1 of 5界面,如图:

选择chinese(繁体中文),不要选择“simplified-chinese”,这个语言文件有问题,估计与acidbase版本有问题。然后输入ADODB的路径“/usr/share/php/adodb”,提交。

进入Step 2 of 5 界面,如图:

输入数据库的信息,包括数据库名、用户名、密码。提交,

进入Step 3 of 5 输入一个用户名密码,用于登录BASE,如图:

提交,进入Step 4 of 5

点击 按钮,在数据库中创建一些BASE用到的表。

如果出现

表示数据表创建成功。点击 进入step 5 of 5,如图:

将生成的配置文件复制下来,并保存

$ sudo  vi  /etc/acidbase/base_conf.php

将代码保存到base_conf.php文件中。

完成以后,可以通过http://192.168.0.1/acidbase/ 如图所示,查看Snort截获的入侵日志

注意:上述安装步骤是在Ubutu Server 9.10版本安装测试的。但在Ubuntu Server 10.04 LTS 版本安装到最后一步,查看入侵的详细内容时,会报以下错误:

PHP Fatal error:  Call to undefined method ProtocolFieldCriteria::ProtocolFieldCriteria() in /var/www/acidbase/includes/base_state_citems.inc.php on line 1034,

错误的原因是Snort在与PHP集成时,因为版本的不同造成的Bug,需要安装最新的Snort版本关于Ubuntu 10.04LTS系统的软件,默认Ubuntu10.04LTS安装的软件还是比较旧的版本。以后有机会在ubuntu10.04LTS测试成功时,再写一个篇关于如何在Ubuntu 10.0LTS系统上安装Snort。