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 对应跳的次数为 我们使用通用定时器…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...





测试:




