Snort 它是一个多平台的、实时流量分析的入侵检测系统Snort是一个基于libpcap的数据包嗅探器并可以作为一个轻量级的网络入侵检测系统。

snort有三种工作模式

1、嗅探器

嗅探器模式:是从网络上读取数据包并作为连续不断的流显示在终端上。

2、数据包记录器

数据包记录器:是把数据包记录到硬盘上。

3、网络入侵检测系统。

网路入侵检测:它是可配置的(所以会相对是比较复杂的)。


工作原理:

是因为能够对网络上的数据包进行抓包,但区别于嗅探器的它能够根据自定义规则来进行相应和处理。根据以下的规则有五种响应的机制。

Activation (报警并启动另外一个动态规则链)

Dynamic (由其它的规则包调用)

Alert (报警)

Pass (忽略)

Log (不报警但记录网络流量)


Snort通过在网络TCP/IP5层结构的数据链路层进行抓取网络数据包,抓包时需将网卡设置为混杂模式,根据操作系统的不同采用libpcapwinpcap函数从网络中捕获数据包;然后将捕获的数据包送到包×××进行解码。


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 )_snort

( 如果没有装IDS 的只能依靠路由的基本设置来保护内网 )


linux下的应用:(示例)


IDS入侵检测系统搭建( linux )_snort _02

平台:

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

(也许不久发展还会有 ARPIGRPGREOSPFRIPIPX

如果检测的文件希望记录到数据里面;所以这个入侵检测系统搭建需要安装的软件还是比较多的:

mysqlapachephplibpcaplinux网络数据包捕获函数包)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 安装:

IDS入侵检测系统搭建( linux )_入侵检测系统_03


安装完成开启各种服务,然后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;

在此进行添加表格、每见一个表格、都要添加一个表格的框架;但是呢这里可以直接导入、都是一些创建表格的字段之类的


IDS入侵检测系统搭建( linux )_入侵检测系统_04

导入表格:


IDS入侵检测系统搭建( linux )_snort _05

IDS入侵检测系统搭建( linux )_入侵检测系统_06

chkconfig mysql on

(依然使用chkconfig设置)


然后还希望snort检测的协议数据是需放置在数据库里面的、因此还要安装一个东东:

就是 snort-mysql-2.8.0.1-1.RH5.i386.rpm

( 一个snort与数据库的连接器件 )

vim /etc/snort/snort.conf

IDS入侵检测系统搭建( linux )_snort _07

更改一些量

IDS入侵检测系统搭建( linux )_snort _08

更改完成之后可以再启动snort、(可以做一些细致的命令、做一些详细的截获、挂载规则库、信息输出);然后可以看一下进程、是否已经启动了;

IDS入侵检测系统搭建( linux )_snort _09

或者也可以jobs 进行查看是否正在运行着;


升级安装 pear

( 即:PHP扩展与应用库

pear install --force PEAR-1.8.1 (系统连接到了互联网、直接就可以升级)

pear upgrade pear 然后再更新一次

然后再安装一些模块;(图形化界面的一些模块)

IDS入侵检测系统搭建( linux )_snort _10

安装 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

然后再重新进入这个目录、还需要拷贝一些文件。

IDS入侵检测系统搭建( linux )_入侵检测系统_11


然后/var/www/html/ 更改里面有个 base_conf.php 的配置文件;

更改之前仍需要作下base目录的权限设置:chmod o+w base/

就是这样:

IDS入侵检测系统搭建( linux )_snort _12


(其实这个可以在网页之中直接进行设置、设置之后就形成了这个文件;通过物理访问http://192.168.1.101/base/setup/index.php 在里直接设置 ;但是呢有的可能默认设置的日志几倍太高、所以还需要编辑etc目录下的php.ini更改一下 )

例如这样提示:

IDS入侵检测系统搭建( linux )_入侵检测系统_13

然后就需要 vim /etc/php.ini


IDS入侵检测系统搭建( linux )_入侵检测系统_14

既然这样更改了、就还需要把apache重启而后重新进入:

一共有5部安装;语言设置、adodb路径:

IDS入侵检测系统搭建( linux )_入侵检测系统_15

然后设置一些数据库的相关:


IDS入侵检测系统搭建( linux )_snort _16

界面的管理设置用户与口令:

IDS入侵检测系统搭建( linux )_入侵检测系统_17


接着也就进入了基本的分析与安全引擎:(创建base AG)

IDS入侵检测系统搭建( linux )_snort _18

进入第5部:看到检测的一些协议。

IDS入侵检测系统搭建( linux )_入侵检测系统_19


(当然这个没数据 是因为没运行 )

重新启动、在做个Ping动作,新刷新一下网页:

IDS入侵检测系统搭建( linux )_入侵检测系统_20

或者利用工具做个端口扫描测试:

IDS入侵检测系统搭建( linux )_snort _21

IDS入侵检测系统搭建( linux )_snort _22


以上就是linux环境下 搭建IDS入侵检测系统简要流程。