Q012 如何搭建基于BASE的可视化入侵检测系统?
在Q009、Q010和Q011这3个问题中,我们已经安装了Snort系统并将报警信息存入数据库。这里将讲解安装BASE(Basic Analysis and Security Engine)的步骤,Barnyard将MySQL中的Snort报警信息通过Web展示的具体原理如图1-6所示。
图1-6 Barnyard存储原理
要将存储在数据库中的日志展现在Web端,需要安装BASE(入侵检测事件展示的前端程序),这里用到的版本是base-1.4.5.tar.gz。既然用到了Web服务,那么首先需要安装好LAMP环境,然后再安装BASE包。此处服务器IP地址为192.168.1.120。具体安装步骤如下。
步骤1.安装httpd、mysql-server、mysql-devel、php、php-mysql、php-mbstring、php-mcrypt。
命令如下所示。
#yum install –y httpd mysql-server php php-mysql php-mbstring php-mcrypt mysql-devel php-gd
步骤2.安装PHP插件(mcrypt、libmcrypt、libmcrypt-devel),命令如下所示。
#yum install –y mcrypt libmcrypt libmcrypt-devel php-pear
更新插件的时间比较长,操作如下所示。
#pear upgrade pear
步骤3.继续执行下列命令。
#pear channel-update pear.php.net
安装Image_Graph-alpha、Image_Canvas-alpha、Image_Color、Numbers_Roman这4个包。
操作如下所示。
#pear channel-update pear.php.net #pear install Image_Graph-alpha Image_Canvas-alpha Image_Color Numbers_Roman
步骤4.安装ADOdb包。
虽然PHP是建构Web系统强有力的工具,但是PHP存取数据库的功能并未标准化,MySQL使用了另一种不同且不兼容的应用程序接口。此时需要使用ADOdb作为中介进行转换。ADOdb的最大优点是不管后端数据库如何,存取数据库的方式都是一致的。目前ADOdb的最新版本是5.20,它支持的数据库种类非常多,例如MySQL、PostgreSQL、Oracle等。下面开始安装ADOdb,首先将adodb520.tar.gz解压到/var/www/html/目录下。
#tar zxvf adodb519.tar.gz –C /var/www/html/
解压后发现增加了一个目录adodb5,将这个目录改名为adodb。
#mv /var/www/html/adodb5 /var/www/html/adodb
步骤5.解压BASE包。
#tar zxvf base-1.4.5.tar.gz –C /var/www/html
解压后发现增加了一个目录base-1.4.5,接着需要对它重命名。
#mv /var/www/html/base-1.4.5/ /var/www/html/base
步骤6.修改PHP配置文件。
#vi /etc/php.ini
将第513行内容改成如下内容。
error_reporting = E_ALL & ~E_NOTICE
修改完毕保存并退出。
步骤7.改变属组并设置权限。
#chown –R apache:apache /var/www/html #chmod -R 755 /var/www/html
步骤8.重启MySQL、Web和防火墙服务。
#service mysqld restart //启动数据库 #service httpd restart //重启Web服务 #service iptables stop //关闭防火墙
步骤9.在Web界面设置BASE。
打开浏览器输入网址http://192.168.1.120/base/setup/index.php,输入完毕后弹出安装界面,如图1-7所示。
图1-7 开始设置BASE
单击Continue按钮,开始选择语言和ADOdb路径,如图1-8所示。
图1-8 设置ADOdb路径
语言项选择中文,ADOdb路径中输入/var/www/html/adodb,单击Continue按钮。接下来输入数据库名称、访问用户名和密码,如图1-9所示。
图1-9 设置数据库
下一步将管理员名称设置为root,密码依然是“123456”,Full Name不必设置,如图1-10所示。
图1-10 设置root密码
下一步开始创建BASE表结构,如图1-11、图1-12所示。
图1-11 准备创建BASE表结构
图1-12 BASE表创建完成
如果看到表acid有创建完成的提示并且BASE tables状态显示为“DONE”,则表示安装完成。单击屏幕最下方的step5…按钮结束安装。在客户机终端命令行中ping主机192.168.1.120,随后就能在BASE界面中收到ICMP报警,如图1-13所示。
图1-13 收到报警
如果在Web的BASE界面中收到ICMP报警,则表明BASE安装设置完成。
步骤10.安装phpMyAdmin。
#yum install phpmyadmin 修改配置文件 #vi /etc/httpd/conf.d/phpMyAdmin.conf 注销第24行的Deny from ALL #service httpd restart 在Web界面下输入用户名snort,密码为123456
如果要删除报警,首先勾选需要删除的报警,然后在“动作”下拉菜单中选择“删除报警”选项,如图1-14所示。
图1-14 删除报警