基于Ubuntu坏境下的Suricata坏境搭建
目录
Suricata环境安装
第一步、在 Ubuntu 端点安装 Suricata
1、加入Suricata源
2、更新安装包
3、下载SuricataSuricata
第二步、下载并提取新兴威胁 Suricata 规则集
1、在tmp文件夹下载 Suricata 规则集
如果发现未安装curl,使用apt安装即可:
2、解压并将安装包移动到/etc/suricata/rules/文件夹下
3、给suricata 640的权限
第三步、修改 /etc/suricata/suricata.yaml 文件中的 Suricata 设置,并设置以下变量:
第四步、重新启动 Suricata 服务
第五步、在wazuh部署新代理
1、选择操作系统
2、选择版本
3、选择架构
4、wazuh服务器地址
5、可选设置
6、安装并注册代理
7、启动代理
第六步、在 Wazuh 代理的 /var/ossec/etc/ossec.conf 文件中添加Suricata 日志文件:
第七步、重启 Wazuh 代理以应用更改
缺点:规则太多,误报率较高
解决:降噪——禁用无用规则
Suricata环境安装
第一步、在 Ubuntu 端点安装 Suricata
1、加入Suricata源
root@ubuntu-virtual-machine:/home/ubuntu# add-apt-repository ppa:oisf/suricata-stable

2、更新安装包
root@ubuntu-virtual-machine:/home/ubuntu# apt-get update

3、下载SuricataSuricata
root@ubuntu-virtual-machine:/home/ubuntu# apt-get install suricata -y
第二步、下载并提取新兴威胁 Suricata 规则集
1、在tmp文件夹下载 Suricata 规则集
root@ubuntu-virtual-machine:/home/ubuntu#cd tmp/
root@ubuntu-virtual-machine:/tmp# curl -LOhttps://rules.emergingthreats.net/open/suricata-6.0.8/emerging.rules.tar.gz

如果发现未安装curl,使用apt安装即可:
root@ubuntu-virtual-machine:/tmp# apt install curl

2、解压并将安装包移动到/etc/suricata/rules/文件夹下
root@ubuntu-virtual-machine:~# cd /etc/suricata/
root@ubuntu-virtual-machine:/etc/suricata# mkdir rules
root@ubuntu-virtual-machine:/tmp# tar -xvzf emerging.rules.tar.gz
root@ubuntu-virtual-machine:/tmp# mv /tmp/rules/*.rules /etc/suricata/rules/


3、给suricata 640的权限
root@ubuntu-virtual-machine:/etc/suricata/rules# chmod 640 /etc/suricata/rules/*.rules
第三步、修改 /etc/suricata/suricata.yaml 文件中的 Suricata 设置,并设置以下变量:
root@ubuntu-virtual-machine:/etc/suricata/rules# vim /etc/suricata/suricata.yaml
HOME_NET: "<UBUNTU_IP>" //这里填写suricata服务器的网关
EXTERNAL_NET: "any" //不要这个默认的,先改成any,默认的这个代表陈了本机网关之外的default-rule-path: /etc/suricata/rules
rule-files:
- "*.rules"# Global stats configuration
stats:
enabled: no# Linux high speed capture support
af-packet:- interface: enp0s3
interface 表示要监控的网络接口。用 Ubuntu 端点的接口名称替换该值。例如,enp0s3。
第四步、重新启动 Suricata 服务
root@ubuntu-virtual-machine:/etc/suricata/rules# systemctl restart suricata
第五步、在wazuh部署新代理
1、选择操作系统

2、选择版本

3、选择架构

4、wazuh服务器地址
这是代理用于与 Wazuh 服务器通信的地址。它可以是 IP 地址或完全限定域名 (FQDN)。

5、可选设置
默认情况下,部署将端点主机名设置为代理名称。或者,您可以在下面设置代理名称。
指定代理名称

6、安装并注册代理
您可以使用此命令安装和注册 Wazuh 代理。
如果安装程序在系统中发现另一个 Wazuh 代理,它将对其进行升级并保留配置。

root@ubuntu-virtual-machine:/var/log/suricata# curl -so wazuh-agent.deb https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.5.0-1_amd64.deb && sudo WAZUH_MANAGER='192.168.17.128' WAZUH_AGENT_GROUP='default' WAZUH_AGENT_NAME='Ubuntu20' dpkg -i ./wazuh-agent.deb

查看是否添加成功:
[root@wazuh-server ~]# cd /var/ossec/bin/

[root@wazuh-server bin]# ./manage_agents

添加成功
7、启动代理
sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent



第六步、在 Wazuh 代理的 /var/ossec/etc/ossec.conf 文件中添加Suricata 日志文件:
root@ubuntu-virtual-machine:/var/log/suricata# vim /var/ossec/etc/ossec.conf
<ossec_config><localfile><log_format>json</log_format><location>/var/log/suricata/eve.json</location></localfile>
</ossec_config>

第七步、重启 Wazuh 代理以应用更改
root@ubuntu-virtual-machine:/var/log/suricata# systemctl restart wazuh-agent

攻击模拟
Wazuh 自动解析Wazuh 仪表板上的数据并生成相关警报。/var/log/suricata/eve.json
从 Wazuh 服务器 Ping Ubuntu 端点 IP 地址:
[root@wazuh-server ~]# ping -c 20 192.168.17.128

打开Wazuh 仪表板中可视化警报数据

监控成功!!
相关文章:
基于Ubuntu坏境下的Suricata坏境搭建
目录 Suricata环境安装 第一步、在 Ubuntu 端点安装 Suricata 1、加入Suricata源 2、更新安装包 3、下载SuricataSuricata 第二步、下载并提取新兴威胁 Suricata 规则集 1、在tmp文件夹下载 Suricata 规则集 如果发现未安装curl,使用apt安装即可:…...
vue3权限管理——(路由权限)动态路由设置
1.大概思路 设置基础路由login和home等页面;登录后从后端获取user,token,rights等数据,并将数据同时存储到vuex和sessionStorage中将后端获取的权限数据(作为不同用户显示不同菜单及不同路由的依据)和路由页面进行映射࿱…...
小程序开发之登录授权
小程序开发登录授权流程 看懂这张图登录授权就没问题了(哈哈哈哈哈) 说明: 调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。 调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 sess…...
批量根据excel数据绘制折线图
要批量根据Excel数据绘制折线图,可以使用数据处理和图表绘制软件,例如Microsoft Excel或Python中的Matplotlib库。以下是两种方法: 1. 使用Microsoft Excel: - 打开Excel并导入包含数据的工作表。 - 选择需要绘制折线图的数…...
无锁并发:探秘CAS机制的魔力
😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: 无锁并发:探秘CAS机制的魔力 ⏱️ 创作时间: 2…...
iOS App签名与重签名:从开发者证书到重新安装运行
前文回顾: iOS脱壳技术(二):深入探讨dumpdecrypted工具的高级使用方法 iOS逆向:越狱及相关概念的介绍 在本文中,我们将详细介绍iOS应用的签名过程,包括开发者证书的种类、证书与App ID、Provisi…...
vue项目,如何修改Element-Plus等UI组件库的样式,三种方式搞定!!!
前言 我们在学习和使用组件库构建页面的时候,时常会遇到这样的问题。 即,尽管组件库已经提供了较多的功能,来帮助我们构建自定义的效果,但有时仍不能使我们满意。 这个时候我们就不得不修改UI库的样式,来达到想要的状…...
httpd协议与apache
1.http 相关概念 HTTP是处于应用层的协议,使用TCP传输层协议进行可靠的传送。因此,需要特别提醒的是,万维网是基于因特网的一种广泛因特网应用系统,且万维网采用的是HTTP(80/TCP)和 HTTPS(443/…...
Go 自学:文件的写入和读取
首先,使用os.Create()函数建立一个文件。 接着,使用io.WriteString()函数将内容写入文件。 最后,使用os.ReadFile()函数读取文件内容。 注意,这里读取的文件内容是data byte,我们需要使用string()函数将其转换为字符串…...
py 项目上线centos
1 服务器py版本 ps -ef|grep python|grep -v grep 2 2.x版本 安装 PyMySQL pip install PyMySQL0.9.3 3 后台运行py文件 nohup python down.py 1 > log.log 2>&1 & 这个命令将 down.py 程序放入后台运行, 同时将 stdout 输出到 log.log 文件中&…...
【git】would clobber existing tag 报错解决
问题 在用vscode的Git去pull代码的时候git弹窗报错,查看报错日志发现以下内容: > git pull --tags origin feature/xxx-2.0.0 From 173.110.11.22:VV-WORK-FE/vv-desktop* branch feature/xxx-2.0.0 -> FETCH_HEAD! [rejected] …...
Python OCR 使用easyocr库将图片中的文章提取出来
Python OCR 使用easyocr库将图片中的文章提取出来 初环境内容步骤一:安装easyocr库步骤二:导入必要的库步骤三:创建OCR阅读器对象步骤四:指定要识别的图片路径步骤五:执行OCR识别并提取文章内容步骤六:遍历…...
门禁系统忘记登入密码,现在更换电脑如何迁移旧电脑门禁系统的数据
环境: ivms-4200 v3.10.0.6_c 问题描述: 门禁系统忘记登入密码,现在更换电脑如何迁移旧电脑门禁系统的数据,旧电脑记住密码,忘了密码和密保了 解决方案: 1.前往海康官网下载4200客户端,在新电脑上安装 …...
初试Eureka注册中心
Eureka是spring cloud中的一个负责服务注册与发现的组件。遵循着CAP理论中的A(可用性)P(分区容错性)。一个Eureka中分为eureka server和eureka client。其中eureka server是作为服务的注册与发现中心。 搭建eureka服务 引入eureka依赖 引入SpringCloud为eureka提供的starter依…...
【趣味随笔】怎么维护自己的电脑?
📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…...
element 下拉组件获取对象
// 选择数据user:[{name:"小白",id:1,money:"100",love:"蛋糕"},{name:"小黑",id:2,money:"200",love:"奶茶"},{name:"小红",id:3,money:"300",love:"烧烤"},] <div><el…...
IDEA下SpringBoot指定环境、配置文件启动
1、idea下的SpringBoot启动:指定配置文件 Springboot项目有如下配置文件 主配置文件application.yml, 测试环境:application-test.yml 生产环境:application-pro.yml 开发环境:application-dev.yml 1.1.配置文件…...
python可视化matplotlib——绘制正弦和余弦
这是一个使用matplotlib库绘制正弦和余弦函数曲线的代码示例。代码中导入了需要的库,并设置了x轴和y轴的标签字体为华文楷体。然后,使用numpy生成一组x轴上的值t,并使用正弦函数生成对应的y轴值s,再使用余弦函数生成对应的y轴值z。…...
Day48|leetcode 198.打家劫舍、213.打家劫舍II、打家劫舍|||
leetcode 198.打家劫舍 题目链接:198. 打家劫舍 - 力扣(LeetCode) 视频链接:动态规划,偷不偷这个房间呢?| LeetCode:198.打家劫舍_哔哩哔哩_bilibili 题目概述 你是一个专业的小偷,…...
Mysql001:Mysql概述以及安装
前言:本课程将从头学习Mysql,以我的工作经验来说,sql语句真的太重要的,现在互联网所有的一切都是建立在数据上,因为互联网的兴起,现在的数据日月增多,每年都以翻倍的形式增长,对于数…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
boost::filesystem::path文件路径使用详解和示例
boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类,封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解,包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...
python基础语法Ⅰ
python基础语法Ⅰ 常量和表达式变量是什么变量的语法1.定义变量使用变量 变量的类型1.整数2.浮点数(小数)3.字符串4.布尔5.其他 动态类型特征注释注释是什么注释的语法1.行注释2.文档字符串 注释的规范 常量和表达式 我们可以把python当作一个计算器,来进行一些算术…...
【QT控件】显示类控件
目录 一、Label 二、LCD Number 三、ProgressBar 四、Calendar Widget QT专栏:QT_uyeonashi的博客-CSDN博客 一、Label QLabel 可以用来显示文本和图片. 核心属性如下 代码示例: 显示不同格式的文本 1) 在界面上创建三个 QLabel 尺寸放大一些. objectName 分别…...
