入侵检测技术及IDS平台的搭建

时间:2024-02-18 20:31:59

入侵检测技术及IDS平台的搭建

由毕业论文引发的一波安全设备的学习。

入侵检测技术

现如今,一台普通的计算机是以安装防火墙的方式来进行访问规则的设置达到防御目的,而对于企业网络来说,这是远远不够的。当入侵者成功地越过防火墙之后,就等于突破了网络安全的第一道防线,这时候如果没有相应的入侵检测系统,将任由入侵者攻击网络。因此,如何通过设计检测系统来提高网络安全就是当今一个研究热点。

那么什么是入侵检测呢?接下来介绍几个基本概念。

IDS(旁路部署)

IDS是英文“Intrusion Detection Systems”的缩写,即“入侵检测系统”。它依照一定的安全策略,通过软、硬件,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果,以保证网络系统资源的机密性、完整性和可用性。做一个形象的比喻:假如防火墙是一幢大楼的门锁,那么IDS就是这幢大楼里的监视系统。一旦小偷爬窗进入大楼,或内部人员有越界行为,只有实时监视系统才能发现情况并发出警告。

与防火墙不同的是,IDS入侵检测系统是一个旁路监听设备,没有也不需要跨接在任何链路上,无须网络流量流经它便可以工作。因此,对IDS的部署的唯一要求是:IDS应当挂接在所有所关注的流量都必须流经的链路上。在这里,“所关注流量”指的是来自高危网络区域的访问流量和需要进行统计、监视的网络报文。

IDS在交换式网络中的位置一般选择为:尽可能靠近攻击源、尽可能靠近受保护资源。如:

  1. 服务器区域的交换机上;

  2. Internet接入路由器之后的第一台交换机上;

  3. 重点保护网段的局域网交换机上

IPS(串行部署)

IPS系统是电脑网络安全设施,是对防病毒软件和防火墙的补充。它是一部能够监视网络或网络设备的网络资料传输行为的计算机网络安全设备,能够即时的中断、调整或隔离一些不正常或是具有伤害性的网络资料传输行为。

对于部署在数据转发路径上的IPS,可以根据预先设定的安全策略,对流经的每个报文进行深度检测(协议分析跟踪、特征匹配、流量统计分析、事件关联分析等),如果一旦发现隐藏于其中网络攻击,可以根据该攻击的威胁级别立即采取抵御措施,这些措施包括(按照处理力度):向管理中心告警;丢弃该报文;切断此次应用会话;切断此次TCP连接。

办公网中,需要在以下区域部署IPS:

  1. 办公网与外部网络的连接部位(入口/出口);

  2. 重要服务器集群前端;

  3. 办公网内部接入层。

  4. 至于其它区域,可以根据实际情况与重要程度,酌情部署。

二者有什么区别呢?

A、IPS对于初始者来说,是位于防火墙和网络设备之间的设备。这样,如果检测到攻击,IPS会在这种攻击扩散到网络的其它地方之前阻止这个恶意的通信。而IDS只是存在于你的网络之外起到报警的作用,而不是在你的网络前面起到防御的作用。

B、IPS具有检测已知和未知攻击并具有成功防止攻击的能力而IDS没有

C、IDS的局限性是不能反击网络攻击,因为IDS传感器基于数据包嗅探技术,只能眼睁睁地看着网络信息流过。IPS可执行IDS相同的分析,因为他们可以插入网内,装在网络组件之间,而且他们可以阻止恶意活动

IDS的分类

按入侵检测的手段,IDS的入侵检测模型可分为基于网络和基于主机两种。

1、基于主机的 IDS 基于主机的入侵检测,不能够在攻击发生的时候及时捕捉到攻击信息,因为这类模型检测的对象是系统的日志以及审计记录等,这种数据并不具备实时性,这些信息的生成发生在入侵之后,所以不能够主动获取到攻击前或者攻击时的信息,本质上这类IDS管理系统更像防护软件。

2、基于网络的 IDS NIDS一般部署在系统防火墙之后,作为防火墙被突破后下一道安全防护措施。它的原理是对数据包的分析,通过分析结果判断是否存在网络攻击等行为。

本文主要分析NIDS。

入侵检测平台的搭建

· 操作系统:ubuntu18.04

· 安装 LAMP:

1、安装 Apache2   apt install apache2 -y

2、安装 MySQL  apt install mysql-server libmysqlclient-dev mysql-client autoconf libtool -y

3、安装 PHP5 及插件

4、测试 php :

在网站根目录下新建一个info.php ,写入如下内容;保存并退出。

浏览 http://IP/info.php ,显示 phpinfo 页面,说明 PHP 正常工作。

· 安装 snort

1、安装 DAQ-2.0.6 (数据采集)

2、安装 snort-2.9.12 ,解压编译

3、测试 snort 是否安装成功  snort -V

4、配置用户和目录

 

5、修改配置文件

 

 

6、添加规则

 

 

检查规则

在规则中添加一条对 ICMP包 检测的规则,以便测试

设置 sid 对应信息,添加 sid-msg 文件

· 安装 Barnyard2 (作为外部代理将 snort 报警输出到 Barnyard2)

1、安装 Barnyard2,解压编译

2、测试  barnyard2 -V

3、设置配置文件

4、配置数据库

5、添加数据库配置

在末尾处添加

修改 barnyard2.conf 的权限,防止被修改

· 安装 Base (数据库信息可视化)

1、安装 ADOdb

2、安装 Base

3、配置

修改 /etc/php/5.6/apache2/php.ini

重启 apache2 使配置生效

设置目录权限

4、打开 http://IP/base/setup/index.php 安装 Base

 

设置页面中,最好每一项都为绿色,表示通过。这里显示 Web 服务器对 BASE 的安装目录不可写。按照提示,可以在设置完成后创建 base_conf.php。

点击 Continue,跟着导引一步步完成设置。

第 1 步:选择语言 simplified_chinese ,填写 ADOdb 所在目录 /var/www/html/adodb 。

第 2 步:填入数据库的信息,按之前配置的信息填即可(Archive 数据库的信息可以不填)。

第 3 步:填入管理账号:snort,密码:123456。

第 4 步:创建数据表。

第 5 步:提示将显示的信息复制到 /var/www/html/base/base_conf.php 中。

完成设置后,显示如下页面,代表 BASE 安装成功,可以看到 MySQL 中的数据。

平台演示

关闭防火墙并查看防火墙状态

运行snort对于主机网卡进行监听

 

开启barnyard2外部代理将snort中的报警输出到Barnyard2,并设置 barnyard2.waldo为书签

用攻击机ping IDS所在的主机IP

可以看到终端中已经显示出ping命令的告警信息

这时访问入侵检测平台IDS,它已经将我们的ping命令的alert信息显示在平台的可视化窗口