snort入侵检测系统使用实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《网络安全技术》实验报告
姓名系别实验地点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. 打开虚拟机,启动windows server 2003,安装snort,将snort安装在C盘,安装时全部按照默认设置直至安装成功。
4. 在虚拟机上安装winpcap,安装时全部按照默认设置直至安装成功。
(二)将snort用作嗅探器
snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。
在虚拟机上(IP:172.28.15.150):
1.单击[开始]-[运行]并输入cmd进入命令行。
2.在命令行中键入cd c:\snort\bin,回车确认。
3.键入snort –h,回车确认,这将显示可以与snort一起使用的命令行选项的帮助文件(认真看一下每一个选项的涵义)。
3.键入snort –vde,并回车确认。
在宿主机上(IP:172.28.15.151):
5.单击[开始]-[运行]并输入cmd进入命令行。
6.键入ping 172.28.15.150 -t
在虚拟机上:
7.注意snort转储ping的内容到屏幕上。
(三)使用预处理器的Snort配置
在虚拟机上:
使用记事本为snort创建一个配置文件,将文件命名为snort_preprocessor.conf。
1.在命令行上,键入notepad c:\snort\etc\snort_preprocessor.conf。
2.单击yes创建文件。
3.在记事本中键入下列行:
var HOME_NET 172.16.1.0/24 (根据具体环境进行设置)
var EXTERNAL_NET any
var RULE_PATH c:\snort\rules
preprocessor stream4: detect_scans
前三行是变量设定值,当需要知道内部或本地网络是什么,什么被认为是不可信赖的或外部的通信,以及在哪里发现规则文件时,预处理器和规则文件将会使用这些值。最后一行是将要调用来处理通信和检测扫描的预处理器。
4.完成并保存。
5.在命令行中键入:
snort –l c:\snort\log –c c:\snort\etc\snort_preprocessor.conf,回车确认。
其中,l表示输出日志文件的位置,而-c表示配置文件的位置。
在宿主机上:
6.运行nmap
7.通过Profile菜单->New Profile and Command, 设置命令:nmap -sX -T4 -A -v
172.28.15.150
上述命令中的X是要发送一个Xmax扫描,该扫描是一种在正常的网络通信
中不会被看到的数据包。
接下来尝试针对虚拟机web服务器的目录遍历攻击。
8.在浏览器中键入:
http://172.28.15.150/scripts/..%255c../winnt/system32/cmd.exe?/c+dir+\winnt回
车。
在虚拟机上:
在命令行窗口上,按CRTL+C,停止snort,得到snort概要输出界面,如图8-1所示。
a) Snort 收到了多少数据包?
b)有多少数据包是TCP的?
c)有多少警报?
图 1 Snort概要输出界面
8. 在c:\snort\log目录下用记事本打开alert.ids文件,如图2.
图2 alert.ids文件
上图中,[111:10:1],是snort ID和修改号。
(spp_stream4) STEALTH ACTIVITY (XMAS scan) detection,这是引发警报的与处理器。
**U*P**F,这显示了所捕获数据包上设置的Urgent、push以及fin标记。
(四)使用检测引擎的snort配置
在虚拟机上:
1. 在snort_preprocessor.conf中,删除最后一行。
2. 增加下列行到文件末尾:
var HTTP_SERVERS 172.28.15.150
var HTTP_PORTS 80
preprocessor flow
include classification.config
include c:\snort\rules\web-misc.rules
3. 将文件命名为snort_detection.conf并存到c:\snort\etc.
在前述配置中,为web服务器的IP地址和端口地址增加了变量。flow预处理器用来帮助为检测引擎准备捕获的数据。Web-misc.rules规则包涵检测引擎将要查找的特征的文件。
现我们来看一下web-misc.rules规则。
4. 用记事本打开c:\snort\rules下的web-misc.rules规则。
5.用关键词1113查找到下述规则内容:
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-MISC http directory traversal"; flow:to_server,established; content:"../"; referenc e:arachnids,297; classtype:attempted-recon; sid:1113; rev:5;)
规则由规则头和规则体组成。规则头包含规则动作、协议、源和目的地。
规则动作是指如果除规则之外的条件满足时将要发生的事,在本例中将会引发警报。规则正在检查的协议是TCP。
源和目的地是$EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS。Any指的是任何端口,->表示通信方向是进入的。Msg:的选项设置将会显示在警报日志中。
flow:定义数据包的方向。
Content:"../"告知检测引擎在数据包中查找这些字符,这是实际执行目录遍历的字符串。
referenc e:arachnids,297是外部引用。