网络安全——基于Snort的入侵检测实验

news2024/9/24 3:24:56

一、实验目的要求:

二、实验设备与环境:

三、实验原理:

四、实验步骤:

五、实验现象、结果记录及整理:

六、分析讨论与思考题解答:

七、实验截图


一、实验目的要求:

1、掌握Snort的安装配置方法。

2、掌握Snort规则定义方法。

3、掌握使用Snort分析网络状态的方法。

4、具体内容:

1)学习Snort工作原理。

2)配置Snort规则文件。

3)使用Snort检测网络入侵事件。


二、实验设备与环境:


三、实验原理:

1、入侵检测系统的概述、作用、原理

针对计算机和网络资源的恶意使用行为进行分析、处理,是一种基于检测计算机中违反安全策略行为的技术,主要是保障计算机系统的安全,检测未授权、异常行为。

根据入侵的分类,可分为外部入侵和内部入侵;依据入侵的方向,进行入侵检测,即分为基于网络和基于文件系统变化。

其中基于网络的入侵检测系统的组件有:数据捕获器、数据处理器、响应器、数据库。

流程如图1所示:

本次实验是基于网络的入侵检测系统。

2Snort工具的作用

     是一款开源的、基于本地检测规则的网络入侵检测软件。主要功能如下,包嗅探(检测)、包记录(存储)、入侵检测;

     工作过程:1)先从网卡捕获网络上的数据包;2)将数据包进行解码并填入链路层协议的包结构体;3)预处理器对数据包进行检查4)通过检测引擎对数据包进行处理。如图2所示。

     Snort命令格式:Snort [-a|-e|s|e|t] [options];

3Snort规则

       从逻辑角度来划分,Snort规则=规则头+规则选项;

       规则头:规则动作、协议类型、地址、端口号、方向操作符;

       规则选项:例如,msg、flags、sid、rev、classtype等。


四、实验步骤:

(一)环境配置

1、检测环境:登录主机1,执行命令"sudo snort -V"查看是否安装成功;

2、配置修改:

①执行命令"sudo vi /etc/snort/snort.conf",snort.conf文件包含一个snort配置样例,分为五个步骤。设置网络变量、配置动态加载库、配置预处理器、配置输出插件、增加任意的运行时配置向导、自定义规则集修改属性值。

var RULE_PATH /etc/snort/rules(配置rules文件路径)

var SO_RULE_PATH /etc/snort/so_rules(配置so_rules路径)

var PREPROC_RULE_PATH /etc/snort/preproc rules(实验性规则)

②修改ipvar HOME_NET值,即本机所在的网段:

ipvar HOME_NET 30.0.1.0/24

③修改output unified2的值,设置snort.unified2格式的数据集。统一输出文件,文件名为snort.log,限制128,mpls事件类型,vlan事件类型:

"output unified2: filename snort.log, limit 128, mpls_event_types, vlan_event_types"

④重启Snort:执行"sudo service snort restart"命令;

3、配置Snort的检测规则:

① 删除之前的日志文件:执行命令" sudo rm /var/log/snort/snort.log"。为新规则做好环境准备。

② 本地规则文件添加内容:任何发往本机的ICMP和HTTP数据包都会触发Snort告警;其中,"/etc/snort/rules"是用于存放规则文件的路径,Snort就是根据诸多的规则文件给用户提供预警和提示的。执行"sudo vi /etc/snort/rules/local.rules"命令:

"alert icmp any any -> $HOME_NET any (msg:“ICMP Test NOW!!!”; classtype:not-suspicious; sid:1000001;rev:1;)

alert tcp any any -> $HOME_NET 80 (msg:“HTTP Test NOW!!!”; classtype:not-suspicious; sid:1000002;rev:1;)"

③ 清除规则:执行"sudo vi /etc/snort/snort.conf"命令,把除了local.rules之外的规则全部注释掉(把local.rules之后的include语句注释掉;

④ 检测是否配置成功:执行"sudo snort -T -c /etc/snort/snort.conf"命令;如图2所示;

(二)使用Snort进行入侵分析

1、信息查看:执行"ifconfig"命令,查看主机网卡信息:

eth0即为本机的网卡,如果有多个网卡,便会显示eth1、eth2…等网卡信息。

2、监控入侵:执行"sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0"命令

3、开始执行:登录主机2,Ping主机1,"ping 30.0.1.4 "

4、查看数据包信息:进入终端查看;

5、浏览器交互:用主机2通过浏览器的方式,访问主机1。在浏览器中输入http://30.0.1.4

6、返回终端窗口对检测的数据进行查看


五、实验现象、结果记录及整理:

1、在环境检测中,已经成功安装snort工具;

2、在环境配置修改中,有很多配置文件可修改,可根据用户所需,进行修改;如常规的路径设置、网络变量、加载库等;

3、在配置检测规则中,可根据用户所需,根据实际的情况进行规则的设置,本实验设置的是ICMP、HTTP数据包;

4、在实验实际运行时,发现通过snort工具,成功检测到了数据包的信息。


六、分析讨论与思考题解答:

1、入侵检测的检测引擎就是通过对规则选项的分析构成了Snort 检测引擎的核心。选项主要可以分为哪些?

①第一类是数据包相关各种特征的描述选项,比如:content、flags、dsize、ttl等;

②第二类是规则本身相关一些说明选项,比如:reference、sid、classtype、priority等;

③第三类是规则匹配后的动作选项,比如:msg、resp、react、session、logto、tag等;

④第四类是选项是对某些选项的修饰,比如从属于content的nocase、offset、depth、regex等

2、配置snort.conf中,可通过哪些方式设置本地网络?

①清晰指定你的本地网络

var HOME_NET 192.168.1.0/24;如果希望构建的Snort支持IPV6支持,则这里定义网段的类型修改为pvar;

②使用全局变量:var HOME_NET $eth0_ADDRESS

③定义一个地址列表,中间用逗号隔开:var HOME_NET [10.1.1.0/24,192.168.1.0/24] ,列表中不能有空格;

④定义任意的IP地址:var HOME_NET any;

3、免费企业网络入侵检测工具还有哪些?

①OSSEC HIDS:基于主机的开源入侵检测系统;

②Fragroute/Fragrouter:能够逃避网络入侵检测的工具箱;

③BASE:基本的分析和安全引擎,是基于PHP的分析引擎;

④Sguil:网络安全专家监视网络活动的控制台工具。


七、实验截图

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1313029.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SuperMap iPortal权限介绍

作者:yx 文章目录 前言一、内置权限二、自定义权限(11.1.0及以后版本)1、修改配置文件2、页面展示3、api调用4、结果验证5、实际应用 前言 iPortal 用户访问和使用门户中资源的能力取决于其用户类型与在门户中拥有的权限,权限通过…

深入分析ClassLocader工作机制

文章目录 一、ClassLoader简介1. 概念2. ClassLoader类结构分析 二、ClassLoader的双亲委派机制三、Class文件的加载流程1. 简介2. 加载字节码到内存3. 验证与解析4. 初始化Class对象 四、常见加载类错误分析1. ClassNotFoundException2. NoClassDefFoundError3. UnsatisfiledL…

2023.12.13 关于 MySQL 复杂查询

目录 聚合查询 聚合函数 group by 子句 执行流程图 联合查询 笛卡尔积 内连接 外连接 左外连接 右外连接 自连接 子查询 单行子查询 多行子查询 EXISTS 关键字 合并查询 union on 和 union 的区别 聚合查询 聚合函数 函数说明COUNT([DISTINCT] expr)返回查询到…

wpf TelerikUI使用DragDropManager

首先,我先创建事务对象ApplicationInfo,当暴露出一对属性当例子集合对于构成ListBoxes。这个类在例子中显示如下代码: public class ApplicationInfo { public Double Price { get; set; } public String IconPath { get; set; } public …

【【ZYNQ 7020显示 图片 实验 】】

ZYNQ 7020显示 图片 实验 关键配置 BRAM 因为本次 我想显示的 图片是 400*400 所以在 内部 的 ROM 存储单元选择 了160000 ZYNQ7020的内部资源 最多是 大概 200000左右的 大小 大家可以根据 资源选择合适的像素 此处存放 内部的 图片转文字的COE文件 PLL设置 我选用的是按…

详解wmvcore.dll丢失的解决方法

wmvcore.dll是一款由Microsoft开发的Windows系统文件,主要用于存储和处理多媒体文件,尤其是Windows媒体视频。该文件对于音频和视频的播放至关重要。如果电脑上缺少这个文件,可能会出现播放问题或者相关的应用程序运行错误。在本文中&#xf…

Netty详解

目录标题 1、前期知识科普1.1 NIO 基本概念1.2 java BIO与NIO对比1.3 Reactor 模型 2、Netty 基础概念2.1 Netty 简介2.2 Netty 执行流程2.3 Netty 核心组件 3、Netty Demo编写3.1 总体框架3.2 具体代码 4、交流群 1、前期知识科普 1.1 NIO 基本概念 阻塞(Block&a…

0x21 树与图的遍历

0x21 树与图的遍历 树与图最常见的储存方式就是使用一个邻接表保存它们的边集。邻接表以head数组为表头,使用ver和edge数组分别存储边的终点和权值,使用next数组模拟链表指针(就像我们在0x13节中讲解邻接表所给出的代码那样)。 …

科技铸就企业转型钢筋铁骨,群硕获评2023年度数字化影响力企业

12月15日,STIF2023第四届国际科创节暨DSC2023国际数字服务大会在北京顺利举行,本次大会以“数实融合 推动高质量发展”为主题,各大科技服务企业齐聚一堂,共同探讨2023科技发展新趋势。 大会上,群硕软件继2022年后再度…

Java版商城:Spring Cloud+SpringBoot b2b2c实现多商家入驻、直播带货及免 费小程序商城搭建

1. 涉及平台 平台管理、商家端(pc端、手机端)、买家平台(h5/公众号、小程序、app端(ios/android)、微服务平台(业务服务) 2. 核心架构 spring cloud、spring boot、mybatis、redis 3. 前端框架…

如何远程访问Axure RP制作的本地web站点实现协同办公

文章目录 前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4.2 启动website隧道4.3 获取公网URL地址4.4. 公网远程访问内网web站点4.5 配置固定二级子域名公网访问内网web站点4.5.1创建一条固定…

浅析AI视频分析与视频管理系统EasyCVR平台及场景应用

人工智能的战略重要性导致对视频智能分析的需求不断增加。鉴于人工智能视觉技术的巨大潜力,人们的注意力正在从传统的视频监控转移到计算机视觉的监控过程自动化。 1、什么是视频分析? 视频分析或视频识别技术,是指从视频片段中提取有用信息…

java.lang.UnsupportedOperationException

一、背景 记录一次小坑… 最近在写一个关于Excel导出的小需求,由于系统都有一些工具类,还有原来已经做好的导出,直接拿过来改了改就用了,没想到直接报错,尴尬。 还是那句话,别人都能用,我复制…

innovus:ccopt_design流程

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 ccopt完整的流程包括如下几个步骤: spec文件可以只创建一次,无需多次创建。 1)clustering阶段 set_ccopt_property balance_mode cluster …

产品经理之Axure的元件库使用详细案例

⭐⭐ 产品经理专栏:产品专栏 ⭐⭐ 个人主页:个人主页 ​ 目录 前言 一.Axure的元件库的使用 1.1 元件介绍 1.2 基本元件的使用 1.2.1 矩形、按钮、标题的使用 1.2.2 图片及热区的使用 1.3 表单元件及表格元件的使用 1.3.1表单元件的使用 1.3.…

NFS|在linux环境下的安装和配置NFS

简介 NFS全称网络文件系统,可用于不同服务器之间的文件共享。 接下来介绍下NFS在linux环境下安装和配置。主要分为服务端和客户端。 服务端安装 开启rpcbind/portmap和nfs服务 # service portmaper start [rootlocalhost java]# service portmap start Redirectin…

低代码平台浅析:引迈JNPF

低代码平台能够改变应用交付和管理的模式,大幅缩减交付周期,最终帮助业务加速创新。引迈JNPF作为当中的一个低代码平台,其在用户体系方面做得怎样呢?我针对引迈JNPF进行了相关体验与测评,一起来看下。 低代码平台体验简…

SpringBoot Starter机制 ——自动化配置

目录 一、Starter机制 1.1 什么是 SpringBoot Starter 1.2 SpringBoot Starter 的作用 1.3 Starter的应用场景 二、案例 2.1 模拟短信发送模版 2.2 AOP实现日志切面模版 一、Starter机制 1.1 什么是 SpringBoot Starter Spring Boot Starter是Spring Boot框架提供的一种…

[Linux] LVS负载均衡群集+NAT部署

一、LVS负载均衡群集知识 1.1 群集的的定义及意义 Cluster,集群(也称群集)由多台主机构成,但对外只表现为一一个整体,只提供一-个访问入口(域名或IP地址), 相当于一台大型计算机。 群集的作用&#xff1…

upload-labs笔记

简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共21关,每一关都包含着不同上传方式。 文件上传漏洞是指: Web 服务器允许用户将文件上传至其…