快捷搜索:

LINUX下的IDS测试

//当时做这个实验是为了参加学院举行的门生学术论坛,文章有点长,请提出你的宝贵意见

LINUX下的IDS测尝尝验

2000级谋略机一班:王维

IDS(Instrusion Detection System),也便是大年夜家日常平凡所说的入侵检测系统,广泛的被运用于各类操作系统的安然检测和安然防御,以及探测收集受进击的水平和次数。为今后的收集安然治理供给详确的资料和证据。

因为前提的限定,我们只能够采取SNORT做为本次实验的IDS应用。

Snort的一些功能:

1.实时通讯阐发和信息包记录

2.包装有效载荷反省

3.协议阐发和内容查询匹配

4.探测缓冲溢出、秘密端口扫描、CGI进击、SMB探测、操作系统侵入考试测验

5.对系统日志、指定文件、Unix socket或经由过程Samba的WinPopus 进行实时报警

下面,我将以REDHAT 7.3为例,讲述一个完备的入侵检测系统的调试和测试申报

一,本机情况

OS:REDHAT 7.3

HardWare:CPU:P3 800 .256MB--SDRAM .20G/7200 --HARDDISC

IDS:SNORT-1.9+Libpcap

二.调试措施

首先将在本机情况中安装SNORT。SNORT是一个免费的IDS软件,我们此次将使用他来做系统检测

本机已经得到了SNORT-1.9这个版本。

首先,为了更方便的定制后面的探测规则和调试必要,我们将采取手工编译源文件(scorcus)的措施安装。(版本阐明:SNORT-1.9.0.tar.gz )

本地安装的权限必须是:ROOT。假如不是ROOT。则必须采取SU指令,切换成本地系统治理员|:ROOT

#su

#passwd:奸淫奸淫奸淫奸淫

当确定从ROOT登岸今后,我们必须将源文件开释出来,由于在应用snort的时刻,我们必要Libpcap这个包文件,以是在本机测试前,我们必须包管系统中有Libpcap。假如不清楚localhost是否已经有Libacap的话,可以用下面的指令查询:

$ locate Libacap

假如呈现:

/usr/lib/Libacap.1.9.0

/usr/lib/Libpcap.a

等提示信息的话,证实本机已经有了Libpcap.假如没有任何提示的话,则阐明还没有Libpcap库文件,必要安装。那么进行下列操作:(我获取的Libpcap0.6.2.tar.gz)

cd /usr/src/ids

[root@kykin-L-linux ids]# tar –zxvf libpcap-0.6.2.tar.gz

[root@kykin-L-linux ids]# ls

libpcap-0.6.2libpcap-0.6.2.tar.gzsnort-1.9.0snort-1.9.0.tar.gz

这样的操作,将libpcap完全的开释到了本地文件夹中

继承:

[root@kykin-L-linux ids]# cd libpcap-0.6.2

[root@kykin-L-linux libpcap-0.6.2]# ls

aclocal.m4configure.inlblpcap-enet.cREADME.linux

bpfCREDITSlibpcap.apcap.hsavefile.c

bpf_dump.cCVSLICENSEpcap-int.hsavefile.o

bpf_dump.oetherent.cllc.hpcap-linux.cscanner.c

bpf_filter.cetherent.oMakefilepcap-linux.oscanner.l

bpf_filter.oethertype.hMakefile.inpcap-namedb.hscanner.o

bpf_image.cFILESmkdeppcap-nit.csll.h

bpf_image.ogencode.cnametoaddr.cpcap-nit.hSUNOS4

CHANGESgencode.hnametoaddr.opcap-null.cTODO

config.cachegencode.onetpcap.otokdefs.h

config.guessgrammar.cnlpid.hpcap-pf.cVERSION

config.hgrammar.ooptimize.cpcap-pf.hversion.c

config.h.ingrammar.yoptimize.opcap-snit.cversion.o

config.loginet.cpcap.3pcap-snoop.c

config.statusinet.opcap-bpf.cppp.h

config.subINSTALLpcap.cREADME

configureinstall-shpcap-dlpi.cREADME.aix

这些源文件也便是我们即将进行编译的Libpcap文件,继承:

[root@kykin-L-linuxlibpcap-0.6.2]# ./configure --prefix=/usr/local/libpcap-0.6.2

(这句话的意思是:编译Libpcap文件到/usr/local/libpcap-0.6.2 目录)

[root@kykin-L-linuxlibpcap-0.6.2]# make

[root@kykin-L-linuxlibpcap-0.6.2]# makeinstall

履行完上面的,我们已经完备的将Libpcap安装到了本系统中

下面,我们将完成SNORT的安装和调试

(为了测试的必要,我们不必要把SNORT的日志文件写入本地MYSQL数据库,那么对MYSQL数据库的操作步骤暂时省略)

[root@kykin-L-linux ids]#tar –zxvf snort-1.9.0.tar.gz

[root@kykin-L-linux ids]# cd snort-1.9.0

[root@kykin-L-linux snort-1.9.0]# ls

acconfig.hconfig.h.incontribMakefilesnort.8

aclocal.m4config.logCOPYINGMakefile.amsrc

ChangeLogconfig.statusdocMakefile.instamp-h

config.cacheconfig.subetcmissingstamp-h.in

config.guessconfigureinstall-shmkinstalldirstemplates

config.hconfigure.inLICENSErules

[root@kykin-L-linux snort-1.9.0]# ./configure --prefix=/usr/local/snort19

[root@kykin-L-linux snort-1.9.0]#make

[root@kykin-L-linux snort-1.9.0]#makeinstall

(这几个操作的含义和Libpcap相同)

然后,我们将对SNORT作一系列的调试,使其正常运行,也方便治理

[root@kykin-L-linux snort-1.9.0]# cp etc /usr/local/snort19 –r

(复制当前文件夹下的ETC目录到SNORT19下面)

[root@kykin-L-linux snort-1.9.0]# cp rules /usr/local/snort19 –r

(复制整个规则文件)

[root@kykin-L-linux snort-1.9.0]# cp etc/classification.config /root/

[root@kykin-L-linux snort-1.9.0]# cp etc/snort.conf /root/.snortrc

(将调用的文件属性改动)

做完这一些,我们的事情已经完成了一大年夜部分。下面我们将完成对照紧张的一部分。入侵检测的规则定制

[root@kykin-L-linux snort-1.9.0]#vi /root/.snortrc

# This file contains a sample snort configuration.

# You can take the following steps to create your

# own custom configuration:

#

#1) Set the network variables for your network

#2) Configure preprocessors

#3) Configure output plugins

#4) Customize your rule set

#

###################################################

# Step #1: Set the network variables:

#

# You must change the following variables to reflect

# your local network. The variable is currently

# setup for an RFC 1918 address space.

#

# You can specify it explicitly as:

#

# var HOME_NET 10.1.1.0/24

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

(内容太多,暂时省略)

首先。我们在全部config文件的102行找到:

var RULE_PATH ../rules

这个是本地寄放规则的路径,我们必须根据自己的环境,完备写出来

我的文件是这样的:

var RULE_PATH /usr/local/snort19/rules

然后,在config文件的590行。我们将会望见:

include $RULE_PATH/bad-traffic.rules

从这里开始,不停到后面,便是SNORT的全部规则聚拢。我们必须根据自己的环境作出具体的调试

include $RULE_PATH/bad-traffic.rules

include $RULE_PATH/exploit.rules

include $RULE_PATH/scan.rules

include $RULE_PATH/finger.rules

include $RULE_PATH/ftp.rules

include $RULE_PATH/telnet.rules

include $RULE_PATH/rpc.rules

include $RULE_PATH/rservices.rules

include $RULE_PATH/dos.rules

(文件的内容太多,暂时省略)

你可以针对自己的系统的详细情况做出具体的规则阐明,不必要的规则,就采取#注释的措施往来交往掉落

为了可履行指令:SNORT的方便调用,我们将做出连接阐明

[root@kykin-L-linuxsnort-1.9.0]#ln –s /usr/local/snort19/bin/snort /usr/sbin/snort

然后。我们将建立一个新的目录来寄放SNORT日志文件

[root@kykin-L-linux snort-1.9.0]#cd /var/log

[root@kykin-L-linux snort-1.9.0]#mkdir snort

做完上面的统统,基础上完成了全部IDS的初步设定,下面我们将测试是否成功

[root@kykin-L-linux snort-1.9.0]#snort

Initializing Output Plugins!

Log directory = /var/log/snort

Initializing Network Interface eth0

using config file /root/.snortrc

Initializing Preprocessors!

Initializing Plug-ins!

Parsing Rules file /root/.snortrc

+++++++++++++++++++++++++++++++++++++++++++++++++++

Initializing rule chains...

No arguments to frag2 directive, setting defaults to:

Fragment timeout: 60 seconds

Fragment memory cap: 4194304 bytes<

您可能还会对下面的文章感兴趣: