Wazuh安装&功能测试——一篇到底

        Wazuh 是一个免费的开源安全平台,统一了 XDR 和 SIEM 功能。 它可以保护本地、虚拟化、容器化和基于云的环境中的工作负载,帮助组织和个人保护其数据资产免受安全威胁,被全球数千个组织广泛使用,从小型企业到大型企业。

目录

一、下载安装

二、功能测试

 2.1  添加代理

 2.1.1 问题故障及解决

 2.2  SCA测试使用

 2.3  告警日志功能

 2.4  查看&修改规则

 2.5  Hydra联动规则5710

 2.6  突发5108规则

 2.7  rookit后门检测

 2.8  Vulnerabilities漏洞功能

 2.9  SQL注入&XSS跨站脚本尝试

 2.10  Wazuh小结


一、下载安装

🌂两种下载方式,其一直接去官网下载OVA文件;其二根据官网文档自行安装

官网下载地址:Virtual Machine (OVA) - Installation alternatives (wazuh.com)

🌂下载后,直接虚拟机打开使用该文件

🌂 开启虚拟机文件后,游览器访问https://你的wazuh ip即可加载Web端界面

#注意:此处"https://",必须加上,否则访问不了界面

二、功能测试

 2.1  添加代理

 🌂默认登录界面后(下图1)箭头位置有"add agents"字样,点击即可添加代理。

      比如我们添加一台windows系统的虚拟机(下图2),选择MSI 32/64 bits

🌂 服务器地址填写自己的wazuh ip地址。代理名称自命名即可。

🌂 分组default默认即可,填写后,我们复制下方生成的命令至windows server 2019的Powershell(管理员)执行,系统会显示正在写入字节,我们等待其完成后,执行启动代理命令"NET START WazuhSvc"。

🌂 返回wazuh界面,就会发现其已经上线连接,显示为active状态。

 2.1.1 问题故障及解决

🌂部分小伙伴可能在粘贴代理安装命令后,启动完成,Wazuh界面没有连接上线。此时,我们去agent也就是你想要连接的虚拟机(比如我这里是win2019)查看C:/Program Files(x86)/ossec-agent/ossec.conf 配置文件。

🌂 打开后,直接查看下图三个横线处 ①IP是否为你Wazuh的地址 ②agent_name标签是否为你命名的代理名称。如果不是,手动更改一致后,在Powershell执行"NET STOP WazuhSvc"先关闭该服务,在重新启动"NET START WazuhSvc"。

🌂更有甚者,可能这个文件中没有和我类似的标签代码,这时你直接执行"msiexec.exe /x wazuh-agent-4.7.3-1.msi /qn" 将此代理组件卸载,然后按照上面步骤再重装一次即可正常连接。

# 这里我只给出了Windows的卸载命令,其他centos、ubuntu系统参考官方文档的命令。

卸载 Wazuh 代理 - 卸载 Wazuh --- Uninstalling the Wazuh agent - Uninstalling Wazuh

 2.2  SCA测试使用

🌂在我们添加代理后,默认SCA安全配置评估模块扫描时间为12h一次,但一般刚连接上线的系统,wazuh会自动为其扫描出一次结果。

🌂 点击其扫描结果,Passed表示通过(即你的代理主机已经满足了wazuh对该项的修改建议);Failed表示失败(即不满足);Not applicable表示不适用(即wazuh提供的建议在该系统不适用);Score表示得分(wazuh扫描后对你代理主机的评分)

 🌂我们选择第一个Passed进行简要分析,可以看到(下图1)其通过注册表分析,建议将"最长密码期限"设置为"<60天,不为0",此项修改位置也给你提供了"计算机配置\策略\Windows 设置\安全设置\帐户策略\密码策略\最长密码期限"。那我们返回win2019虚拟机查看验证(下图2),发现设置为30天,因此满足。

# 以此类推,Failed失败也可以查看,并根据其建议进行更改,这无非是一种帮助用户基线检查的方式,还是很不错的

2.3  告警日志功能

🌂命令行查看:"cd /var/ossec/logs/alerts"目录下,cat查看 alert.logs 文件,随意查看60137规则,其描述为"windows用户注销登录",level等级3

图形化查看:wazuh主页-Modules模块-Security Events安全事件

# 根据此告警日志,用户可以查看一定时间内资产中出现的告警情况,及时做出响应

 2.4  查看&修改规则

🌂"cd /var/ossec/ruleset/rules"目录,cat查看0095 sshd_rules.xml文件(下图1),就拿5710规则来讲,我们可以看到它的描述是"尝试用一个不存在的用户登录",level等级为5。

测试方法:使用Xshell或MobaXterm等远程连接软件,或者直接注销界面登录,使用一个不存在用户及密码进行登录(下图3),然后查看安全事件消息即可。

防御方法:既然有了该告警,那我们如何对其防御呢?只需要在 /var/ossec/etc/ossec.conf 配置文件中,找到<active-response>标签,另起一行输入下方几行代码即可(下图2)。当有攻击者尝试使用不存在用户登录时,防火墙会主动响应阻止100s(下图4),此时间范围期间我们游览器刷新访问界面是无法正常加载的。当然你想,也可以直接将时长增加。

<active-response>
  <command>firewall-drop</command>
  <location>local</location>
  <rules_id>5710</rules id>
  <tieout>100</timeout>
</active-response>

  

 2.5  Hydra联动规则5710

🌂使用kali "hydra -l wazuh-user -w 10 -P password.txt -t 10 -v -f wazuh的IP地址 ssh",爆破wazuh ssh登录密码(因为nmap扫描发现开启22端口),连续的密码测试,出现了:

  规则5712,等级10——试图访问系统的暴力破解;

  规则5551,等级10——短时间内多次登录失败;

  规则5760,等级5——身份验证失败;

  规则5503,等级5——用户登录失败;

2.6  突发5108规则

🌂由于我也是第一次学习wazuh,在设置防火墙阻止100s响应后,开始认为是系统卡死(因为远程连接界面不动了...),后续才发现是正常现象。但为时已晚,当时的我在卡顿期间疯狂敲击回车、空格,也是意外出现吧,事后爆了5108规则,去查看该规则描述,可能是被我一顿袭击后,真的内存不足,卡死了....也罢,正好在这拿来,让大家伙都看看此规则描述。

2.7  rookit后门检测

🌂查看"/var/ossec/etc/rootcheck"基线检查文件中后门文件"rookit_files.txt",发现Bash_door(下图1),因此我们尝试在 tmp 目录下创建名为mcliZkohb文件(touch /tmp/mcliZkohb),并将配置文件中基线检查轮循时间改为180s(下图2,方便我们测试查看结果),等待后查看安全事件,出现异常告警,触发规则510,等级7(下图3)。

2.8  Vulnerabilities漏洞功能

🌂登录wazuh web界面后,我们发现漏洞模块默认是没有开启的,因此"cd /var/ossec/etc/ossec.conf"文件,设置vulnerabilities-detector模块,<enabled>标签改为yes,设置常规扫描5min(默认),完整扫描1h(本人更改后)一次。

# 确保设置完成时,有一个代理主机开启并连接状态

设置完成后,其会在后台进行扫描(我的笔记本当时是有风扇声音转了起来),等待一段时间后(没到一小时),出现漏洞结果。

# 下图2 是我添加的另外一个代理(win2016)扫描结果详细信息

2.9  SQL注入&XSS跨站脚本尝试

 🌂本次sql尝试,我使用了centos7.6测试(windows系统多次尝试未果,还没搞明白什么原因...)。

"yum update && yum install httpd"在centos安装apache服务,然后将centos的httpd日志存放目录 "httpd/access_log" 写入Wazuh的 /var/ossec/etc/ossec.conf文件中(如下图,这样才可以监测到该系统日志信息)

🌂 httpd服务装好后,建议使用其他虚拟机或物理机进行访问(提前关闭centos防火墙),输入 http://centos IP地址,正常回显界面即可。

接下来我们使用sql语句 http://centos IP/?id=1%27%20%20 select%201,2,3%20--+ 进行测试,查看安全事件告警。

🌂使用sql-map工具(我这里用的是kali自带的,命令"sql-map -u http://centos IP/?id=1"),再次进行测试,触发以下规则:

  规则31152,等级10——同一源IP多个web服务器400错误代码;

  规则31152,等级10——同一源IP多次SQL注入尝试;

若sql-map入住尝试成功,则会触发规则31106,等级6——网络攻击返回代码200(成功)

🌂 访问"http://centos IP/<script>alert(111)</script>",触发规则31105,等级6,XSS跨站脚本尝试。

2.10  Wazuh小结

🌂总而言之,wazuh的功能还是比较丰富的,研究该解决方案,主要是围绕 /var/ossec/etc/ossec.conf  /var/ossec/etc/rootcheck  /var/ossec/ruleset/rules,还有你agents代理系统中的 /ossec-agent/ossec.conf (windows和linux系统该文件存放位置不一,自行搜索一下)文件进行分析,有兴趣的小伙伴可以根据 /var/ossec/ruleset/rules 中的各种xml文件,研究一下wazuh的各种规则如何触发

至此,Wazuh的学习测试就暂告一段落了,文章有不足的地方,请各位师傅批评指正~ 

 参考文章:

BT利器之wazuh-CSDN博客

  • 10
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
1. 安装Elasticsearch和Kibana 首先,您需要安装Elasticsearch和Kibana。您可以按照以下步骤在CentOS上进行安装: 1.1 下载和安装Elasticsearch ``` sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch sudo vi /etc/yum.repos.d/elasticsearch.repo # 输入以下内容 [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md sudo yum install elasticsearch sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service ``` 1.2 下载和安装Kibana ``` sudo vi /etc/yum.repos.d/kibana.repo # 输入以下内容 [kibana-7.x] name=Kibana repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md sudo yum install kibana sudo systemctl enable kibana.service sudo systemctl start kibana.service ``` 2. 安装Wazuh 2.1 下载和安装Wazuh ``` sudo vi /etc/yum.repos.d/wazuh.repo # 输入以下内容 [wazuh_repo] gpgcheck=1 gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH enabled=1 name=Wazuh repository baseurl=https://packages.wazuh.com/4.x/yum/ sudo yum install wazuh-manager sudo systemctl enable wazuh-manager.service sudo systemctl start wazuh-manager.service ``` 2.2 安装Wazuh API ``` sudo yum install wazuh-api sudo systemctl enable wazuh-api.service sudo systemctl start wazuh-api.service ``` 3. 配置Wazuh 3.1 配置Wazuh API ``` sudo vi /var/ossec/api/configuration/api.yaml # 修改以下内容 # 修改password为您的密码 # 修改host为您的IP地址 auth: enabled: yes type: basic username: wazuh password: password server: host: 0.0.0.0 port: 55000 ``` 3.2 配置Wazuh Agent 在每个要监视的主机上安装Wazuh Agent。请按照以下步骤操作: ``` sudo rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH sudo vi /etc/yum.repos.d/wazuh.repo # 输入以下内容 [wazuh_repo] gpgcheck=1 gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH enabled=1 name=Wazuh repository baseurl=https://packages.wazuh.com/4.x/yum/ sudo yum install wazuh-agent sudo /var/ossec/bin/agent-auth -m IP地址 -A 密钥 ``` 将IP地址替换为Wazuh Manager的IP地址,将密钥替换为从Wazuh Manager获取的密钥。 4. 访问Wazuh 现在,您可以通过访问http://Wazuh_Manager_IP:5601来访问Kibana。在Kibana中,您可以查看Wazuh的日志和警报。 5. 配置防火墙 如果您启用了防火墙,则需要允许以下端口: ``` sudo firewall-cmd --permanent --add-port=55000/tcp sudo firewall-cmd --permanent --add-port=1514/tcp sudo firewall-cmd --permanent --add-port=1514/udp sudo firewall-cmd --permanent --add-port=514/tcp sudo firewall-cmd --permanent --add-port=514/udp sudo firewall-cmd --reload ``` 6. 安装Filebeat 如果您想将Wazuh日志和警报发送到Elasticsearch,则需要安装Filebeat。按照以下步骤安装Filebeat: ``` sudo rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch sudo vi /etc/yum.repos.d/elastic.repo # 输入以下内容 [elastic-7.x] name=Elastic repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md sudo yum install filebeat sudo systemctl enable filebeat.service sudo systemctl start filebeat.service ``` 7. 配置Filebeat 7.1 配置Filebeat输入 ``` sudo vi /etc/filebeat/modules.d/ossec.yml # 修改以下内容 - module: ossec syslog: enabled: true # 修改以下内容为您的Wazuh Manager的IP地址 var.syslog_host: "Wazuh_Manager_IP" var.syslog_port: "514" ``` 7.2 配置Filebeat输出 ``` sudo vi /etc/filebeat/filebeat.yml # 修改以下内容 output.elasticsearch: hosts: ["localhost:9200"] username: "elastic" password: "password" index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}" ``` 将localhost:9200替换为Elasticsearch的IP地址和端口,将elastic和password替换为Elasticsearch的用户名和密码。 7.3 启动Filebeat ``` sudo systemctl restart filebeat.service ``` 现在,Wazuh的日志和警报将被发送到Elasticsearch。您可以在Kibana中查看它们。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习的小白_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值