重力势能 动能 摩擦: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。