实验十六:网络入侵检测系统(IDS)的安装部署
一、实验目的及要求
1)了解入侵检测系统的基本概念和工作原理。
2)掌握snort入侵检测系统的安装和使用方法。
二、实验原理
1)入侵检测系统
入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与其他网络安全设备的不同之处便在于,IDS是一种积极主动的安全防护技术。
2)入侵检测系统的分类及部署
IDS是计算机或网络的监视系统,它通过实时监视系统,一旦发现异常情况就发出警告。IDS入侵检测系统以信息来源的不同和检测方法的差异分为几类:根据信息来源可分为基于主机IDS和基于网络的IDS,根据检测方法又可分为异常入侵检测和滥用入侵检测。
3)不同于防火墙,IDS入侵检测系统是一个监听设备,
没有跨接在任何链路上,无须网络流量流经它便可以工作。因此,对IDS的部署,唯一的要求是:IDS应当挂接在所有所关注流量都必须流经的链路上。
三、实验环境
Windows
四、实验步骤及内容
实验步骤一
安装snort入侵检测系统
1、登录ids系统
登录实验机后,打开桌面上的putty程序,输入10.1.1.106,再点击Open.。
输入用户名:root,密码:bjhit
2、安装LAMP环境(省略)
在putty里面输入如下命令进行安装
apt-get install mysql-server libapache2-mod-php5 php5-mysql libphp-adodb
这里给mysql的root用户,设置的密码是123456。
3、安装snort软件包(已安装)
#apt-get install snort-mysql
在安装过程中会提示下图所示信息。(这里是填写监听的网段)
4、创建snortdb数据库
root@IDS:~# mysql -u root -p123456 #登录mysql
进入数据库后,创建一个数据库命名为snortdb。
mysql> create database snortdb;
mysql> grant create, insert, select, update on snortdb.* to snort@localhost;
mysql> set password for snort@localhost=password('snortpassword');
创建一个数据库用户,用户名为snort,密码为snortpassword。
将snort-mysql自带的软件包中附带的sql文件,导入到数据库中。
# cd /usr/share/doc/snort-mysql/
# zcat create_mysql.gz | mysql snortdb -u snort -psnortpassword
# rm /etc/snort/db-pending-config
5、配置snort
配置好了数据库后,需要配置Snort配置文件(/etc/snort/snort.conf),告诉snort以后
日志写入到snortdb数据库中。
# vi /etc/snort/snort.conf
找到文件中“var HOME_NET any”一行,将其修改为要监控的网络段,
并启用下面几行,如下:
#var HOME_NET any
var HOME_NET 10.1.1.0/24
#
#var HOME_NET any
# Set up the external network addresses as well. A good start may be "any"
#var EXTERNAL_NET any
var EXTERNAL_NET !$HOME_NET
--------------------
# output database: log, mysql, user=root password=test dbname=db host=localhost
output database: log, mysql, user=snort password=snortpassword dbname=snortdb host=localhost
检测snort.conf配置文件是否正常:
# snort -c /etc/snort/snort.conf
出现了小猪猪,就说明成功了,按Ctrl+C停止掉
启动snort:
# service snort start
实验步骤二
安装、配置基本分析与安全引擎(BASE)
1、安装acidbase软件包(已安装)
apt-get update 更新源列表
apt-get install acidbase
这里选择mysql,前面还有两个对话框,一个是ok,
一个是yes,我这里就没截图了。
这里密码都输入123456,要输入几次。
这里需重新创建snort用户
mysql -u root -p123456
mysql> grant create, insert, select, update on snortdb.* to snort@localhost;
mysql> set password for snort@localhost=password('snortpassword');
2、配置Apache文件
将acidbase的安装目录复制到/var/www目录中
# cp -r /usr/share/acidbase/ /var/www/
修改apache配置文件:(如下图)
vi /etc/apache2/sites-available/default
在文件底部</VirtualHost>一行之前加入acidbase相关内容(上图红框框部分)
配置好了后,需要重启apache2
# service apache2 restart
修改php.ini文件
vi /etc/php5/apache2/php.ini
将acidbase目录的权限设置为777
chmod 777 -R /var/www/*
3、配置BASE
将现有的配置文件改名,否则无法使用web界面配置base。
# mv /etc/acidbase/base_conf.php /etc/acidbase/base_conf.php-orig
还有软链接文件
#rm /var/www/acidbase/base_conf.php
现在通过浏览器打开 http://10.1.1.106/acidbase/
开始配置我们的基本安全分析引擎了。
打开上面的网址,出现了如下界面:
单击Continue按钮,进入Step1of5界面,如下图所示:
这里我选择的是简体中文
输入ADODB的路径“/usr/share/php/adodb”,单击提交按钮。
提醒:这里ADODB的路径,可以用如下命令去搜索
find / -name adodb
提交后,进入了Step 2 of 5界面,如下图所示:
输入数据库信息,Pick a Database type:MySQL,Database Name:snortdb,Database Host:127.0.0.1,Database User Name:snort,Database Password:snortpassword
单击下面的提交按钮进入Step 3 of 5,如下图所示:
设置用户名和密码
单击提交按钮,进入Step 4 of 5界面,如下图所示:
单击上图红框框部分,在数据库中创建BASE用到的表。
如果出现:
Successfully created 'acid_ag'
Successfully created 'acid_ag_alert'
Successfully created 'acid_ip_cache'
Successfully created 'acid_event'
Successfully created 'base_roles'
Successfully INSERTED Admin role
Successfully INSERTED Authenticated User role
Successfully INSERTED Anonymous User role
Successfully INSERTED Alert Group Editor role
Successfully created 'base_users'
表示数据表创建成功,单击Now continue to step 5,进入管理界面,如下图:
实验步骤三
使用基本安全分析引擎查看入侵日志
1、使用nmap对ids主机进行端口扫描
使用桌面上的nmap对ids主机进行端口扫描
刷新浏览器页面,就可以看到“端口扫描通信”有数据了,点击进去可以查看详情。
五、实验总结
这个实验做起来是比较复杂的,而且环境老是出错,输入命令很多,必须要配置正确,仔细检查命令。通过这次实验对于入侵检测系统有了深入了解,IDS是计算机或网络的监视系统,发现异常发出警告。同时掌握了snort入侵检测系统的安装和方法。并对
六、分析与思考
把你在安装,以及使用过程中所碰到的问题记录下来,并说明你是如何解决这些问题的。
总的来说这个相当的复杂,需要安装很多环境和软件,环境配置上命令也多,输入难免有错误,查询文件时没有内容,退出重来,将一切环境配置好后,发现网站报错,apache没有配置好,又重新配置了一遍,终于成功进入网站,创建基本数据表。然后使用安全分析查看日志,就可以监测到数据了。