wazuh--开源安全平台

目录

介绍

功能简介

 组件模块

1.客户端的功能

2.服务端

3.Elastic Stack

如何安装

1.仓库安装

 2.ova虚拟机安装

添加代理

 简析wazuh的常用规则原理和主动响应

告警信息(alerts)

规则以及解码器(rules and decoders)

规则

解码器

linux后门rootkit检测

用户自定义规则,以及动态链接库的劫持复现

SQL注入检测


介绍

Wazuh(Wazuh · The Open Source Security Platform):是一整套基于ossec安全检测工具和EFK日志工具构成的终端安全管理工具。不管是将其分类至HIDS,还是EDR,它都是一套通过监控主机日志行为,提供安全检测、分析和完整报告的开源、免费利器。Wazuh基于C/S架构,它的Agent支持Windows、MacOS、Linux、HP-UX、AIX等主流操作系统。其服务端负责提供认证和数据收集,然后通过filebeat进行日志清洗,最后导入ElasticSearch,通过Kinbana进行展示和输出日志。它不仅可以收集主机的事件日志进行一般的入侵检测功能,还可以通过第三方提供的系统漏洞检测feed文件,来实现主机的漏洞扫描和合规检查。

功能简介

 组件模块

1.客户端的功能

  1. 收集日志和事件日志;
  2. 文件和注册表的监控;
  3. 运行进程和安装软件的信息收集;
  4. 监控系统端口和网络配置;
  5. 检测恶意软件;
  6. 配置管理和策略监控
  7. 检测主机响应
2.服务端

  1. 客户端的服务器注册;
  2. 实现客户端的连接服务;
  3. 根据各项规则实现事件日志的分析引擎;
  4. 提供RESTful API;
  5. 实现服务端的群集化;
  6. 使用Filebeat将日志文件吐给ES存储
3.Elastic Stack

  1. 事件日志的收集存储;
  2. 日志的分析和提供搜索功能;
  3. 展示和分析事件日志;

如何安装

1.仓库安装

添加wazuh的官方仓库来安装wazuh的安装包

具体流程可以跟着wazuh的官方文档来一步步走

Wazuh documentation

 2.ova虚拟机安装

 在物理机上下载以后,然后在vm中之间导入,文件→打开。

添加代理

目前我们只是安装了wazuh的服务端,没有任何客户端连接,这是没有任何意义的,我们需要让其他服务器成为wazuh的客户端,也就是添加代理,端口号为1514。

这里添加的是centos7,注意是server address不是你的虚拟机的ip。

 像是如下就是代理成功了

wazuh的可视化界面进入方式就是,进入root模式后,直接在网页输入你的wazuh虚拟机的ip地址,然后就可以登录,密码和用户名都是admin。

 简析wazuh的常用规则原理和主动响应

告警信息(alerts)

当入侵者或正常用户执行了某些命令、做了某些操作,触发了wazuh的规则,那么wazuh就会在日志中记录并告警

这个日志的目录是在/var/ossec/logs/alerts目录下

分为有日期的告警日志和总告警日志

以.json结尾的文件是json格式的日志,主要用于ELK分析展示

以.log结尾的文件是我们查看起来比较方便的格式。

 我们随便看一条log

 我们在2023/8/22 9:15:20 进行了一次sudo -i,就是进入root模式

可以看到规则号为5402,报警等级为3,并且确定登录了,用户为root。

 在可视化界面更容易查看,警告等级默认为3.

规则以及解码器(rules and decoders)

规则

wazuh的规则在/var/ossec/ruleset/rules目录下

 

 而用户的自定义规则是在/var/ossec/etc/rules目录下

为什么不把用户自定义的规则放在wazuh的规则目录下,而是放在单独的自定义规则目录下呢?

这是因为wazuh的规则是在实时更新的,如果用户自定义的规则放在wazuh的规则目录下,有可能在更新的时候删除掉用户自定义的规则

解码器

解码器处于的位置

 解码器位于/var/ossec/ruleset/decoders/。不要在这些位置编辑规则或解码器,因为Wazuh的更新会覆盖你的更改。保存自定义规则和解码器的位置分别是/var/ossec/etc/rules/和/var/ossec/etc/decoders/。

Wazuh中的解码器就是从特定类型的事件中提取相关数据。解码分为预解码阶段和解码阶段。

预解码阶段:从已知字段(如syslog记录头中的字段)提取静态信息。这通常包括时间戳、主机名和程序名,这些值通常在所有syslog消息中都能找到,而不管哪个应用程序生成它们。
解码阶段:将从事件中提取更多的动态信息,如源IP地址、用户名、URL等等。一个或多个解码器专门用于从许多不同的应用程序和日志源中提取字段数据。

一旦日志事件被解码,Wazuh就可以根据其规则集对其进行评估,以确定是否应该生成警报。如果日志没有解码,Wazuh规则将被限制在寻找出现在日志事件中任何地方的通用子字符串,从而大大降低了生成告警的质量。

linux后门rootkit检测

 后门检测和基线检查的脚本在/var/ossec/etc/rootcheck目录下

debian_linux操作系统的基线检查、MySQL的基线检查、rhel_linux操作系统的基线检查、Windows2012R2操作系统的基线检查等等,如下的是后门检查。

 

 查看一下后门检查文件,wazuh的后门检查包含了世面上绝大数的rootkit,只有少数的核心rootkit没有。

 

再看检测木马的脚本

 可以看到wazuh能够检测Linux的基础命令是否被恶意代码替换。

检测hosts文件被恶意软件劫持等等功能。

用户自定义规则,以及动态链接库的劫持复现

这里我们就来写入动态链接库劫持的规则

Detecting common Linux persistence techniques with Wazuh

 centos7本身是有audit这个工具的,只需要启动一下就行

我们根据官方文档的步骤,重新查看我们的audit的规则,如下

 我们查看/var/log/audit,可以发现我们添加的规则已经触发

 我们在/etc/ld.so.preload中写入一个so文件,来手动触发这个规则。

 然后再去wazuh去查看

 可以证明成功触发了这个规则。

SQL注入检测

方法很简单,我们在centos的ossec.conf文件下添加自己的Apache路径

然后写一个sql注入语句。

your ip/?id=1%27%20select%201,2,3--+

再来查看Apache的日志文件。

 我们再来看wazuh,就会发现如下情况,有人尝试sql注入。

 这里的预期结果是规则 ID 31103 的警报,但成功的 SQL 注入尝试会生成规则 ID 31106 的警报。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值