NIDS——suricata(三)
一、监控ICMP流量
1、ICMP流量特征
四大特征分别为:消息类型(Type)、代码(Code)、校验和(Checksum)、数据字段(Data Field)。这里我们使用 type消息类型。
ICMP 消息的类型字段标识了消息的类型。常见的类型包括回显请求(Echo Request,类型 8),回显应答(Echo Reply,类型 0),目的不可达(Destination Unreachable,类型 3),超时(Time Exceeded,类型 11)等。
而 ping 命令就是利用 ICMP 回显请求和回显应答来检查网络连接的连通性。
2、获取ICMP流量
通过ping的方式来获取该流量
ping ip
ping了四次
锁定特征
构造规则
在suricata中与Type* 8对应的是itype: 8,因此无需再写prce或content
alert icmp $EXTERNAL_NET any <> $HOME_NET any (msg:"icmp流量检测"; itype:8;threshold: type threshold,track by_src,count 10,seconds 20;sid:561011;)
threshold:用于设定和定义基于特定条件的阈值规则。
type threshold:设定规则为阈值类型,还可以是
type rate等,限制速率,防止DDOS攻击。track by_src:根据源 IP 地址来跟踪请求。
count 10,seconds 20:20秒内发生10次.
意思是:在20秒内连续ping10次就触发警告。
添加测试
添加:
测试:
成功
二、监控TCP流量
1、预警TCP连接过高(全连接)
所谓的全连接简单来说就是建立TCP连接的过程,确保双方都准备好进行通信。攻击者通过构建大量的全连接使服务器崩溃。
规则构建:
flow:established,to_server这是关键字
flow:to_client, established:匹配从服务器到客户端的已建立连接的数据包。
flow:to_server, established, only_stream:匹配从客户端到服务器的已建立连接的数据包,并且这些数据包属于单一的数据流。
flow:to_server, not_established, no_frag:匹配从客户端到服务器的数据包,但这些数据包不属于已建立的连接,并且不允许是分片的。alert tcp $EXTERNAL_NET any <> $HOME_NET any (msg:"tcp连接过高,请及时检测!(全)"; flow:established,to_server;threshold: type threshold,track by_src,count 20,seconds 10;sid:561013;)
写入规则与测试:
写入:
测试:
在kali中使用如下命令安装wrk:
apt install wrk全连接攻击:
wrk -c 300 -t 4 -d 600 http://192.168.248.134/pikachu
-c, 跟主机保持连接数量
-d, 测试持续时间
-t, 开启线程数成功
三、监控SSH流量
1、抓取登录失败流量

分析:
ssh登录时客户端和服务端会交换密钥然后产生新的密钥New Keys,ssh在爆破时会产生很多次New Keys,这就是ssh爆破的一个特征。
其中每个New Keys的最后都是如下图这样:

框住的是16进制。
2、构建规则
根据上述的特征,先构建正则表达式,匹配New Keys中的最后的内容
prce:"|15 00 00 00 00 00 00 00 00 00 00|"
构建整个规则:
alert ssh any any <> $HOME_NET 22 (msg:"SSH爆破"; content: "|15 00 00 00 00 00 00 00 00 00 00|"; threshold: type threshold, track by_src, count 2, seconds 20; sid:5622002;)
四、MySql预警
1、登录失败预警
(1)保证系统的mysql可以远程连接
这里我使用的是xampp中的自带的mysql,初始时是没有密码的
修改成如下如这样就可以远程连接了:

测试远程连接

远程连接成功。
(2)抓取流量
查看wireshark抓取的流量信息
成功时:
既然成功了,也没必要提醒了。

失败时:

查看失败流量:

(3)编写规则
锁定关键点:
Error message: Access denied for user 'root'@'192.168.164.1' (using password: YES)
中的:
Access denied for user
编写规则:
首先要在/etc/suricata/suricata.yaml添加一个MySql端口(3306)的变量:
vi etc/suricata/suricata.yaml
我这里没有设置,直接填写为3306
Suricata默认并没有提供对MySQL的应用层协议的支持,所以只能使用TCP协议。
规则:
alert tcp any any <> any 3306 (msg:"MySQL登录失败"; content:"Access denied for user"; nocase; sid:5620001;)
(4)添加规则并测试:
添加:
测试:
成功
2、Mysql爆破预警
1、编写规则
在登录失败的基础上加上阈值来构建MySql爆破的监控规则:
alert tcp any any <> any 3306 (msg:"MySQL爆破攻击"; content:"Access denied for user"; nocase; threshold: type threshold, track by_src, count 5, seconds 10; sid:5620002;)
2、添加规则并测试
添加:
测试:
成功
3、MySql木马写入
1、锁定语句:
select "<?php eval($_POST['code']); ?>" into outfile "/opt/shell.php";
2、构建规则
alert tcp any any <> any 3306 (msg:"MySQL木马写入"; content:"into outfile"; nocase; pcre: "/eval|assert|system|_POST|_GET/i"; sid:5620004;)
3、添加规则与测试
测试:
相关文章:
NIDS——suricata(三)
一、监控ICMP流量 1、ICMP流量特征 四大特征分别为:消息类型(Type)、代码(Code)、校验和(Checksum)、数据字段(Data Field)。这里我们使用 type消息类型。 ICMP 消息的类…...
运动耳机哪个牌子最好用?年度精选五款好用的骨传导耳机推荐
相信大家都已经深有体会,拿那种常规的入耳式无线蓝牙耳机来做运动耳机,很难满足运动需要。如果选择前两年流行的颈挂式无线运动蓝牙耳机,虽然简单轻巧,但也是入耳式设计,长时间佩戴耳朵不舒服。这样看来,运…...
鞋服企业信息化建设若干架构分享
鞋服企业的信息化建设有着自身的一些特点,这些特点主要体现在以下几个方面: 集成化:鞋服企业的信息化建设往往需要集成多种系统,如企业资源规划系统(ERP)、客户关系管理系统(CRM)、供…...
比较顺序3s1和3s2的搜索难度
在行列可自由变换的平面上,3点结构只有6个 (A,B)---6*30*2---(0,1)(1,0) 分类A和B,让A是6个3点结构,让B全是0。当收敛误差为7e-4,收敛199次取迭代次数平均值, 让训练集A-B矩阵的高分别是3,4,5…...
Vue3 el-switch @change事件在初始化时会自动调用问题
接收一个vue3项目,突然有一天,table里有个switch开关,请求数据之后就开始执行switch的change事件,我还啥都没操作,就报一推重复请求 <template><el-switch v-model"rec" inline-prompt :active-val…...
全面解析性能测试中的瓶颈分析与优化策略!
在软件开发的生命周期中,性能测试是确保应用程序在不同负载下稳定运行的关键步骤。性能瓶颈是导致系统性能下降的主要原因,及时发现并解决这些瓶颈,能够显著提升系统的响应速度和用户体验。本文将深入探讨性能测试中的瓶颈分析方法与优化策略…...
2018年Android面试题含答案--适合中高级(下)
熟悉Android系统的童鞋都知道,系统出于体验和性能上的考虑,app在退到后台时系统并不会真正的kill掉这个进程,而是将其缓存起来。打开的应用越多,后台缓存的进程也越多。在系统内存不足的情况下,系统开始依据自身的一套…...
基于SSM的汽车租赁系统+LW示例参考
系列文章目录 1.基于SSM的洗衣房管理系统原生微信小程序LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统LW参考示例 3.基于SpringBootVue的企业人事管理系统LW参考示例 4.基于SSM的高校实验室管理系统LW参考示例 5.基于SpringBoot的二手数码回收系统原生微信小程序LW参考示…...
[晕事]今天做了件晕事44 wireshark 首选项IPv4:Reassemble Fragented IPv4 datagrams
不知不觉,已经来到了晕事系列的第四十四个晕事。今天办的晕事和Wireshark查看网络包相关。说,在Wireshark的编辑-首选项协议里的IPv4协议,有一个参数设置是:Reassemble Fragented IPv4 datagrams。 这个参数的含义是指定Wireshar…...
Unity人工智能开发学习心得
在Unity中进行人工智能研究与应用主要集中在几个关键领域,包括使用Unity ML-Agents插件进行强化学习、利用神经网络技术和深度学习技术训练AI,以及基于行为树技术设计游戏人工智能。 使用Unity ML-Agents插件进行强化学习:Unity ML-Agent…...
0911,类与类之间的关系,设计原则,工厂模式
01_figure.cc //简单工厂 #include <math.h> #include <iostream> #include <string> #include <memory>using std::cout; using std::endl; using std::string; using std::unique_ptr;//-------------------------------------------------// /…...
【2024最新版】零基础Python快速入门篇
完整代码已打包,需要的小伙伴可以戳这里 [学习资料] 安装和运行 1.安装 要使用"Python"首先要把它安装到你电脑里。打开 [Python官网]下载安装包。 在Windows上安装 打开安装包,选择"Use admin privileges when installing py.exe&qu…...
掌握Go语言中的映射、常量与指针
映射(Maps) Go语言中的映射(map)等同于其他编程语言中的哈希表。映射的最大优势是可以使用任何可比较的数据类型作为键,也就是所谓的“map key”或“键”。尽管Go语言中的映射并没有限制哪些数据类型可以作为键&#…...
@35岁的网安人 答应我拿下这些证书
一、CISP注册信息安全专业人员 注册信息安全专业人员(Certified Information Security Professional,简称“CISP"),中国信息安全测评中心依据中编办赋予的职能,建立和发展的一整套完整的信息安全保障人才培训体系。CISP证书是国家对信息…...
flutter Image
Flutter中,Image是一个用于显示图片的控件,可以显示网络图片、本地图片以及Asset中的图片。Image控件支持多种常见的图片格式,例如PNG、JPEG、GIF等。 const Image({super.key,required this.image,this.frameBuilder,this.loadingBuilder,th…...
基于RP2350 MCU的树莓派Pico 2开发板及MicroPython编程使用
2021年1月21日,树莓派基金会同时发布了第1代RP2040 MCU芯片和基于RP2040 MCU的第1代树莓派Pico开发板(Raspberry Pi Pico/ Raspberry Pi Pico 1)。2024年8月8日,树莓派基金会又发布了第2代RP2350 MCU芯片并推出了基于RP2350 MCU的第2代树莓派Pico开发板(Raspberry Pi Pico 2)…...
Docker数据挂载本地目录
docker内的数据映射可以不通过数据卷,直接映射到本地的目录。下面将以mysql容器示例,完成容器的数据映射。 注意:每一个不同的镜像,将来创建容器后内部有哪些目录可以挂载,可以参考DockerHubDocker Hub Container Ima…...
身份证实名认证接口如何用C#实现
一、什么是身份证实名认证? 身份证实名认证又叫身份证实名核验、身份证二要素、身份实名核验、身份证验证,输入姓名、身份证号,校验此两项是否匹配,同时返回生日、性别、籍贯等信息,同时支持港澳台证件核验。 二、身…...
Java开发者无痛丝滑入门Python
哈喽各位道友,经过两周的更新,凡人编程传的第一个“系列”学习笔记《Python基础》已经全部上线啦,现在免费分享给大家,学习路线在下面,点击链接即可跳转对应笔记。 这套笔记有什么不一样的地方呢?这套笔记…...
【STM32】呼吸灯实现
对应pwm概念可以去看我的博客51实现的呼吸灯 根据对应图我们可知预分频系数为999,重装载值为2000,因为设置内部时钟晶振频率为100MHZ ,1s跳 100 000000次 ,跳一次需要1/100 000000s 20ms0.02s 对应跳的次数为 我们使用通用定时器…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...





测试:




