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


七、实验截图

 

 

 

 

 

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

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

相关文章

一、win10+yolov8+anaconda环境部署

1、安装anaconda (1)打开aonconda下载地址:https://www.anaconda.com/download,点击download下载。 2、下载完成后,双击打开,点击Next,I Agree,选择just me; 3、勾选…

Spring上下文之注解模块ConfigurationMethod

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌ 博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+…

飞天使-docker知识点8-docker的资源限制

文章目录 容器资源限制示例 容器资源限制 Docker提供了多种资源限制的方式,可以根据应用程序的需求和系统资源的可用性进行选择。以下是一些常见的Docker资源限制及其使用情况:CPU限制:通过设置CPU的配额(quota)和周期…

网络(九)CanSM及达芬奇配置

【小猫爪】AUTOSAR学习笔记05-Communication Stack之CanSM模块-CSDN博客 上链接讲的非常好。 CanSM提供的函数。 C CanSM使用的函数:

spring mail 邮件发送demo

首先配置号邮件服务器(我用的是126邮箱),获取密钥: 进入下图的【邮箱中心】->点击右侧的齿轮按钮 接着,开启 下图位置 的 POP3/SMTP(我当时点击开启时,需要手机扫码认证下) 最后…

putIfAbsent、computeIfAbsent、computeIfPresent

putIfAbsent 判断是否存在,不存在则设置 hashmap.putIfAbsent(K key, V value) 例子如下: public static void main(String[] args) {//hashmap.putIfAbsent(K key, V value)HashMap hashMap Maps.newHashMap();hashMap.put("aa","on…

ConnectionError怎么解决

文章目录 解决思路lz的具体解决过程 解决思路 这个错误表明在尝试加载评价指标时,代码试图从 huggingface 下载文件,但由于代理错误而无法连接。 为了解决这个问题,你可以尝试以下几个步骤: 1.设置代理: 如果你在使…

Zabbix监控系统部署与管理

zabbix介绍 zabbix是⼀个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的免费开源解决⽅案。zabbix能监视各种⽹络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix构成 zabbix由…

Windows进程机制

进程 进程要做任何事情,必须让一个线程在它的上下文运行。该线程负责执行进程地址空间包含的代码。每个进程至少要有一个线程来执行进程地址空间包含的代码。当系统创建一个进程的时候,会自动为进程创建第一个线程,这称为主线程(…

命令调用先构建hashTable

GPT 代码改 #include <stdio.h> #include <stdlib.h> #include <string.h>#define TABLE_SIZE 256struct Node {char *key;void *value;struct Node *next; };struct HashTable {struct Node *table[TABLE_SIZE]; };void initHashTable(struct HashTable *ha…

GPT-AI导航

1. https://ai-bot.cn/ https://ai-bot.cn/

工业固体废物智能化综合管控平台

工业固体废物智能化综合管控平台&#xff0c;涵盖产废企业、运输企业、固废处置企 业等不同群体应用&#xff0c;根据不同群体设计不同的业务应用子系统功能&#xff0c;以及各个不 同群体的环保物联网平台子系统功能模块&#xff0c;同时具有移动端的应用APP。 建立产废企业端…

C++ stringOJ练习题

目录 把字符串转换成整数 反转字符串 字符串中的第一个唯一字符 字符串最后一个单词的长度 找出字符串中第一个只出现一次的字符 字符串相加 字符串最后一个单词长度 字符串相乘 反转字符串3 反转字符串2 验证回文串 把字符串转换成整数 通过遍历字符串并逐位转换…

phpy 连接 PHP与Python生态 跨界合作 PHPY搭建 已解决

目录 需求介绍 安装 windows版本 文件地址 运行效果 需求介绍 在日常功能开发中&#xff0c;难免会使用python的计算库&#xff0c;同时自己要是一名PHP开发工程师。就在最近有相应的需求&#xff0c;索性使用phpy来进行功能开发 安装 windows版本 phpy 是识沃团队最新推出…

千梦网创:Too Young,to simple

大多数人啊&#xff0c;还是too young&#xff0c;包括我。 网上的评论对我而言并不影响我通过提供价值服务经营生活&#xff0c;但是有时候对于我的思考还是有一些帮助的。 我把很多可以争与不可争的事件看做是一种现象&#xff0c;这种现象往往可以给予我新的能量。 当学员…

双端队列和优先级队列

文章目录 前言dequedeque底层设计迭代器设计 priority仿函数数组中的第k个最大元素优先级队列模拟实现pushpop调整仿函数存储自定义类型 前言 今天要介绍比较特殊的结构&#xff0c;双端队列。 还有一个适配器&#xff0c;优先级队列。 deque 栈的默认容器用了一个deque的东西…

【C语言(十三)】

自定义类型&#xff1a;结构体 一、结构体类型的声明 1.1、结构体回顾 结构是⼀些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.1.1、结构的声明 例如描述⼀个学生&#xff1a; struct Stu {char name[20];//名字int age;//年龄c…

三层交换,DHCP的详解与VRRP

目录 一、三层交换 1、三层交换机的作用&#xff1a; 2.vlan的虚拟接口vlanif&#xff08;ifinterface接口&#xff09; 3.三层交换机实验 4.拓展实验​编辑 二、DHCP 1.自动获取ip地址&#xff1a; 2.DHCP的好处&#xff1a; 3.分配方式&#xff1a; 4.举例&#xff…

分布式消息传递新时代:深入了解RabbitMQ_sharding插件的精髓【RabbitMQ 八】

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 分布式消息传递新时代&#xff1a;深入了解RabbitMQ_sharding插件的精髓 引言前言基础概念以及原理配置和使用应用场景结语 引言 &#x1f33a;&#xff1a;docker构建rabbitmq并配置延迟队列插件 ⏳…