网络安全实验报告模板.docx
《网络安全实验报告模板.docx》由会员分享,可在线阅读,更多相关《网络安全实验报告模板.docx(19页珍藏版)》请在冰点文库上搜索。
![网络安全实验报告模板.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/09ef380c-faa8-4206-acf7-b8092297dc8b/09ef380c-faa8-4206-acf7-b8092297dc8b1.gif)
网络安全实验报告模板
武汉大学计算机学院
网络安全实验
专业(班):
信息安全专业(班)
学号:
姓名:
任课教师:
陈晶
2013年1月5日
一、入侵检测与入侵防御
1.1、嗅探实验
【实验原理】
Snort所谓的嗅探器模式就是Snort从网络上读出数据包然后显示在控制台上。
如果只要把TCP/IP包头信息打印在屏幕上,只需要输入下面的命令:
./snort-v
使用这个命令将使Snort只输出IP和TCP/UDP/ICMP的包头信息。
如果要看到应用层的数据,可以使用:
./snort-vd
这条命令使snort在输出包头信息的同时显示包的数据信息。
如果还要显示数据链路层的信息,就使用下面的命令:
./snort-vde
注意这些选项开关还可以分开写或者任意结合在一块。
例如下面的命令就和上面最后的一条命令等价:
./snort-d-v–e
【实验环境】
图3.2.11实验环境
实验环境如图3.2.11所示,其中:
Linux实验台IP地址:
以172.20.4.32/16为例,具体根据实际的网络环境进行配置
本地主机(IDS客户端):
WindowsXP操作系统、SimpleISES系统客户端
本地主机IP地址为172.20.1.32/16,具体根据实际的网络环境进行配置
【实验步骤】
一、启动IDS服务器
启动Linux实验台并登录,
二、连接IDS服务器,开始实验
启动实验客户端,选择“入侵检测与入侵防御”中的“嗅探实验”,打开实验实施面板,点击“连接”。
连接成功后,实验实施面板显示终端画面,
图3.2.13实施面板
点击“开始”,观察实验台中终端画面。
可以看见终端画面显示出目前Snort抓取的各种数据包信息,
可利用Alt+F2切换到新的屏幕,登录后利用ps–aux|grepsnort查看snort进程,可发现其运行参数为snort–v,利用Alt+F1可切换到初始的界面。
三、结束实验,查看实验结果
点击“结束”,可以在实验实施面板看见本次嗅探实验中Snort抓取的各种数据包的统计信息,
【实验思考】
1、实验过程中,实验台终端画面显示出的各种数据包信息主要包含哪些内容?
2、实验结束后显示的统计信息各个条目分别是什么意思?
1.2、数据包记录器实验
【实验内容】
以数据包记录器模式启动SnortIDS
分析Snort在该模式下抓取数据包的格式
【实验原理】
对于Snort的数据包记录器模式,如果要把所有的包记录到硬盘上,你需要指定一个日志目录,Snort就会自动记录数据包:
./snort -dev -l ./log
当然,./log目录必须存在,否则Snort就会报告错误信息并退出。
当Snort在这种模式下运行,它会记录所有看到的包将其放到一个目录中,这个目录以数据包目的主机的IP地址命名,例如:
192.168.10.1。
如果你只指定了-l命令选项,而没有设置目录名,Snort有时会使用远程主机的IP地址作为目录,有时会使用本地主机IP地址作为目录名。
为了只对本地网络进行日志记录,你可以给出本地网络:
./snort -dev -l ./log -h 192.168.1.0/24
这个命令告诉Snort把进入C类网络192.168.1.0/24 的所有包的数据链路、TCP/IP以及应用层的数据记录到目录./log中。
如果网络速度很快,或者想使日志更加紧凑以便以后的分析,那么应该使用二进制的日志文件格式。
所谓的二进制日志文件格式就是tcpdump程序使用的格式。
使用下面的命令可以把所有的包记录到一个单一的二进制文件中:
./snort -l ./log -b
注意此处的命令行和上面的有很大的不同,无需指定本地网络,因为所有的数据都被记录到一个单一的文件。
你也不必冗余模式或者使用-d、-e功能选项,因为数据包中的所有内容都会被记录到日志文件中。
而且可以使用任何支持tcpdump二进制格式的嗅探器程序从这个文件中读出数据包,例如tcpdump或者Ethereal,如果使用-r功能开关,也能使Snort读出包内的数据,Snort在所有运行模式下都能够处理tcpdump格式的文件。
如果想在嗅探器模式下把一个tcpdump格式的二进制文件中的包打印到屏幕上,可以输入下面的命令:
./snort -dv -r packet.log
在日志包和入侵检测模式下,通过BPF(BSD Packet Filter)接口,还可以使用许多其它方式维护日志文件中的数据。
例如,如果只想从日志文件中提取ICMP包,可以输入下面的命令行:
./snort -dvr packet.log icmp
【实验环境】
图3.2.21实验环境
实验环境如图3.2.21所示,其中:
Linux实验台IP地址:
以172.20.4.32/16为例,具体根据实际的网络环境进行配置
本地主机(IDS客户端):
WindowsXP操作系统、SimpleISES系统客户端
本地主机IP地址:
以172.20.1.32/16为例,具体根据实际的网络环境进行配置
【实验步骤】
一、启动IDS服务器
启动Linux实验台(如接着上一个实验,请用reboot重启系统)并登录。
二、连接IDS服务器,开始实验
启动实验客户端,选择“入侵检测与入侵防御”中的“数据包记录器实验”,打开实验实施面板,点击“连接”。
连接成功后,实验实施面板显示终端画面,点击“开始”,观察实验台中终端界面。
可以看见终端显示出目前Snort抓取的各种数据包信息。
可利用Alt+F2切换到新的屏幕,登录后利用ps–aux|grepsnort查看snort进程,可发现其运行参数为snort–vde–l/home/log,利用Alt+F1可切换到初始的界面。
三、结束实验,查看实验结果
点击“结束”,可以在实验实施面板看见本次实验中Snort抓取的各种数据包的统计信息,如图3.2.25所示。
在Linux实验台终端,进入“/home/log/”目录,查看数据包记录日志文件,
(实验时的本机地址)
根据主机IP目录,进入需要查看的主机IP的数据包信息,
【实验思考】
1、实验过程中,终端显示出各种数据包信息主要包含哪些内容?
与嗅探实验中显示出来的数据包格式有什么区别?
2、实验结束后显示的统计信息各个条目分别是什么意思?
1.3、入侵行为检测实验
【实验内容】
以入侵检测模式运行Snort
利用攻击查看Snort报警,了解Snort报警产生机制
学习Snort系统自带规则
【实验原理】
snort最重要的用途还是作为网络入侵检测系统(NIDS),使用下面命令行可以启动这种模式:
./snort-dev-l./log-h192.168.1.0/24-csnort.conf
snort.conf是规则集文件。
snort会对每个包和规则集进行匹配,发现这样的包就采取相应的行动。
如果不指定输出目录,snort就输出到/var/log/snort目录。
注意:
如果想长期使用snort作为自己的入侵检测系统,最好不要使用-v选项。
因为使用这个选项,使snort向屏幕上输出一些信息,会大大降低snort的处理速度,从而在向显示器输出的过程中丢弃一些包。
此外,在绝大多数情况下,也没有必要记录数据链路层的包头,所以-e选项也可以不用:
./snort-d-h192.168.1.0/24-l./log-csnort.conf
在NIDS模式下,有很多的方式来配置snort的输出。
在默认情况下,snort以ASCII格式记录日志,使用full报警机制。
如果使用full报警机制,snort会在包头之后打印报警消息。
如果不需要日志包,可以使用-N选项。
snort有6种报警机制:
full、fast、socket、syslog、smb(winpopup)和none。
其中有4个可以在命令行状态下使用-A选项设置。
这4个是:
-Afast:
报警信息包括:
一个时间戳(timestamp)、报警消息、源/目的IP地址和端口。
-Afull:
是默认的报警模式。
-Aunsock:
把报警发送到一个UNIX套接字,需要有一个程序进行监听,这样可以实现实时报警。
-Anone:
关闭报警机制。
使用-s选项可以使snort把报警消息发送到syslog,默认的设备是LOG_AUTHPRIV和LOG_ALERT。
可以修改snort.conf文件修改其配置。
snort还可以使用SMB报警机制,通过SAMBA把报警消息发送到Windows主机。
为了使用这个报警机制,在运行./configure脚本时,必须使用--enable-smbalerts选项。
下面是一些输出配置的例子:
使用默认的日志方式(以解码的ASCII格式)并且把报警发给syslog:
./snort-csnort.conf-l./log-s-h192.168.1.0/24
使用二进制日志格式和SMB报警机制:
./snort-csnort.conf-b-MWORKSTATIONS
在Snort系统自带了一些行为检测规则,其中包括预处理模块(Preprocessor)规则和利用rules文件写的配置规则,这样,无需管理员太多的配置,仅仅利用系统默认的规则文件,便可实现针对网络行为的检测。
实验环境】
图3.2.31实验环境
实验环境如图3.2.31所示,其中:
Linux实验台IP地址:
以172.20.4.32/16为例,具体根据实际的网络环境进行配置
本地主机(IDS客户端):
WindowsXP操作系统、SimpleISES系统客户端、WinNmap扫描工具
本地主机IP地址:
以172.20.1.32/16为例,具体根据实际的网络环境进行配置
【实验步骤】
一、启动IDS服务器
启动Linux实验台(如接着上一个实验,请用reboot重启系统)并登录。
二、连接IDS服务器
启动实验客户端,选择“入侵检测与防御”中的“入侵行为检测实验”,打开实验实施面板,点击“连接”。
连接成功后,实验实施面板显示
点击“开始”,则启动了Linux系统中的Snort。
三、发起攻击
利用WinNmap扫描工具或其它攻击工具,针对Linux系统或其它系统进行扫描(注意保证扫描攻击者主机的单IP环境),
四、结束实验,查看实验结果
待WinNmap扫描结束后,再点击实验实施面板的“结束”按钮,实验完成。
可看见实验实施面板中有各种日志,包含报警结果、对应的Snort系统自带规则、规则配置文件目录等信息,
图3.2.36实验结果
点击“查询”按钮,选择实验的时间段,查看实验的结果日志,如图
【实验思考】
1、Snort系统自带规则存放在哪?
是怎么组织的?
2、分析Snort系统自带的snort.conf配置文件各个字段的意义。
分析实验结果中对应的各个规则意义。
【实验思考】
1.1、实验过程中,终端显示出各种数据包信息主要包含哪些内容?
与嗅探实验中显示出来的数据包格式有什么区别?
答:
Snort记录所有看到的数据包,包括主机的IP地址,TCP/IP协议,数据包的日志以二进制形式呈现。
1.2、实验结束后显示的统计信息各个条目分别是什么意思?
答:
Snort会记录所有看到的包将其放到一个目录中,这个目录以数据包目的主机的IP地址命名。
Snort把进入所有包的数据链路、TCP/IP以及应用层的数据记录到目录./log中。
所谓的二进制日志文件格式就是tcpdump程序使用的格式。
1.3、实验过程中,实验台终端画面显示出的各种数据包信息主要包含哪些内容?
答:
从图中看,每一行中,首先是时间戳,接着输出的一个输出字段是ARP,表明帧类型字段的值是0x0806,说明此数据帧是一个ARP请求或回答。
以上图为例,ARP的下一个输出字段who-has表示作为ARP请求的这个数据帧中,目的IP地址是10.3.2.1的地址,发送端的IP地址是10.3.2.23的地址。
1.4、Snort系统自带规则存放在哪?
是怎么组织的?
答:
snort规则放在“../snort/rules”文件目录下。
1)在/snort.conf文件跳到114行,找到varRULE_PATH字段,并在其后面填上完整的snort规则存放路径,为/etc/snort/rules.
2)跳到第476行,iis_unicode_map字段,在其后面写上/etc/snort/rules/unicode.map1252
3)跳到第905行,找到includeclassification.config项,将其改为:
include/etc/snort/rules/classification.config
4)跳到第913行,找到includereference.config项,将其改为include/etc/snort/rules/reference.config
5)将/usr/local/bin/snort-d-D-h10.10.0.0/24-c/etc/snort.conf添加到/etc/rc.d/rc.local文件中.
6)/snort/rules跳到第953行,找到include$RULE_PATH/bad-traffic.rules.从这行开始一直到最后,全部为snort的规则集合,可根据个人需要进行调试.以#号为准表示是否启用.
【实验心得】
1、实验是建立在相互之间的电脑是可以ping通的基础上,ping通后才可以做后面的实验;
2、在实验前先了解snort的规则,掌握一些规则的使用方法,这样在实验中可以节省一些时间;
3、在实验中要仔细阅读实验手册,按照实验的步骤才能顺利完成实验的要求;
4、通过实验让自己简单的了解了入侵检测的原理,在实验中用到了snort,它的功能是十分强大的,可以做很多的有用的设置。
5、通过实验使我认识了入侵检测系统这一强大的网络入侵检测系统。
它不仅具有实时数据流量分析和记录IP网络数据包的能力,能够进行协议分析,对网络数据包内容进行搜索/匹配,而且能够检测各种不同的攻击方式,对攻击进行实时报警。
6、了解了Snort的三大基本功能:
嗅探器、数据包记录器和入侵检测,学会了它的基本用法,如一些指令、命令和规则。
进一步熟悉了Snort的编写规则。
7、snort.conf是规则集文件。
snort会对每个包和规则集进行匹配,发现这样的包就采取相应的行动。
如果你不指定输出目录,snort就输出到/var/log/snort目录。
注意:
如果你想长期使用snort作为自己的入侵检测系统,最好不要使用-v选项。
因为使用这个选项,使snort向屏幕上输出一些信息,会大大降低snort的处理速度,从而在向显示器输出的过程中丢弃一些包。
此外,在绝大多数情况下,也没有必要记录数据链路层的包头,所以-e选项也可以不用:
./snort-d-h192.168.1.0/24-l./log-csnort.conf
这是使用snort作为网络入侵检测系统最基本的形式,日志符合规则的包,以ASCII形式保存在有层次的目录结构中。