Snort 它是一个多平台的、实时流量分析的入侵检测系统。Snort是一个基于libpcap的数据包嗅探器并可以作为一个轻量级的网络入侵检测系统。
snort有三种工作模式:
1、嗅探器
嗅探器模式:是从网络上读取数据包并作为连续不断的流显示在终端上。
2、数据包记录器
数据包记录器:是把数据包记录到硬盘上。
3、网络入侵检测系统。
网路入侵检测:它是可配置的(所以会相对是比较复杂的)。
工作原理:
是因为能够对网络上的数据包进行抓包,但区别于嗅探器的它能够根据自定义规则来进行相应和处理。根据以下的规则有五种响应的机制。
Activation (报警并启动另外一个动态规则链)
Dynamic (由其它的规则包调用)
Alert (报警)
Pass (忽略)
Log (不报警但记录网络流量)
Snort通过在网络TCP/IP的5层结构的数据链路层进行抓取网络数据包,抓包时需将网卡设置为混杂模式,根据操作系统的不同采用libpcap或winpcap函数从网络中捕获数据包;然后将捕获的数据包送到包×××进行解码。
Snort的运行:
主要是通过各插件协同工作才使其功能强大,所以在部署时选择合适的数据库,Web服务器,图形处理程序软件及版本也非常重要。
不足:
Snort之所以说他是轻量型就是说他的功能还不够完善,比如与其它产品产生联动等方面还有待改进;Snort由各功能插件协同工作,安装复杂,各软件插件有时会因版本等问题影响程序运行;Snort对所有流量的数据根据规则进行匹配,有时会产生很多合法程序的误报。
入侵检测系统:IDS
入侵防护系统:IPS
IDS是防护检测、IPS是防护功能;
SessionWall :CA公司出品、图形界面、可以流量和程序全面监控通过报警和阻塞规则进行相应。
RealSecure :ISS RealSecure是一种实时监控软件,它包含控制台、网络引擎和系统代理三个部分组成。RealSecure的模板包括安全事件模板、连接事件模板和用户定义事件模板。
IDS从本质上可以分成两类:网络型IDS(NIDS)和主机型IDS(HIDS)这两种IDS。
基于主机的叫HIDS (软件)snort(用于没有被防火墙检测出来的入侵)。需要安装到被保护的主机、(可以查看流量、日志、用户行为和一些文件)
基于网络的叫NIDS (硬件)神州数码 H3C 都有(硬件产品),安装需要和交换机来结合的;
工作原理:
IDS监听端口:(收集它所关心的报文
特征比较:IDS 提取的流量统计特征值、与特征库比对;
报警:匹配度较高的报文刘来那个将被认为是进攻,IDS将报警。
【信息的收集 --- 分析– 检测是否报警】
基于主机的应用检测;也只装在重要的主机上面。
基于网络的入侵检测:就要部署在网络设备上。
IDS的部署位置(snort):
( 如果没有装IDS 的只能依靠路由的基本设置来保护内网 )
在linux下的应用:(示例)
平台:
Linux5.4
软件包:
adodb514.zip
(一种 PHP 存取数据库的中间函式组件、对php优化的一个数据库支持;)
base-1.4.5.tar.gz
(是一个用来查看Snort IDS告警的Web应用程序)
snort-2.8.0.1-1.RH5.i386.rpm
(入侵检测系统)
snort-mysql-2.8.0.1-1.RH5.i386.rpm
(snort与数据库结合器件)
snortrules-snapshot-2.8.tar.gz
(入侵检测规则库)
安装:
rpm -ivh snort-2.8.0.1-1.RH5.i386.rpm
安装完成就可以直接来用行了;
在终端可直接执行指令:snort –v
如果在外网 ping 的时候、在这里就会有记录显示;(暂停 ctrl+Z )
把这个进程杀掉:pkill -9 snort
然后还可以再使用jobs 查看一下是否被杀掉;
还可以使用 snort -vde (但是并没有MAC地址)
信息记录:snort -vde l ./ &/dev/null & 就可以记录了、
入侵规则库的应用:
cd /etc/snort/rules/ (在这文件夹下)
然后进行规则导入、因为是一个压缩包、直接解压到/etc/snort/目录下就可以了:
tar -zxvf snortrules-snapshot-2.8.tar.gz –C /etc/snort/
导入之后在来到 cd /setc/snort/rules/ 目录下查看;就会有很多规则了。
(软件的版本过旧相对的入侵规则库就很略不同 资源也会显的老旧 尽量随时更新)
规则的下一部分是协议:
Snort当前分析可疑包的ip协议有四种:TCP 、UDP 、ICMP 、IP ;
(也许不久发展还会有 ARP、IGRP、GRE、OSPF、RIP、IPX )
如果检测的文件希望记录到数据里面;所以这个入侵检测系统搭建需要安装的软件还是比较多的:
mysql、apache、php、libpcap(linux下网络数据包捕获函数包)、adodb(可以对数据库优化)、snort(主程序)、base(是基本的分析和安全引擎)、-acid以项目的代码为基础、提供web的前端。
因为安装这些东西也尽可能是使用yum来装:
编辑本地yum:
vim /etc/yum.repos.d/rhel-debuginfo.repo
[rhel-server]
name=Red Haterprise Linux server
baseurl=file:///mnt/cdrom/
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-relase
挂载光盘进行yum安装:
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom/
yum 安装:
安装完成开启各种服务,然后chkconfig设置:
chkconfig httpd on
对于mysql需要设置口令(默认安装时是root用户是没有口令的)
mysqladmin–u root -p password ‘123’
再进一步在数据添加snort的数据库以及表格:
(因为我们期望检测的信息放到mysql数据库里面去、放到什么数据库、还要在进一步的设置)
连接到数据库: mysql -u root -p
create database snort;
(新建snort数据库)
use snort;
( 使用snort数据库 )
show tables;
(在此进行添加表格、每见一个表格、都要添加一个表格的框架;但是呢这里可以直接导入、都是一些创建表格的字段之类的 )
导入表格:
chkconfig mysql on
(依然使用chkconfig设置)
然后还希望snort检测的协议数据是需放置在数据库里面的、因此还要安装一个东东:
就是 snort-mysql-2.8.0.1-1.RH5.i386.rpm 包
( 一个snort与数据库的连接器件 )
vim /etc/snort/snort.conf
更改一些量
更改完成之后可以再启动snort、(可以做一些细致的命令、做一些详细的截获、挂载规则库、信息输出);然后可以看一下进程、是否已经启动了;
或者也可以用jobs 进行查看是否正在运行着;
升级安装 pear
( 即:PHP扩展与应用库 )
pear install --force PEAR-1.8.1 (系统连接到了互联网、直接就可以升级)
pear upgrade pear (然后再更新一次)
然后再安装一些模块;(图形化界面的一些模块)
安装 adodb
adodb514.zip ( 它是用来对php优化的一个数据库支持 )
解压先:unzip adodb514.zip
然后把它也移动到/var/www/html/adodb 这个目录下。
mv adodb5 /var/www/html/adodb ( 便于还可以做名称的更改 )
base 安装
tar -zxvf base-1.4.5.tar.gz -C/var/www/html/
为方便操作可以更改一下名称:以后可以直接访问物理目录http://0.0.0.0/base
mv base-1.4.5/ base
然后再重新进入这个目录、还需要拷贝一些文件。
然后在/var/www/html/ 更改里面有个 base_conf.php 的配置文件;
更改之前仍需要作下base目录的权限设置:chmod o+w base/
就是这样:
(其实这个可以在网页之中直接进行设置、设置之后就形成了这个文件;通过物理访问http://192.168.1.101/base/setup/index.php 在里直接设置 ;但是呢有的可能默认设置的日志几倍太高、所以还需要编辑etc目录下的php.ini更改一下 )
例如这样提示:
然后就需要 vim /etc/php.ini
既然这样更改了、就还需要把apache重启而后重新进入:
一共有5部安装;语言设置、adodb路径:
然后设置一些数据库的相关:
界面的管理设置用户与口令:
接着也就进入了基本的分析与安全引擎:(创建base AG)
进入第5部:看到检测的一些协议。
(当然这个没数据 是因为没运行 )
重新启动、在做个Ping动作,新刷新一下网页:
或者利用工具做个端口扫描测试:
以上就是linux环境下 搭建IDS入侵检测系统简要流程。