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

一、实验目的要求:

二、实验设备与环境:

三、实验原理:

四、实验步骤:

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

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

七、实验截图


一、实验目的要求:

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:网络安全专家监视网络活动的控制台工具。


七、实验截图

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

visdom使用小技巧

visdom常用于深度学习迭代过程的可视化。在代码中,需要在相应位置增加如下代码: import visdomvis visdom.Visdom(envudomain_accuracy) #设置的环境名称vis.line(Xnp.array([epoch]), Ynp.array([domain_accuracy]),windomain_accuracy,updateappend,…

持续集成交付CICD:Jenkins使用基于SaltStack的CD流水线部署前后端应用

目录 一、实验 1.Jenkins使用基于SaltStack的CD流水线部署后端应用 2.Jenkins使用基于SaltStack的CD流水线部署前端应用 一、实验 1.Jenkins使用基于SaltStack的CD流水线部署后端应用 (1)GitLab添加Token (2)Jenkins添加凭据 (3&#xf…

Modbus转Profinet网关配置步骤

Modbus转Profinet网关(XD-MDPN100/200)是用于将Modbus协议和Profinet协议进行转换并进行通迅的设备。Modbus转Profinet网关(XD-MDPN100/200)无论是新项目还是改造项目都可轻松配置完成通迅互联。 正确的安装和配置对于确保设备的正…

重新思考U-Net在医学超声图像分割中的应用(NU-net)

Rethinking the Unpretentious U-net for Medical Ultrasound Image Segmentation 摘要: 乳腺肿瘤分割是帮助我们描述和定位肿瘤区域的关键步骤之一。然而,乳腺肿瘤形态多变、边界模糊、强度分布相似,给乳腺肿瘤的准确分割带来了挑战。近年…

matter模组有无源测试事例

测试一款matter模组的硬件性能 1.1 天线阻抗、电压驻波比测试 主要测试:PCB板载天线设计效率及板材PCB铜面的平整度等 1.2 模组有源数据测试 主要测试:模组的阻抗匹配、频偏等情况 1.3 模组传输能量精度 主要测试:矢量误差等数据 1.4 模…

多家高校设立“鸿蒙班”;ChatGPT 成为 Nature 年度十大人物丨 RTE 开发者日报 Vol.107

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

C# WPF上位机开发(利用tcp/ip网络访问plc)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 c# wpf如果是用来开发非标上位机的,那么和plc的通信肯定是少不了的。而且,大部分plc都支持modbus协议,所以这个…

焊盘:十字连接VS全覆盖 铺铜

在铺铜规则中,焊盘连接方式有两种: 十字连接 优点:较好焊接:因铺铜面积减少,温度下降速度降低,较好焊接,不易虚焊。 缺点:载流能力较弱:铺铜面积↓ → 载流能力↓全连接…

IDEA:TomEE 主目录/基目录出错

错误示例: 错误分析:创建Tomcat项目时,错误地创建了TomcatEE项目,重新创建即可。

【Java 集合】ConcurrentLinkedQueue

在日常中, 我们用到的数据结构有很多: 数组, 链表, 树等, 而在这些结构中, 还有一个叫做队列的存在。 和其他的集合相同, Java 原生提供了不同的实现。 而如果我们需要一个线程安全的队列的话, 可以基于实际的场景进行选择, 比如基于数组实现同时操作上会阻塞的 ArrayBlockingQ…

BRAS应用场景及测试方法

什么是BRAS? 宽带接入服务器(Broadband Remote Access Server,简称BRAS)是面向宽带网络应用的新型接入网关,它位于骨干网的边缘层,可以完成用户带宽的IP/ATM网的数据接入。 宽带接入服务器(BRAS&#xff0…

STL中sort的底层实现

文章目录 1、源码分析2、算法优化3、总结 在讲解STL中sort的底层原理之前,先引申出这样几个问题? ①STL中sort的底层是采用哪种或者哪几种排序? ②STL中sort会导致栈溢出吗? ③快速排序的时间复杂度是不稳定的 l o g 2 n log_2n l…

基于Java (spring-boot)的二手物品交易平台

​ 一、项目介绍 1、管理员功能 (1)登录:管理员能够根据账号访问系统。 (2)用户管理:管理员可以添加、删除、修改用户信息,查看用户列表,对用户进行管理和控制。例如&#xff0c…

死锁的预防、避免、检测和消除

一、预防死锁 1. 破坏互斥条件 2. 破坏不剥夺条件 3.破坏请求和保持条件 4.破坏循环等待条件 二、避免死锁 避免死锁的一种方法是使用银行家算法,它涉及到安全序列的概念。银行家算法是一种资源分配和死锁避免的算法,它确保系统能够分配资源而不会导致死…

十五、YARN辅助架构

1、学习内容 (1)了解什么是代理服务器 (2)了解什么是历史服务器 2、辅助架构 (1)辅助架构的由来 对于YARN架构来讲,除了ResourceManager集群资源总管家、NodeManager单机资源管家两个核心角…

『番外篇三』Swift “乱弹”之带索引遍历异步序列(AsyncSequence)

概览 在 Swift 开发中,我们往往在遍历集合元素的同时希望获得元素对应的索引。在本课中,我们将向小伙伴们展示除 enumerated() 方法之外的几种实现思路。在玩转普通集合之后,我们将用“魔法棒”进一步搞定异步序列带索引遍历的实现。 在本篇博主中,您将学到以下内容: 概…

Makefile基础使用与原理

一、基本概念 通常我们编写好代码后,都需要编译,只是这些操作是由IDE来完成,我们只需要点击一个编译按钮。当项目工程越来越庞大,存在几十个甚至更多的文件的时候,你使用的不是IDE工具,而是命令行&#xf…

基于JavaWeb+SSM+Vue微信小程序的移动学习平台系统的设计和实现

基于JavaWebSSMVue微信小程序的移动学习平台系统的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 Lun文目录 第1章 绪论 1 1.1 课题背景 1 1.2 课题意义 1 1.3 研究内容 2 第2章 开发环…

采用nodejs + socket.io实现简易聊天室功能(群聊 + 私聊)

项目演示 支持群聊以及私聊 项目代码 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport…

Android12-RK3588_s-开机动画

目录 一、实现自定义开机动画 步骤一&#xff1a;准备 bootanimation.zip 步骤二&#xff1a;将 bootanimation.zip 放到 /system/media/bootanimation.zip下 步骤三&#xff1a;重启即可 二、注意事项 2.1 bootanimation.zip 压缩 2.2 bootanimation.zip 存放 2.3 boo…