suricata命令和规则语法

Suricata User Guide — Suricata 7.0.1-dev documentation

一、命令行选项

1、常用启动选项

-c <path> 指定配置文件suricata.yaml所在路径
-i <interface> 指定要监控的网卡名称或ip地址
-T 测试配置文件是否正确
-v 设定日志级别,包括-v: INFO -vv: PERF -vvv: CONFIG -vvv:DEBUG
-D 后台启动
-l 设定日志输出目录,将会覆盖配置文件中的default-log-dir:/var/log/suricata 选项,可保持默认
-s <filename> 临时添加一个新的规则文件
​

2、离线分析日志

在suricata启动的时候,可以添加选项来进行离线流量分析,为其指定对应的pcap流量文件即可,参数选项如下:

-r <path> 在pcap离线模式下运行,从pcap文件中读取文件。如果<path>指定了一个目录,则该目录下的所有文件将按照修改时间的顺序进行处理,保持文件之间的流状态。
​
​

此处的离线数据包文件,可以是wireshark、tcpdump、suricata等各类流量监控工具生成的文件。

使用whireshark监听一段流量,记录下404错误,让suricata进行离线分析,运行如下命令:

suricata -c suricata.yaml -r ~/404error.pcap -v   (-v是输出详情)

二、规则基础语法

规则参考文档

8. Suricata Rules — Suricata 7.0.1-dev documentation

1、ip地址规则

可以使用的语法如下:

操作员描述
../..IP范围(CIDR表示法)
异常/否定
[......]分组

如下示例均可用来定义源和目标ip地址

例子意义
!1.1.1.1除了1.1.1.1之外的每个ip地址
![1.1.1.1,1.1.1.2]除了1.1.1.1和1.1.1.2之外的每个ip地址
$HOME_NET您在yaml中的HOME_NET设置
[$EXTERNAL_NET,!$HOME_NET]EXTERNAL_NET而不是HOME_NET
[10.0.0.0/24,!10.0.0.5]10.0.0.0/24中除了10.0.0.5

3、端口规则

例子意义
[80,81,82]端口80、81和82
[80:82]范围从80到82
[1024:]从1024到最高端口号
!80除了80之外的每个端口
[80:100,!99]范围从80到100但不包括99
[1:80,![2,4]]范围为1-80,端口2和4除外

4. Meta keyword元关键字

在suricata规则选项中,针对不同的协议类型有不同的关键字,同时,针对所有协议生效的关键字,称为元关键字。

(1)msg:预警信息的详细描述,也是用来快速了解规则所描述的问题所在

(2)sid:规则编号,用来唯一识别规则项,建议自定义规则也要有一套自己的标准,避免和已有规则重合

(3)rev:规则的修订版本,默认为0,可以自由设定版本号

(4)classtype:规则所属的类的类型,在classification.config中进行定义,同时也包含规则的priority优先级字段

(5)reference: 引用参考,一个url地址或是一条cve编号,如reference: url,www.info.com,reference:cve,CVE-2014-1234

(6)priority:优先级选项,如果明确指定,将覆盖classtype中的优先级设定,范围为1-255,建议设定1-4级,1级别为最高。

(7)metadata:元数据。添加非功能性数据,建议以键值对形式指定。如metadata: key value,key value;

(8)target:允许指定警报的哪一侧是攻击的目标。如果指定,警报事件将被增强以包含有关源和目标的信息。target:[src_ip|dest_ip]

其中(1)(2)是必要的,其他可选。

三、规则示例

alert http any any <> any 80 (msg:"web服务器出现404状态码"; content: "404"; http_stat_code; sid:561001;)
​
alert tcp any any <> any 3306 (msg:"login mysql failed"; content: "Access denied for user"; nocase; sid:561001;)
​

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

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

相关文章

UE5 C++ UGameInstance 功能、作用及应用

# UE5 C UGameInstance 功能及作用 网上有很多文章介绍&#xff0c;例如在游戏中只有一个实例&#xff0c;换关卡不会丢失等。暂时省略。 # UE5 C UGameInstance 应用 ## 应用一&#xff0c;UE5 C UGameInstance 里监听player创建事件 UWebSocketGameInstance.h里的定义 …

ELK日志收集系统集群实验(5.5.0版)

目录 前言 一、概述 二、组件介绍 1、elasticsearch 2、logstash 3、kibana 三、架构类型 四、ELK日志收集集群实验 1、实验拓扑 2、在node1和node2节点安装elasticsearch 3、启动elasticsearch服务 4、在node1安装elasticsearch-head插件 5、测试输入 6、node1服…

数据结构--6.0最短路径

目录 一、迪杰斯特拉算法&#xff08;Dijkstra&#xff09; 二、弗洛伊德算法&#xff08;Floyd&#xff09; 在网图和非网图中&#xff0c;最短路径的含义是不同的。 ——网图是两顶点经过的边上的权值之和最少的路径。 …

找不到msvcp140.dll的解决方法【msvcp140.dll修复工具下载】

今天&#xff0c;我将为大家分享一个与我们日常工作息息相关的话题——msvcp140.dll重新安装的5种解决方法。在接下来的时间里&#xff0c;我将向大家介绍什么是msvcp140.dll,为什么会丢失&#xff0c;以及它的用途。最后&#xff0c;我将为大家提供5种解决方法&#xff0c;帮助…

spring高级源码50讲-37-42(springBoot)

Boot 37) Boot 骨架项目 如果是 linux 环境&#xff0c;用以下命令即可获取 spring boot 的骨架 pom.xml curl -G https://start.spring.io/pom.xml -d dependenciesweb,mysql,mybatis -o pom.xml也可以使用 Postman 等工具实现 若想获取更多用法&#xff0c;请参考 curl …

【GUI开发】用python爬YouTube博主信息,并开发成exe软件

文章目录 一、背景介绍二、代码讲解2.1 爬虫2.2 tkinter界面2.3 存日志 三、软件演示视频四、说明 一、背景介绍 你好&#xff0c;我是马哥python说&#xff0c;一名10年程序猿。 最近我用python开发了一个GUI桌面软件&#xff0c;目的是爬取相关YouTube博主的各种信息&#…

01-认识风控

对风控的理解/价值 如果把平台比做一棵树&#xff0c;那么需要足够多的养分才能使树茁壮成长&#xff1b;而业务风险则是充当寄生在树上窃取养分的角色&#xff1b;只有抵御这种风险&#xff0c;保持足够多的养分&#xff0c;才能使平台成长为参天大树——这就是风控存在的价值…

【深入浅出C#】章节10: 最佳实践和性能优化:编码规范和代码风格

编码规范和代码风格之所以重要&#xff0c;是因为它们直接影响到软件开发的质量、可维护性、可读性和协作效率。编码规范和代码风格是编程中的关键要素&#xff0c;它们有助于编写高质量、可维护和易读的代码&#xff0c;提高团队协作效率&#xff0c;减少错误&#xff0c;降低…

PoseC3D 基于人体姿态的动作识别新范式

摘要1. Introduction2. Related Work动作识别 3D-CNN基于骨架的动作识别 GCN基于骨骼的动作识别 2D-CNN3. Framework3.1. Good Practice for Pose Extraction3.2. From 2D Poses to 3D Heatmap Volumes3.3 基于骨骼的动作识别 3D-CNNPose-SlowOnlyRGBPose-SlowFast4. Experimen…

基于Open3D的点云处理16-特征点匹配

点云配准 将点云数据统一到一个世界坐标系的过程称之为点云配准或者点云拼接。&#xff08;registration/align&#xff09; 点云配准的过程其实就是找到同名点对&#xff1b;即找到在点云中处在真实世界同一位置的点。 常见的点云配准算法: ICP、Color ICP、Trimed-ICP 算法…

ChatGPT Prompting开发实战(三)

一、关于chaining prompts与CoT的比较 前面谈到的CoT的推理过程&#xff0c;可以比作是一次性就烹调好一顿大餐&#xff0c;那么接下来要说的“chaining prompts”&#xff0c;其背后的理念是分多次来完成这样一项复杂任务&#xff0c;每次只完成其中一步或者一个子任务。核心…

WebGPU学习(8)---使用RenderBundle

RenderBundle是什么 通常情况下&#xff0c;WebGPU每次绘制时都需要向RenderPassEncoder注册渲染命令。处理此绘图命令比 WebGL 内部执行的类似处理更快。但是&#xff0c;如果可以省略此命令注册过程&#xff0c;则可以能够更快地绘制。RenderBundle 就是实现这一点的。 Ren…

【3.Vue子组件调用父组件方法】

1.概述 使用组件建抛出事件的方式来调用父组件的方法&#xff0c;不直接用this.$parent.function的方法&#xff0c;当然这种方式是可以的。 2.代码实现 2.1 父组件代码 父组件写一个方法给子组件调用 // 设备点击事件// equipId:设备id// leftValue:left值// topValue:top…

如何制作并运行 jar 程序

以下是用 Intellij 制作 jar 程序&#xff0c;并运行的方法。 【1】新建工程&#xff0c;保持默认选项&#xff0c;Next 【2】保持默认选项&#xff0c;Next 【3】给工程命名&#xff0c;设置保存位置&#xff0c;Finish 【4】新建工程结束&#xff0c;进入开发界面 【5】展开…

html中的换行(\n)或回车(\r)符号不起作用的解决办法、br、white、space、pre、line

文章目录 前言html不解释空白字符CSS样式的影响特定的文本区域white-space 前言 如果您的HTML中的换行和回车符号&#xff08;\n和\r&#xff09;似乎不起作用&#xff0c;可能有几种可能的原因&#xff1a; html不解释空白字符 在HTML中&#xff0c;连续的空白字符&#xff0…

Redis图文指南

1、什么是 Redis&#xff1f; Redis&#xff08;REmote DIctionary Service&#xff09;是一个开源的键值对数据库服务器。 Redis 更准确的描述是一个数据结构服务器。Redis 的这种特殊性质让它在开发人员中很受欢迎。 Redis不是通过迭代或者排序方式处理数据&#xff0c;而是…

Oracle21C--Windows卸载与安装

卸载方法&#xff1a; &#xff08;1&#xff09;WinR&#xff0c;输入services.msc,打开服务&#xff0c;把Oracle相关的服务全部停止运行&#xff08;重要&#xff09; &#xff08;2&#xff09;WinR&#xff0c;输入regedit&#xff0c;打开注册表&#xff0c;删除Oracle开…

构建高可用的消息队列系统:保障消息传递的稳定性

推荐阅读 项目实战:AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 资源分享 史上最全文档AI绘画stablediffusion资料分享 AI绘画关于SD,MJ,GPT,SDXL百科全书 AI绘画 stable…

无涯教程-Android - CheckBox函数

CheckBox是可以由用户切换的on/off开关。为用户提供一组互不排斥的可选选项时,应使用复选框。 CheckBox 复选框属性 以下是与CheckBox控件相关的重要属性。您可以查看Android官方文档以获取属性的完整列表以及可以在运行时更改这些属性的相关方法。 继承自 android.widget.T…

肖sir__linux详解__002(系统命令)

linux系统命令 1、df 查看磁盘使用情况 &#xff08;1&#xff09;df 查看磁盘使用情况&#xff08;按kb单位显示&#xff09; &#xff08;2&#xff09;df -h 按单位显示磁盘使用情况 2、top 实时查看动态进程 &#xff08;1&#xff09;top 详解&#xff1a; 第一行&…