网络入侵检测系统(IDS)的安装部署

 预备知识

1)入侵检测系统

      入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与其他网络安全设备的不同之处便在于,IDS是一种积极主动的安全防护技术。

2)入侵检测系统的分类及部署

      IDS是计算机或网络的监视系统,它通过实时监视系统,一旦发现异常情况就发出警告。IDS入侵检测系统以信息来源的不同和检测方法的差异分为几类:根据信息来源可分为基于主机IDS和基于网络的IDS,根据检测方法又可分为异常入侵检测和滥用入侵检测。

3)不同于防火墙,IDS入侵检测系统是一个监听设备,没有跨接在任何链路上,无须网络流量流经它便可以工作。因此,对IDS的部署,唯一的要求是:IDS应当挂接在所有所关注流量都必须流经的链路上。

实验目的

1)了解入侵检测系统的基本概念和工作原理。

2)掌握snort入侵检测系统的安装和使用方法。

步骤一

安装snort入侵检测系统

1、登录ids系统

      登录实验机后,打开桌面上的putty程序,输入10.1.1.106,再点击Open.。

      输入用户名:root,密码:bjhit

 

网络入侵检测系统(IDS)的安装部署_数据库

 

 网络入侵检测系统(IDS)的安装部署_apache_02

 

 

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

      在安装过程中会提示下图所示信息。(这里是填写监听的网段)

 

      网络入侵检测系统(IDS)的安装部署_apache_03

 

      网络入侵检测系统(IDS)的安装部署_php_04

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

网络入侵检测系统(IDS)的安装部署_php_05

 

 网络入侵检测系统(IDS)的安装部署_apache_06

 

 

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

网络入侵检测系统(IDS)的安装部署_mysql_07

 

 

出现了小猪猪,就说明成功了,按Ctrl+C停止掉。

      启动snort:

      # service snort start

步骤二

安装、配置基本分析与安全引擎(BASE)

1、安装acidbase软件包(已安装)

      apt-get update 更新源列表

      apt-get install acidbase

      网络入侵检测系统(IDS)的安装部署_php_08

      这里选择mysql,前面还有两个对话框,一个是ok,

      一个是yes,我这里就没截图了。

      网络入侵检测系统(IDS)的安装部署_数据库_09

      这里密码都输入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

网络入侵检测系统(IDS)的安装部署_php_10

 

 网络入侵检测系统(IDS)的安装部署_apache_11

 

 网络入侵检测系统(IDS)的安装部署_php_12

 

 

在文件底部</VirtualHost>一行之前加入acidbase相关内容(上图红框框部分)

      配置好了后,需要重启apache2

      # service apache2 restart

网络入侵检测系统(IDS)的安装部署_数据库_13

 

     修改php.ini文件

      vi /etc/php5/apache2/php.ini

网络入侵检测系统(IDS)的安装部署_apache_14

 

 

将acidbase目录的权限设置为777

      chmod 777 -R /var/www/*

网络入侵检测系统(IDS)的安装部署_数据库_15

3、配置BASE

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

      # mv /etc/acidbase/base_conf.php /etc/acidbase/base_conf.php-orig

网络入侵检测系统(IDS)的安装部署_apache_16

 

 

 

 

      还有软链接文件

      #rm /var/www/acidbase/base_conf.php

网络入侵检测系统(IDS)的安装部署_php_17

 

  现在通过浏览器打开 http://10.1.1.106/acidbase/

      开始配置我们的基本安全分析引擎了。

      打开上面的网址,出现了如下界面:

网络入侵检测系统(IDS)的安装部署_mysql_18

 

  单击Continue按钮,进入Step1of5界面,如下图所示:

网络入侵检测系统(IDS)的安装部署_数据库_19

 

 

这里我选择的是简体中文

      输入ADODB的路径“/usr/share/php/adodb”,单击提交按钮。

      提醒:这里ADODB的路径,可以用如下命令去搜索

      find / -name adodb

      提交后,进入了Step 2 of 5界面,如下图所示:

网络入侵检测系统(IDS)的安装部署_apache_20

 

 

输入数据库信息,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,如下图所示:

网络入侵检测系统(IDS)的安装部署_php_21

 

 

设置用户名和密码

      单击提交按钮,进入Step 4 of 5界面,如下图所示:

网络入侵检测系统(IDS)的安装部署_apache_22

 

 

单击上图红框框部分,在数据库中创建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,进入管理界面,如下图:

网络入侵检测系统(IDS)的安装部署_mysql_23

 

 网络入侵检测系统(IDS)的安装部署_php_24

 

 步骤三

使用基本安全分析引擎查看入侵日志

      1、使用nmap对ids主机进行端口扫描

      使用桌面上的nmap对ids主机进行端口扫描

网络入侵检测系统(IDS)的安装部署_php_25

 

 刷新浏览器页面,就可以看到“端口扫描通信”有数据了,点击进去可以查看详情。网络入侵检测系统(IDS)的安装部署_apache_26

 

 通过这次实验,我了解了入侵检测系统的基本概念和工作原理,掌握了snort入侵检测系统的安装和使用方法。



 

 

 

网络入侵检测系统(IDS)的安装部署_数据库_27