《网络安全技术》实验报告姓名系别实验地点A406学号年级班实验时间2012-5-24成绩评定教师签字实验项目一、实验目的1.通过实验进一步理解IDS的原理和作用;2.学习安装、配置和使用Snort入侵检测系统;3.学习分析Snort警报文件;4.结合指定的攻击特征,学习如何创建检测规则。二、实验内容1.学习Snort基础知识;2.安装工具软件(snort、winpcap和nmap)扫描工具;3.使用snort进行Xmax扫描检测和目录遍历攻击;4.创建和测试规则;三、实验步骤(一)软件安装1.打开计算机安装nmap,安装时全部按照默认设置直至安装成功。2.如果计算机上没有安装winpcap4.1或以上版本,则需要安装,安装时全部按照默认设置直至安装成功。3.打开虚拟机,启动windowsserver2003,安装snort,将snort安装在C盘,安装时全部按照默认设置直至安装成功。4.在虚拟机上安装winpcap,安装时全部按照默认设置直至安装成功。(二)将snort用作嗅探器snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。在虚拟机上(IP:172.28.15.150):1.单击[开始]-[运行]并输入cmd进入命令行。2.在命令行中键入cdc:\snort\bin,回车确认。3.键入snort–h,回车确认,这将显示可以与snort一起使用的命令行选项的帮助文件(认真看一下每一个选项的涵义)。3.键入snort–vde,并回车确认。在宿主机上(IP:172.28.15.151):5.单击[开始]-[运行]并输入cmd进入命令行。6.键入ping172.28.15.150-t在虚拟机上:7.注意snort转储ping的内容到屏幕上。(三)使用预处理器的Snort配置在虚拟机上:使用记事本为snort创建一个配置文件,将文件命名为snort_preprocessor.conf。1.在命令行上,键入notepadc:\snort\etc\snort_preprocessor.conf。2.单击yes创建文件。3.在记事本中键入下列行:varHOME_NET172.16.1.0/24(根据具体环境进行设置)varEXTERNAL_NETanyvarRULE_PATHc:\snort\rulespreprocessorstream4:detect_scans前三行是变量设定值,当需要知道内部或本地网络是什么,什么被认为是不可信赖的或外部的通信,以及在哪里发现规则文件时,预处理器和规则文件将会使用这些值。最后一行是将要调用来处理通信和检测扫描的预处理器。4.完成并保存。5.在命令行中键入:snort–lc:\snort\log–cc:\snort\etc\snort_preprocessor.conf,回车确认。其中,l表示输出日志文件的位置,而-c表示配置文件的位置。在宿主机上:6.运行nmap7.通过Profile菜单-NewProfileandCommand,设置命令:nmap-sX-T4-A-v172.28.15.150上述命令中的X是要发送一个Xmax扫描,该扫描是一种在正常的网络通信中不会被看到的数据包。接下来尝试针对虚拟机web服务器的目录遍历攻击。8.在浏览器中键入:回车。在虚拟机上:在命令行窗口上,按CRTL+C,停止snort,得到snort概要输出界面,如图8-1所示。a)Snort收到了多少数据包?b)有多少数据包是TCP的?c)有多少警报?图1Snort概要输出界面8.在c:\snort\log目录下用记事本打开alert.ids文件,如图2.图2alert.ids文件上图中,[111:10:1],是snortID和修改号。(spp_stream4)STEALTHACTIVITY(XMASscan)detection,这是引发警报的与处理器。**U*P**F,这显示了所捕获数据包上设置的Urgent、push以及fin标记。(四)使用检测引擎的snort配置在虚拟机上:1.在snort_preprocessor.conf中,删除最后一行。2.增加下列行到文件末尾:varHTTP_SERVERS172.28.15.150varHTTP_PORTS80preprocessorflowincludeclassification.configincludec:\snort\rules\web-misc.rules3.将文件命名为snort_detection.conf并存到c:\snort\etc.在前述配置中,为web服务器的IP地址和端口地址增加了变量。flow预处理器用来帮助为检测引擎准备捕获的数据。Web-misc.rules规则包涵检测引擎将要查找的特征的文件。现我们来看一下web-misc.rules规则。4.用记事本打开c:\snort\rules下的web-misc.rules规则。5.用关键词1113查找到下述规则内容:alerttcp$EXTERNAL_NETany-$HTTP_SERVERS$HTTP_PORTS(msg:WEB-MISChttpdirectorytraversal;flow:to_server,established;content:../;reference:arachnids,297;classtype:attempted-recon;sid:1113;rev:5;)规则由规则头和规则体组成。规则头包含规则动作、协议、源和目的地。规则动作是指如果除规则之外的条件满足时将要发生的事,在本例中将会引发警报。规则正在检查的协议是TCP。源和目的地是$EXTERNAL_NETany-$HTTP_SERVERS$HTTP_PORTS。Any指的是任何端口,-表示通信方向是进入的。Msg:的选项设置将会显示在警报日志中。flow:定义数据包的方向。Content:../告知检测引擎在数据包中查找这些字符,这是实际执行目录遍历的字符串。reference:arachnids,297是外部引用。Sid:1113是snortid.Rev:5是规则修订号。在虚拟机上:6.在命令行上键入:snort–lc:\snort\log–cc:\snort\etc\snort_detection.conf,并回车。在宿主机上:6.在浏览器中键入:在虚拟机上:7.在命令行上,按CTRL+C,停止snort,得到snort概要输出界面。a)snort接收到多少数据包。b)多少数据包是TCP的。c)有多少警报。d)为什么不同于之前的输出。四、实验总结通过本次实验,我学会了基本的snort技术的入侵检测技术。但是过程中也遇到了一些问题,在同学和老师的帮助下,顺利的完成了实验,希望在以后的学习和实验中,自己能有更加突出的表现,掌握更多的专业知识。