收藏 分享(赏)

网络安全技术综合性,设计性实验指导书.doc

上传人:kpmy5893 文档编号:8137027 上传时间:2019-06-10 格式:DOC 页数:4 大小:55.50KB
下载 相关 举报
网络安全技术综合性,设计性实验指导书.doc_第1页
第1页 / 共4页
网络安全技术综合性,设计性实验指导书.doc_第2页
第2页 / 共4页
网络安全技术综合性,设计性实验指导书.doc_第3页
第3页 / 共4页
网络安全技术综合性,设计性实验指导书.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 1实验 入侵检测与防火墙应用一、 实验目的1理解入侵检测和防火墙的基本概念;2掌握入侵检测规则及防火墙规则的基本设置;3能够在入侵检测的基础上,对防火墙做一些有针对性的配置。二、 实验要求1学会使用 snort 入侵检测系统,了解 snort 的特点。2能够有针对性的配置防火墙3掌握网络安全技术的基本原理和网络安全技术所要解决的问题三、 实验预备知识3.1 snort 简介snort 有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可

2、以让 snort 分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。嗅探器所谓的嗅探器模式就是 snort 从网络上读出数据包然后显示在你的控制台上。首先,我们从最基本的用法入手。如果你只要把 TCP/IP 包头信息打印在屏幕上,只需要输入下面的命令:./snort -v使用这个命令将使 snort 只输出 IP 和 TCP/UDP/ICMP 的包头信息。如果你要看到应用层的数据,可以使用:./snort -vd这条命令使 snort 在输出包头信息的同时显示包的数据信息。如果你还要显示数据链路层的信息,就使用下面的命令:./snort -vde注意这些选项开关还可以分开写

3、或者任意结合在一块。例如:下面的命令就和上面最后的一条命令等价:./snort -d -v e数据包记录器如果要把所有的包记录到硬盘上,你需要指定一个日志目录,snort 就会自动记录数据包:./snort -dev -l ./log当然,./log 目录必须存在,否则 snort 就会报告错误信息并退出。当 snort 在这种模式下运行,它会记录所有看到的包将其放到一个目录中,这个目录以数据包目的主机的 IP 地址命名,例如:192.168.10.12如果你只指定了-l 命令开关,而没有设置目录名,snort 有时会使用远程主机的 IP 地址作为目录,有时会使用本地主机 IP 地址作为目录名

4、。为了只对本地网络进行日志,你需要给出本地网络:./snort -dev -l ./log -h 192.168.1.0/24这个命令告诉 snort 把进入 C 类网络 192.168.1 的所有包的数据链路、TCP/IP 以及应用层的数据记录到目录./log 中。如果你的网络速度很快,或者你想使日志更加紧凑以便以后的分析,那么应该使用二进制的日志文件格式。所谓的二进制日志文件格式就是 tcpdump 程序使用的格式。使用下面的命令可以把所有的包记录到一个单一的二进制文件中:./snort -l ./log -b注意此处的命令行和上面的有很大的不同。我们勿需指定本地网络,因为所有的东西都被记

5、录到一个单一的文件。你也不必冗余模式或者使用-d、-e 功能选项,因为数据包中的所有内容都会被记录到日志文件中。你可以使用任何支持 tcpdump 二进制格式的嗅探器程序从这个文件中读出数据包,例如: tcpdump 或者 Ethereal。使用 -r 功能开关,也能使 snort 读出包的数据。snort 在所有运行模式下都能够处理 tcpdump 格式的文件。例如:如果你想在嗅探器模式下把一个 tcpdump 格式的二进制文件中的包打印到屏幕上,可以输入下面的命令:./snort -dv -r packet.log在日志包和入侵检测模式下,通过 BPF(BSD Packet Filter)

6、接口,你可以使用许多方式维护日志文件中的数据。例如,你只想从日志文件中提取 ICMP 包,只需要输入下面的命令行:./snort -dvr packet.log icmp网络入侵检测系统snort 最重要的用途还是作为网络入侵检测系统(NIDS),使用下面命令行可以启动这种模式:./snort -dev -l ./log -h 192.168.1.0/24 -c snort.confsnort.conf 是规则集文件。snort 会对每个包和规则集进行匹配,发现这样的包就采取相应的行动。如果你不指定输出目录,snort 就输出到/var/log/snort 目录。注意:如果你想长期使用 sno

7、rt 作为自己的入侵检测系统,最好不要使用-v 选项。因为使用这个选项,使 snort 向屏幕上输出一些信息,会大大降低 snort 的处理速度,从而在向显示器输出的过程中丢弃一些包。此外,在绝大多数情况下,也没有必要记录数据链路层的包头,所以-e 选项也可以不用:./snort -d -h 192.168.1.0/24 -l ./log -c snort.conf这是使用 snort 作为网络入侵检测系统最基本的形式,日志符合规则的包,以 ASCII 形式保存在有层次的目录结构中。网络入侵检测模式下的输出选项在 NIDS 模式下,有很多的方式来配置 snort 的输出。在默认情况下,snor

8、t 以 ASCII 格式记录日志,使用 full 报警机制。如果使用 full 报警机制,snort 会在包头之后打印报警消息。如果你不需要日志包,可以使用-N 选项。snort 有 6 种报警机制:full、fast、socket、syslog、smb(winpopup)和 none。其中有 4 个可以在命令3行状态下使用-A 选项设置。这 4 个是:-A fast:报警信息包括:一个时间戳(timestamp)、报警消息、源/目的 IP 地址和端口。 -A full:是默认的报警模式。-A unsock:把报警发送到一个 UNIX 套接字,需要有一个程序进行监听,这样可以实现实时报警。-A

9、 none:关闭报警机制。 使用-s 选项可以使 snort 把报警消息发送到 syslog,默认的设备是 LOG_AUTHPRIV 和LOG_ALERT。可以修改 snort.conf 文件修改其配置。snort 还可以使用 SMB 报警机制,通过 SAMBA 把报警消息发送到 Windows 主机。为了使用这个报警机制,在运行./configure 脚本时,必须使用-enable-smbalerts 选项。下面是一些输出配置的例子:使用默认的日志方式(以解码的 ASCII 格式)并且把报警发给 syslog:./snort -c snort.conf -l ./log -s -h 192.

10、168.1.0/24使用二进制日志格式和 SMB 报警机制: ./snort -c snort.conf -b -M WORKSTATIONS3.2 编写 snort 规则基础snort 使用一种简单的,轻量级的规则描述语言,这种语言灵活而强大。在开发 snort 规则时要记住几个简单的原则。第一,大多数 snort 规则都写在一个单行上,或者在多行之间的行尾用/分隔。Snort 规则被分成两个逻辑部分:规则头和规则选项。规则头包含规则的动作,协议,源和目标 ip 地址与网络掩码,以及源和目标端口信息;规则选项部分包含报警消息内容和要检查的包的具体部分。下面是一个规则范例:alert tcp

11、any any - 192.168.1.0/24 111 (content:“|00 01 86 a5|“; msg: “mountd access“;)第一个括号前的部分是规则头(rule header) ,包含的括号内的部分是规则选项( rule options) 。规则选项部分中冒号前的单词称为选项关键字(option keywords) 。注意,不是所有规则都必须包含规则选项部分,选项部分只是为了使对要收集或报警,或丢弃的包的定义更加严格。组成一个规则的所有元素对于指定的要采取的行动都必须是真的。当多个元素放在一起时,可以认为它们组成了一个逻辑与(AND)语句。同时,snort 规则库

12、文件中的不同规则可以认为组成了一个大的逻辑或(OR)语句。3.3 预处理程序预处理程序从 Snort 版本 1.5 开始引入,使得 Snort 的功能可以很容易地扩展,用户和程序员能够将模块化的插件方便地融入 Snort 之中。预处理程序代码在探测引擎被调用之前运行,但在数据包译码之后。通过这个机制,数据包可以通过额外的方法被修改或分析。使用 preprocessor 关键字加载和配置预处理程序。3.4 输出插件输出插件使得 Snort 在向用户提供格式化输出时更加灵活。输出插件在 Snort 的告警和记录子系统被调用时运行,在预处理程序和探测引擎之后。规则文件中指令的格式非常类似于预处理程序

13、。注意:如果在运行时指定了命令行的输出开关,在 Snort 规则文件中指定的输出插件会被替代。例如,如果在规则文件中指定了 alert_syslog 插件,但在命令行中使用了“-A fast“选项,则4alert_syslog 插件会被禁用而使用命令行开关。多个输出插件是在 snort 的配置文件中指定的。当指定多个输出插件时,它们被压入栈并且在事件发生时按顺序调用。关于标准的记录和报警系统,输出模块缺省把数据发送到 /var/log/snort.或者通过使用-l 命令行参数输出到一个用户指定的目录。在规则文件中通过指定 output 关键字,使得在运行时加载输出模块。四、 实验内容1本次试验

14、由按组完成,两位同学一组。2甲同学对乙同学展开攻击,可以采用各种攻击,由同学自己设定。3. 乙同学打开被攻击计算机上的命令行,进入到 snort 的安装路径,比如 snort 安装在 C 盘,那么请进入到 c:snortbin 下面,可以找到 snort 的执行 snort.exe. 直接敲入 snort,可以看到 snort 可以使用各种类型的参数启动(相关参数的含义请查看 snort 中文手册) 。例如监听计算机上实际网卡的包信息,可以使用如下命令启动:Snort v i 2参数,-v 表示将使 snort 只输出 IP 和 TCP/UDP/ICMP 的包头信息。 -i 表示对当前计算机上的某个接口进行监听,一般来说,snort 默认监听 1 号接口(往往是 DialupAdapter),当然可能不同的计算机上网卡的数量以及配置方式可能有细微的差别。同学可以尝试以 Snort v i 2 或者 Snort v i 3 登录以找到正确的网卡接口。根据设计好的入侵规则,snort 可以检测到攻击,并作为数据包记录器把数据包记录在硬盘上。4乙同学观察入侵检测的结果,判断入侵类型和相应的入侵协议类型,对防火墙做一些有针对性的配置,比如关闭某些端口或者应用程序,以及关闭某些类型的协议,以抵御住来自甲同学的攻击。5两位同学交换角色,由乙同学攻击,甲同学进行入侵检测,并配置防火墙。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报