利用开源Snort软件在Windows平台搭建IDS入侵检测系统

IDS从本质上可以分成两类:网络型IDS(NIDS)和主机型IDS(HIDS).这两种IDS

Snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。

1、实验目的

通过本章学习后了解IDS的相关知识,并且能熟练的架设Snort

2、实验环境

工作平台:VMwareworkstation虚拟机

服务平台:Windows 2003(安装Snort

辅助平台: Windows XP(利用各种入侵技术测试Snort

3、步骤一瞥

l安装Apache服务器

n步骤1Apache

n步骤2测试Apache

l安装PHP语言

n步骤1安装PHP

n步骤2步骤3 配置ApachePHP的支持

l安装Winpcap网络驱动

n步骤1安装Winpcap

l安装Snort入侵检测系统

n步骤1安装Snort入侵检测

n步骤2测试Snort安装

l安装Mysql数据库

n步骤1安装Mysql数据库

n步骤2创建Snort相关数据库

l安装 adodb组件

n步骤1安装Adodb组件

l安装 jgraph组件

n步骤1安装Jgraph组件

l安装 acid

n步骤1安装Acid组件

l加入Snort规则

n步骤1 加入Snort规则

l最后测试

n步骤1 利用各种入侵技术对Snort进行测试

n步骤2 在控制台进行查看记录

n步骤3 创建snort和控制台桌面快捷方式

4、操作过程与步骤

计划把所有的软件包安装到 c:\ids 文件夹,所以首先在C盘下创建ids文件夹内


1、安装Apache服务器

为了保证Apache能够正常的安装与运行,在安装前应先把IIS的服务关闭,以免造成端口冲突,确保IIS服务已经禁用和关闭自启动。

154612617.jpg

IIS服务关了后,就可以正常安装Apahce服务了(省略无图则默认下一步)

154718382.jpg

154736588.jpg

154749378.jpg

安装完Apache之后我们可以在浏览器中输入图1-5所示的地址测试Apache安装是否成功,出现如图所示字样,则表示Apache安装成功。

154903280.jpg

2.安装PHP

首先解压PHP文件到c:\ids\php5文件夹

155010228.jpg

复制c:\ids\php5目录下php5ts.dll 文件到 c:\windows\system32 目录下。

复制php5目录下的php.ini-dist c:\windows 下,并重命名为 php.ini

修改 c:\ids\apache\conf\httpd.conf 文件 , 加入 apache php 的支持,

加入:loadmodule php5_module c:\ids\php\php5apache2.dll

新版本的写法:loadmodule php5_modulec:/ids/php5/php5apache2_2.dll(一般为此项,如图)

155201509.jpg

加入:addtype application/x-httpd-php.php,如图

155248287.jpg

修改 c:\widows\php.ini 文件 , 去掉 extension=php_gd2.dll 前的分号,如图

155317185.jpg

复制 c:\ids\php5\ext 文件夹下 php_gd2.dll 文件到 c:\windows 文件夹下

进行相关配置后,我们重启下Apache,然后在Apache网页存放目录下c:\ids\apache\htdocs文件夹下编写test.php文件,内容为<?php phpinfo(); ?>,然后我们打开浏览器,输入http://localhost/test.php,如果浏览到php的信息页面则说明一切正常。如图。如果浏览test.php页面出现下载提示,原因是addtype那句话有错误,检查后修改就可以了。

155423127.jpg

3.安装winpcap网络驱动

对于安装winpcap网络驱动,采用默认值,下一步,下一步即可。如图

155529818.jpg

4.安装Snort入侵检测系统,指定Snort安装路径为c:\ids\snort目录下

snort安装到c:\ids\snort目录下后,在CMD下进入Snort程序运行目录cdc:\ids\snort\bin,然后输入snort �CW( 大写W)回车进行测试,如果安装成功则会出现一个可爱的小猪,如图(在这里可以查看你的网卡编号)

155624584.jpg

5.安装Mysql数据库

安装Mysql数据库时,需要进行相关设置如图(省略无图则默认下一步)

155716828.jpg

155719272.jpg

155724659.jpg

当安装好mysql数据库后,我们还需创建相关数据库表,首先复制复制 c:\ids\snort\schamas 文件夹下的 create_mysql 文件到 c:\ids\mysql\bin 文件夹下

在开始菜单程序里打开mysql客户端,输入密码(myhk12345)后则出现如图所示图样,则成功登录mqsql数据库客户端

155904977.jpg

接着在mysql客户端执行如下命令(手工输入,不可复制粘贴),效果如图。

Create databasesnort;

Create databasesnort_archive;

Use snort;

Sourcecreate_mysql;

Use snort_archive;

Sourcecreate_mysql;

Grant all on *.*to “root”@”localhost”;

160004882.jpg

160007298.jpg

160012881.jpg

160017803.jpg

执行以上命令后,相关数据库已经创建好,接着修改php配置文件对Mysql支持。

修改 c:\windows\php.ini 文件去掉 extension=php_mysql.dll 前的分号。

复制c:\ids\php5\ext 文件夹下的 php_mysql.dll 文件到 c:\windows 文件夹。

复制c:\ids\php5\libmysql.dll文件到c:\windows\system32

6.安装adodb组件

解压缩adodb文件到c:\ids\php\adodb目录下

7.安装jgraph组件

解压缩 jpgraph c:\ids\php5\jpgraph 目录下

8.安装acid(网页文件)组件

解压缩 acid c\ids\apache\htdocs\acid 目录下

Acid网页文件解压缩到Apache默认网页存放目录后,我们还需修改c\ids\apache\htdocs\acid\ acid_conf.php文件,具体修改如下:


$DBlib_path ="c:\ids\php5\adodb";

$DBtype ="mysql";

$alert_dbname = "snort";

$alert_host = "localhost";

$alert_port = "3306";

$alert_user ="root";

$alert_password ="myhk12345"; //数据库密码,与安装mysql数据库时密码一致

$archive_dbname = "snort_archive";

$archive_host = "localhost";

$archive_port = "3306";

$archive_user = "root";

$archive_password= "myhk12345"; //数据库密码,与安装mysql数据库时密码一致

$ChartLib_path ="c:\ids\php5\jpgraph\src";

通过如上修改后,重启apache服务

在浏览器中初始化数据库,输入地址为http://localhost/acid/acid_db_setup.php ,如配置图acid_conf.php文件的修改,正确则会出现下图所示。

160325680.jpg

160352875.jpg

9.加入Snort规则

Snort规则压缩包内的所有文件解压缩到 c:\ids\snort\

10.最后测试相关

1>启动 snort 入侵检测

CMD下进入snort程序运行目录bin下(cd c:\ids\snort\bin),执行命令:

Snort -d �Ce �Cv �Cc c:\ids\snort\etc\snort.conf �Clc:\ids\snort\log �Ck ascii 如图

160511967.jpg

如果出现以下错误

ERROR: Unable toopen rules file: ../rules/local.rules or c:\ids\snort\etc\../rules/local.rules

Fatal Error,Quitting..

处理方法规则包还没有安装


再次运行1>项命令,出现如下126错误.如图

Loading dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so... ERROR: Failed toload /usr/local/lib/snort_dynamicengine/libsf_engine.so: 126 Fatal Error,Quitting

160558834.jpg

解决方法:路径出错,修改snort配置文件snort.conf,把linux下的地址格式改成windows下地址格式, sf_engine.Dll文件在windows下地址格式替换linux下地址格式具体操作如图

160702597.jpg

打开snort配置文件c:\ids\snort\etc\snort.conf找到出错地址,如图

160805481.jpg

将前面复制的windows下路径替换出错的linux路径,如图

160940533.jpg

再次运行1>项命令,出现目录路径出错,方法同上,具体操作如图,找到出错的路径,如图

161030492.jpg

此次是目录出错,所以我们复制snort_dynamicpreprocessor文件夹地址

161104316.jpg

找到出错的linux下目录格式地址换成windows下目录格式地址如图

161153291.jpg

2>注释出错规则

修改好后,再次运行1>项命令,会出现加载规则错误,snort.conf里找到相应的规则加#注释就行了!

规则出错如图

161307720.jpg

snort.conf配置文件里找到出错规则,我们在前面加#注释就行了,如图

161412748.jpg

3>修改snort配置文件c:\ids\snort\snort.conf

修改内容如下!(将如下代码加入snort配置文件中)具体操作如图1-40、图1-41、图1-42

includec:\ids\snort\etc\classification.config

includec:\ids\snort\etc\reference.config

dynamicpreprocessorfile C:\ids\Snort\lib\snort_dynamicpreprocessor\sf_dcerpc.dll

dynamicpreprocessorfile C:\ids\Snort\lib\snort_dynamicpreprocessor\sf_dns.dll

dynamicpreprocessorfile C:\ids\Snort\lib\snort_dynamicpreprocessor\sf_ftptelnet.dll

dynamicpreprocessorfile C:\ids\Snort\lib\snort_dynamicpreprocessor\sf_smtp.dll

dynamicpreprocessorfile C:\ids\Snort\lib\snort_dynamicpreprocessor\sf_ssh.dll

dynamicengineC:/ids/Snort/lib/snort_dynamicengine/sf_engine.dll

outputdatabase: alert, mysql, user=root password=myhk12345 dbname=snort host=localhostencoding=hex detail=full 此处的密码必须与安装myqsql密码一致)

161526978.jpg

161532911.jpg

161559599.jpg

4>最后测试

CMD下进入snort程序运行目录bin下(cd c:\ids\snort\bin),执行命令:

Snort -d �Ce �Cv �Cc c:\ids\snort\etc\snort.conf �Clc:\ids\snort\log �Ck ascii 如图

161950644.jpg

162003683.jpg

在浏览器输入http://localhost/acid/acid_main.php,查看统计数据,如图

162124907.jpg

接着我们用另一台电脑给snort服务器发送ping数据包,如图

162201865.jpg

刷新控制台后,成功检测到ping数据包,如图

162244525.jpg

每次运行snort时需要输入长长的运行命令是非常麻烦的,因此我们可以在snortbin目录下建个批处理,其它内容如图

162339568.jpg

然后把运行snort的批处理创建快捷方式到桌面,并更换图标。

打开IE控制台,给控制台创建桌面快捷方式,将IE拖到桌面即可。最终效果如图

162526353.jpg

附:软件相关下载

分卷1:http://down.51cto.com/data/982926

分卷2:http://down.51cto.com/data/982927


你可能感兴趣的:(虚拟机,实验目的,记录器)