您的位置:首页 > 其它

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

2013-10-20 16:48 591 查看
IDS从本质上可以分成两类:网络型IDS(NIDS)和主机型IDS(HIDS).这两种IDS。
Snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。
1、实验目的
通过本章学习后了解IDS的相关知识,并且能熟练的架设Snort。 2、实验环境工作平台:VMwareworkstation虚拟机服务平台:Windows 2003(安装Snort)辅助平台: Windows XP(利用各种入侵技术测试Snort) 3、步骤一瞥 l安装Apache服务器n步骤1Apachen步骤2测试Apachel安装PHP语言n步骤1安装PHPn步骤2步骤3 配置ApachePHP的支持l安装Winpcap网络驱动n步骤1安装Winpcapl安装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安装 acidn步骤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服务已经禁用和关闭自启动。




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










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



2.安装PHP首先解压PHP文件到c:\ids\php5文件夹



复制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(一般为此项,如图)




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



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



复制 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那句话有错误,检查后修改就可以了。


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



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


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








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

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


接着在mysql客户端执行如下命令(手工输入,不可复制粘贴),效果如图。Create databasesnort; Create databasesnort_archive; Use snort; Sourcecreate_mysql; Use snort_archive;Sourcecreate_mysql; Grant all on *.*to “root”@”localhost”;











执行以上命令后,相关数据库已经创建好,接着修改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文件的修改,正确则会出现下图所示。








9.加入Snort规则把Snort规则压缩包内的所有文件解压缩到 c:\ids\snort\ 下
10.最后测试相关1>启动 snort 入侵检测在CMD下进入snort程序运行目录bin下(cd c:\ids\snort\bin),执行命令: Snort -d –e –v –c c:\ids\snort\etc\snort.conf –lc:\ids\snort\log –k ascii 如图




如果出现以下错误: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


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



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



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



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


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


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



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



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



3>修改snort配置文件c:\ids\snort\snort.conf修改内容如下!(将如下代码加入snort配置文件中)具体操作如图1-40、图1-41、图1-42includec:\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密码一致)









4>最后测试在CMD下进入snort程序运行目录bin下(cd c:\ids\snort\bin),执行命令: Snort -d –e –v –c c:\ids\snort\etc\snort.conf –lc:\ids\snort\log –k ascii 如图






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



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



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



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



然后把运行snort的批处理创建快捷方式到桌面,并更换图标。打开IE控制台,给控制台创建桌面快捷方式,将IE拖到桌面即可。最终效果如图



附:软件相关下载
分卷1:http://down.51cto.com/data/982926
分卷2:http://down.51cto.com/data/982927
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息