实验所属系列:入侵检测与入侵防御/防火墙技术
实验对象:本科/专科信息安全专业
相关课程及专业:信息网络安全概论、计算机网络技术
实验时数(学分):4学时
实验类别:实践实验类
1)了解入侵检测系统的基本概念和工作原理。
2)掌握snort入侵检测系统的安装和使用方法。
1)入侵检测系统
入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与其他网络安全设备的不同之处便在于,IDS是一种积极主动的安全防护技术。
2)入侵检测系统的分类及部署
IDS是计算机或网络的监视系统,它通过实时监视系统,一旦发现异常情况就发出警告。IDS入侵检测系统以信息来源的不同和检测方法的差异分为几类:根据信息来源可分为基于主机IDS和基于网络的IDS,根据检测方法又可分为异常入侵检测和滥用入侵检测。
3)不同于防火墙,IDS入侵检测系统是一个监听设备,没有跨接在任何链路上,无须网络流量流经它便可以工作。因此,对IDS的部署,唯一的要求是:IDS应当挂接在所有所关注流量都必须流经的链路上。
安装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
退出mysql
导入文件
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
日志写入
更改的时候,键盘点击i进行更改,点击esc键退出更改
实验步骤二
安装、配置基本分析与安全引擎(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主机进行端口扫描
刷新浏览器页面,就可以看到“端口扫描通信”有数据了,点击进去可以查看详情。(实验时间到了,但这个图可以借助于记忆和理解)
实验报告要求
对实验结果进行分析,完成思考题目,总结实验的心得体会,并提出实验的改进意见。