没有合适的资源?快使用搜索试试~ 我知道了~
11-2019051113-陈俊文-Snort入侵检测系统1
需积分: 0 1 下载量 28 浏览量
2022-08-08
22:02:13
上传
评论 1
收藏 1.51MB DOCX 举报
温馨提示
试读
28页
②log:按照自己配置的格式记录包 ③alert:按照自己配置的格式记录包,然后进行报警 ④dynamic:保持一种潜伏状态,直到activate类型的规则将其
资源详情
资源评论
资源推荐
暨南大学本科实验报告专用纸
课程名称 网络安全实验 成绩评定
实验项目名称 基于 SNORT 的入侵检测系统配置与使用 指导教
师 潘冰
实验项目编号 实验项目类型 实验地点
学生姓名 陈俊文 学号 2019051113
学院 智能科学与工程学院 系 专业 信息安全
实验时间 2022 年 5 月 17 日 下 午~ 5 月 17 日 下 午 温度 ℃
湿度
(一)实验目的
1. 熟悉入侵检测工具 SNORT 在 WINDOWS 中的安装和配置方法以及使用方法
2. 掌握 snort IDS 工作机理
3. 应用 snort 三种方式工作
(二)主要仪器设备
配置环境:Windows
实验室环境:Linux
网络环境:交换网络结构
工具:Snort
(三)实验原理
1. snort IDS 概述
snort IDS 是一个强大的网络入侵检测系统。它具有实时数据流量分析和记录 IP 网络数
据包的能力,能够进行协议分析,对网络数据包内容进行搜索/匹配。它能够检测各种不同
的攻击方式,对攻击进行实时报警。此外,snort 是开源的入侵检测系统,并具有很好的扩
展性和可移植性。
2. snort IDS 体系结构
如上图所示,snort 的结构由 4 大软件模块组成,它们分别是:
(1)数据包嗅探模块:负责监听网络数据包,对网络进行分析;
(2)预处理模块:使用相应插件来检查原始数据包,从中发现原始数据的“行为”,如端
口扫描等,数据包经过预处理后才传到检测引擎;
(3)检测模块:该模块是 snort 的核心模块。当数据包从预处理器传过来后,检测引擎依
据预先设置的规则检查数据包,一旦发现数据包中的内容和某条规则相匹配,就通知报警模
块;
(4)报警/日志模块:经检测模块检查后的 snort 数据匹配某条规则时,则会触发一条报警,
这条报警信息会通过网络、UNIXsocket、WindowsPopup(SMB)、SNMP 协议的 trap 命令传
送给日志文件,甚至可以将报警传送给第三方插件(如 SnortSam),另外报警信息也可以
记入 SQL 数据库。
3. snort 三种工作方式
snort 拥有三大基本功能:嗅探器、数据包记录器和入侵检测。嗅探器模式仅从网络上
读取数据包并作为连续不断的流显示在终端上,常用命令 snort -dev。数据包记录器模式是
把数据包记录到硬盘上,常用命令 snort -b。网络入侵检测模式是最复杂的,而且是可配置
的,我们可以让 snort 分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一
定的动作。
4. snort 规则
(1)snort 规则定义
snort 规则是基于文本的,规则文件按照不同的组进行分类,比如,文件 ftp.rules 包
含了 FTP 的攻击内容。需要注意的是,snort 的每条规则必须在同一行中,它的规则解释器
无法对跨行的规则进行解析。
snort 的每条规则都可以分成逻辑上的两个部分:规则头和规则体。
规则头又分为 4 个部分:规则行为、协议、源信息、目的信息。
snort 预置的规则动作有 5 种:
①pass:忽略当前的包,继续分析后继捕获的包。
②log:按照自己配置的格式记录包。
③alert:按照自己配置的格式记录包,然后进行报警。
④dynamic:保持一种潜伏状态,直到 activate 类型的规则将其触发,之后便像 log 一
样记录数据包。
⑤activate:当被规则触发时生成报警,并启动相关的 dynamic 类型规则。
除了以上五种预置的规则动作类型,用户还可以定制自己的类型。
(2)预处理综述
预处理器在调用检测引擎之前,在数据包被解码之后运行。通过这种机制,snort 可以
以一种 outofband 的方式对数据包进行修改或者分析。
预处理器可以使用 preprocessor 关键词来加载和配置,常用到的预处理器如下:
①HTTPdecode:用来处理 HTTPURL 字符串,把它们转换为清晰的 ASCII 字符串。
②portscan:端口扫描器会把由单个源 IP 地址发起的端口扫描从开始到结束的全过程
记录到标准日志。
③stream:stream 处理器为 snort 提供了 TCP 数据包重组的功能。在配置的端口上,
stream 处理器能够对 TCP 数据包的细小片段进行重组,使之成为完整的 TCP 数据包,然后
snort 可以对其可疑行为进行检查。
④frag2:frag2 预处理器为 snort 提供了 IP 分片重组的功能,从而定位分片攻击(将
包含完整信息的数据包传给检测引擎)。
5. snort 应用
snort 采用命令行方式运行。格式为:snort -[options] <filters>。options 为选项参
数,filters 为过滤器。
(1)snort 主要选项参数
-A<alert>设置报警方式为 full,fast 或者 none。在 full 方式下,snort 将传统的报
警信息格式写入报警文件,报警内容比较详细。在 fast 方式下,snort 只将报警时间,报
警内容,报警 IP 地址和端口号写入文件。在 none 方式下,系统将关闭报警功能。
-a 显示 ARP 包。
-b 以 tcpdump 的格式将数据包记入日志。所有的数据包将以二进制格式 记 录 到
snort.log 文件中。这个选项提高了 snort 的操作速度,因为直接以二进制存储,省略了转
换为文本文件的时间,通过-b 选项的设置,snort 可以在 100Mbps 的网络环境中正常工作。
-c<cf>使用配置文件<cf>。文件内容主要控制系统哪些包需要记入日志,哪些包需要报
警,哪些包可以忽略等。
-C 仅抓取包中的 ASCII 字符。
-d 抓取应用层的数据包。
-D 在守护模式下运行 snort。
-e 显示和记录数据链路层信息。
-F<bpf>从文件<bpf>中读取 BPF 过滤信息。
-h<hn>设置<hn>(C 类 IP 地址)为内部网络。当使用这个开关时,所有从外部的流量将
会有一个方向箭头指向右边,所有从内部的流量将会有一个左箭头。这个选项没有太大的作
用,但是可以使显示的包的信息格式比较容易察看。
-i<if>使用网络接口文件<if>。
-l<ld>将包信息记录到目录<ld>下。设置日志记录的分层目录结构,按接收包的 IP 地
址将抓取的包存储在相应的目录下。
-n<num>处理完<num>包后退出。
-N 关闭日志功能,报警功能仍然工作。
-p 关闭混杂模式的嗅探(sniffing)。这个选项在网络严重拥塞时十分有效。
-r<tf>读取 tcpdump 生成的文件<tf>,snort 将读取和处理这个文件。
-s 将报警信息记录到系统日志,日志文件可以出现在/var/log/messages 目录里。
-v 将包信息显示到终端时,采用详细模式。这种模式存在一个问题:它的显示速度比
较慢,如果你是在 IDS 网络中使用 snort,最好不要采用详细模式,否则会丢失部分包信息。
-V 显示版本号,并退出。
(2)Filters 过滤器
snort 的<filters>是标准的 BPF 格式的过滤器。
snort 应用了 BPF 机制,可以在探测器上书写和执行 BPF 规则的文件。BPF 机制允许用
户书写快速的包分析规则,这些规则主要基于源、目的、和其他的头信息。通过嗅探和
BPF,我们可以只捕获需要的流量,这样就减轻了需要处理的数据量。
BPF 机制很容易理解,可以用于分析 TCP、UDP、IP 和 ICMP 协议。规则语法很像自然的
口语,使用“and”和“or”作为规则操作符,用“not”作为取反符,此处还可以用括号来
告诉引擎将一系列数据作为一个整体来处理。
例如:
ICMP 捕获:icmp。
telnet 请求数据包捕获:tcp and dst port23。
记录所有源自网络 192.168.0.0/24,目的是 202.98.0.0/24 的 IP 流量:
ip and "src net 192.168.0" and "dst net 202.98.0"。
(四)实验内容一
任务:配置 Snort 环境
步骤大纲:配置 WebServer ->PHP->MySQL->Snort->adoDB->Acid
1. 安装 web 服务器(apache)
https://www.apachehaus.com/cgi-bin/download.plx
2. 配置 Apache
找到 httpd.conf 文件
剩余27页未读,继续阅读
三山卡夫卡
- 粉丝: 17
- 资源: 323
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0