Wazuh:最受欢迎的开源HIDS系统在甲方安全建设中的应用(文末送书)


前言

Wazuh,作为一款顶级的开源主机入侵检测系统(HIDS),在甲方安全建设中扮演着至关重要的角色。

本文为大家提供一个全面的Wazuh安装和使用指南,帮助在企业安全建设中利用这一强大的安全工具来增强网络安全防护。

因为提供了详细的步骤,所以篇幅可能会有点长。写这篇文章的目的也很简单,网上其他关于wazuh的文章和教程实在是太乱了,wazuh在2024年的今天已经更新到4.8.1版本,无论是安装还是功能都有了质的突破,网上的wazuh文章互相抄袭严重,不同的标题但是过程一模一样,非常麻烦不说,跟着操作还报错,也不提供解决办法。

在我耗时1个星期,踩坑无数,终于总结成了这篇文章,我可以很负责任的说,入门部署wazuh,看我这一篇就够了!

文章末尾我也提供了故障排除指南和最佳实践建议,确保大家能够高效地维护和优化Wazuh部署。无论是对于网络安全新手还是经验丰富的专业人士,本文都旨在成为一个宝贵的资源,帮助他们在甲方安全建设中有效地利用Wazuh这一开源HIDS系统。


提示:以下是本篇文章正文内容,下面案例可供参考

一、安装

https://github.com/wazuh/wazuh
这是wazuh的官方开源仓库。

在这里插入图片描述

9.9k的stars,遥遥领先!免费的永远是最好的,也是老板们最喜欢的,能白嫖就优先用,迫不得已再买乙方的产品。(狗头)

这是wazuh的官方参考文档:
https://documentation.wazuh.com/current/installation-guide/wazuh-agent/index.html

后续有任何问题都可以查阅这个官方手册。

在这里插入图片描述

我们开始安装,其中wazuh分为服务端和客户端,服务端又细分为3个:indexer、manager、dashboard。客户端就是agent。

1.1 服务端安装

服务端安装有两种办法,一种是快速安装,另一个就是分布式安装。

1.1.1 快速安装

快速安装,一条命令解决:

curl -sO https://packages.wazuh.com/4.8/wazuh-install.sh && sudo bash ./wazuh-install.sh -a

是的,就是这么简单。

我的服务器是ubuntu:
在这里插入图片描述

如果报错,说明是服务器的内存不够,加-i参数就可以忽略这个服务器的配置。

目前wazuh的推荐配置是:4Gb of RAM and 2 CPU cores.太低的话,可能会造成卡顿。

 ERROR: Your system does not meet the recommended minimum hardware requirements of 4Gb of RAM and 2 CPU cores.
curl -sO https://packages.wazuh.com/4.8/wazuh-install.sh && sudo bash ./wazuh-install.sh -a -i

这样就能安装好了。而且自动弹出用户名和密码,密码可以登录后修改。
在这里插入图片描述

访问服务器的ip就可以自动跳转到wazuh的主页。

在这里插入图片描述

输入用户名和密码之后进到dashboard主页:

在这里插入图片描述

1.2 客户端安装

左上角菜单栏点击 Home–> Overview,点击Actice就可以安装不同客户端的agent。

因为我是第二次安装,我本机的agent还没有删除,所以页面跟你们的不太一样,实际上初次安装的时候是没有agent的,它会主动弹出一个黄色的安装agent的提示框,点击之后的效果和我这里的操作其实是一样的,所以问题不大。

在这里插入图片描述

点击Deploy new agent,添加一个新的agent。
在这里插入图片描述

根据要监控的电脑系统选择不同的版本,我的电脑是macOS M2芯片,所以我选择macOS Apple silicon。其他不同的系统也类似,按类型选择即可。

在这里插入图片描述

Server address填写服务器的ip地址,其他的默认。注意这里的agent name最终会显示在服务器端,所以如果要真实落地部署,这里最好设置成公司员工的姓名拼音,这样就可以更好的辨认和管理。

在这里插入图片描述

接着运行它输出的两条安装命令就行,这个根据实际情况来。先执行第四步的安装命令,再执行第五步的启动命令。

然后agent就能上线控制台了。

在这里插入图片描述

如果agent客户端存在高风险操作,记录和告警都会显示在Discover这里。

在这里插入图片描述

1.2.1 接入钉钉机器人(自动告警)

钉钉是很方便的,新建一个群聊,添加自定义机器人。把wazuh的告警信息自动推送到钉钉,这样就能做到实时查看,不用人工的去控制台查看告警了,非常方便。

在这里插入图片描述

如何监测呢?其实wazuh的所有告警日志都会存储在这个文件中:

 /var/ossec/logs/alerts/alerts.log

在这里插入图片描述

所以我们的钉钉脚本只需要这样开发就可以了,下面说说我的开发思路:

  1. python实现功能①:每隔3秒监测 /var/ossec/logs/alerts/alerts.log文件的变化。
  2. 如果 /var/ossec/logs/alerts/alerts.log文件发生变化,则将变化的最新内容(也就是最后以Alert开头的json内容打印输出到钉钉)

告警日志的格式其实很好筛选,写个正则就行了。

在这里插入图片描述

1.3 客户端agent卸载

https://documentation.wazuh.com/current/installation-guide/uninstalling-wazuh/agent.html#uninstalling-macos-agent
不同的客户端卸载方式不一样,基本上都是几条命令的事情,很简单。选择不同的客户端系统,按照要求来卸载就行。

在这里插入图片描述

我直接把macOS的agent卸载命令汇总成一条了,直接运行就能卸载。

sudo /Library/Ossec/bin/wazuh-control stop && sudo /bin/rm -r /Library/Ossec && sudo /bin/rm -f /Library/LaunchDaemons/com.wazuh.agent.plist && sudo /bin/rm -rf /Library/StartupItems/WAZUH && sudo /usr/bin/dscl . -delete "/Users/wazuh" && sudo /usr/bin/dscl . -delete "/Groups/wazuh" && sudo /usr/sbin/pkgutil --forget com.wazuh.pkg.wazuh-agent

在这里插入图片描述

卸载完agent会下线,但是依然会在控制台留有记录。如果想完全删除怎么办?可以看下一节的大标题,Wazuh安全运维汇总,里面会有各种你想要的答案。

在这里插入图片描述

二、Wazuh安全运维汇总

2.0. 如何在控制台卸载agent

如果安装上一节提到的卸载方式卸载,那么同事肯定心里暗骂你,这么麻烦,还搞什么安全?从此安全部门仇恨值+1…… 众所周知,安全部门在公司的地位是很低的🐶,所以让用户无感的操作才是最适合我们甲方安全宝宝的。

需要用到wazuh的二进制工具,在服务器上的这个路径:

/var/ossec/bin/manage_agents

在这里插入图片描述

选择r就是删除的意思。可以先选择L,列出所有的agent,然后根据agent ID来进行定向删除。(三步走删除法)

在这里插入图片描述

也可以直接通过id,一条命令来删除。

/var/ossec/bin/manage_agents -r 001

由于太粗暴,可能造成误删,所以更推荐第一种办法,先确认id再删除。

删除完之后,控制台会变空,出现文章开头说的黄色提示,让我们安装agent。

在这里插入图片描述

2.1. 是否可以远程升级agent ,比如现在 wangzhi 这个agent 的版本是v4.7.0 是否可以远程将该agent 升级到指定版本?

在这里插入图片描述

实验场景:ID007的agent版本是低版本,需要自动更新到最新。

服务端使用agent_upgrade工具,-l参数列出所有过时的代理:

sudo /var/ossec/bin/agent_upgrade -l

在这里插入图片描述

更新低版本的agent(指定ID即可):

sudo /var/ossec/bin/agent_upgrade -a 007

如果所有的代理都是最新的,会显示All agents are updated.。

升级可能会出现的问题&解决方法:

①sudo /var/ossec/bin/agent_upgrade -l报错:
Internal error: Error 2005 - Could not connect to wdb socket: [Errno 2] No such file or directory

解决办法:sudo service wazuh-manager restart

2.2. wazuh 服务端如何升级?升级之后是否会对原有的agent 产生影响?

wazuh服务端的升级比较麻烦,但是说麻烦其实也不麻烦,我个人觉得是不麻烦的,但是大家看的时候可能会觉得有点麻烦。

我尝试过寻找简单快捷的办法,但是wazuh没有平滑升级的方式,官方文档给出的升级文档就是要求这样升级,所以没有办法,官方怎么说就怎么来。因为官方的文档是英文的,看起来比较麻烦,很多人看的时候会忽略重要信息,所以我完整的升级了一次,把所有关键点都列出来了。下面开始这个复杂又不太复杂的升级过程~

📢注意了!!我这个升级是按照ubuntu系统的升级,如果你服务器是centos,下面的办法不适用!!!需要参考官方文档自行修改安装命令,无非就是apt-get换成yum,所以大家也不用紧张。区别不会太大,但是还是有区别的。

wazuh官方服务端升级文档

2.2.1更新wazuh-indexer

服务器命令:

/var/ossec/bin/wazuh-control info

返回具体版本
WAZUH_VERSION=“v4.7.5”
WAZUH_REVISION=“40720”
WAZUH_TYPE=“server”

逐个执行以下命令:

apt-get install gnupg apt-transport-https

curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && chmod 644 /usr/share/keyrings/wazuh.gpg

echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list

apt-get update

停止dashboard和filebeat服务:

systemctl stop filebeat
systemctl stop wazuh-dashboard

服务端(密码改成你自己的wazuh的密码):

curl -X DELETE "https://127.0.0.1:9200/_index_template/ss4o_*_template" -u admin:'Ndc?OkSsdfsdfsdfsdfwewefsdffsdfsdf0t' -k

返回:{“acknowledged”:true}

curl -X PUT "https://127.0.0.1:9200/_cluster/settings"  -u admin:'Nsdfsdfdsfdsfdsfdsfdfsbr9Ir0t' -k -H 'Content-Type: application/json' -d'
{
  "persistent": {
    "cluster.routing.allocation.enable": "primaries"
  }
}
'

返回:{“acknowledged”:true,“persistent”:{“cluster”:{“routing”:{“allocation”:{“enable”:“primaries”}}}},“transient”:{}}

curl -X POST "https://127.0.0.1:9200/_flush/synced" -u admin:'sdfsdfsdfsdfsdfsdfdsfr0t' -k

返回:{“_shards”:{“total”:14,“successful”:14,“failed”:0}}

systemctl stop wazuh-indexer

apt-get install wazuh-indexer

重启wazuh-indexer服务:

systemctl daemon-reload
systemctl enable wazuh-indexer
systemctl start wazuh-indexer

检测状态:

curl -k -u admin:'Ndc?sdfsdfsdfsdfsdfsdfsr0t'  "https://127.0.0.1:9200/_cat/nodes?v"
curl -X PUT "https://127.0.0.1:9200/_cluster/settings" -u admin:'Ndc?OkSsr0t' -k -H 'Content-Tdfsdfdsfsdfsdfsdfype: application/json' -d'
{
  "persistent": {
    "cluster.routing.allocation.enable": "all"
  }
}
'

返回:{“acknowledged”:true,“persistent”:{“cluster”:{“routing”:{“allocation”:{“enable”:“all”}}}},“transient”:{}}

再次检查 Wazuh 索引器集群的状态以查看分片分配是否已完成:

curl -k -u admin:'Ndc?sdfdsfdsfsdfsdfsdft'  "https://127.0.0.1:9200/_cat/nodes?v"

ok,到这里,你已经升级完成3分之一了。还剩三分之二。

2.2.2更新Wazuh server

apt-get install wazuh-manager

修改配置文件:/var/ossec/etc/ossec.conf

<vulnerability-detection>
  <enabled>yes</enabled>
  <index-status>yes</index-status>
  <feed-update-interval>60m</feed-update-interval>
</vulnerability-detection>

注意,这段内容要放在<ossec_config>标签内,否则无效。

在这里插入图片描述

使用 Wazuh-keystore 工具将 Wazuh 索引器用户名和密码保存到 Wazuh 管理器密钥库中。

注意📢,逐个执行!

/var/ossec/bin/wazuh-keystore -f indexer -k username -v <INDEXER_USERNAME>


/var/ossec/bin/wazuh-keystore -f indexer -k password -v <INDEXER_PASSWORD>

/var/ossec/bin/wazuh-keystore -f indexer -k username -v admin

输入你的密码:

/var/ossec/bin/wazuh-keystore -f indexer -k password -v Ndc?Oksdfsdfsdfdsfsdf

配置filebeat:

curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.4.tar.gz | sudo tar -xvz -C /usr/share/filebeat/module
curl -o /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/v4.8.1/extensions/elasticsearch/7.x/wazuh-template.json

(等待时间有点久,可能要等个8分钟,不要中断命令行)

chmod go+r /etc/filebeat/wazuh-template.json

重启filebeat:

systemctl daemon-reload
systemctl enable filebeat
systemctl start filebeat

上传 Filebeat 的新 Wazuh 模板和管道:

filebeat setup --pipelines
filebeat setup --index-management -E output.logstash.enabled=false

到这里,你已经完成了三分之二。

2.2.3更新wazuh-dashboard

备份/etc/wazuh-dashboard/opensearch_dashboards.yml文件以保存您的设置。

cp /etc/wazuh-dashboard/opensearch_dashboards.yml /etc/wazuh-dashboard/opensearch_dashboards.yml.bak

更新Wazuh dashboard:

apt-get install wazuh-dashboard

重启服务:

systemctl daemon-reload
systemctl enable wazuh-dashboard
systemctl start wazuh-dashboard

选择N。
在这里插入图片描述

最后一步,编辑api配置文件:

/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml
# Example Wazuh API configuration
hosts:
   - production:
       url: https://172.20.107.123
       port: 55000
       username: wazuh-wui
       password: wazuh-wui
       run_as: false

完成更新。

并且升级后对agent没有任何影响。

2.3.极端情况下如果agent 勾选了 default 的group,wazuh 重新安装是否还能自动上线

仅升级不卸载:

在这里插入图片描述

两个agent都勾选了default,其中一个只勾选了default。目前wazuh是4.7.5版本,升级为最新版本4.8.1后,agent都还在。这里插播一个小细节,因为csdn的尿性,我这篇文章发出去肯定会被抄袭,所以这里打个水印,原文出处:https://blog.csdn.net/weixin_43847838/article/details/141233887

在这里插入图片描述

完全卸载重装wazuh:

wget https://packages.wazuh.com/4.8/wazuh-install.sh

在这里插入图片描述

完全卸载重装wazuh的情况下,agent会自动重连:

在这里插入图片描述

2.4. dashboard 关闭的情况下影响wazuh 正常运行吗?比如钉钉告警,威胁监测.

wazuh可以正常监控agent,dashboard服务已经关闭,钉钉依然可以收到告警。
在这里插入图片描述

在这里插入图片描述

所以可以最小化部署,把dashboard关闭,不把web页面暴露在公网,收敛暴露面,把安全风险降到最低。


总结

万字长文超详细的wazuh部署教程。有一点长。

本期送书:《Linux信息安全和渗透测试》

京东官网购买链接🔗:https://item.jd.com/13847177.html

在这里插入图片描述

《Linux信息安全和渗透测试》是一本针对网络安全渗透测试人员、运维工程师、网络管理人员和安全课程培训人员的必备指南。本书涵盖了网络安全渗透测试的理论和工具,包括Kali Linux 2的基础使用、被动扫描、主动扫描、漏洞扫描、远程控制、渗透攻击、Armitage、社会工程学工具、BeEF-XSS渗透框架、漏洞渗透模块编写、网络数据的嗅探与欺骗、身份认证攻击、无线安全渗透测试以及渗透测试报告的编写。通过深入浅出的讲解,读者将全面了解渗透测试的各个方面,并掌握实践技巧和解决问题的能力。无论您是正在学习渗透测试的学生,还是已经从事相关工作的专业人士,本书都将成为您的不可或缺的参考书籍。

扫码抽奖(微信小程序抽奖,公正公开):
在这里插入图片描述

欢迎大家关注EureKaSec,无论是技术交流还是有兴趣加入我们团队,都欢迎随时联络沟通。
在这里插入图片描述

    文章原创,欢迎转载,请注明文章出处: Wazuh:最受欢迎的开源HIDS系统在甲方安全建设中的应用(文末送书).。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

要搭建一个CSDN网站,首先需要确定网站的目标和定位。CSDN是一个IT技术社区网站,因此应该着重在IT技术领域的内容上。下面是一个简单的步骤指导: 1.选择合适的CMS平台:这是搭建网站的基础,可以选择一些开源的CMS平台,如WordPress等,或者使用一些专业的IT技术社区建设平台。根据自己的需求和能力来选择合适的平台。 2.确定网站的主题和内容:CSDN是IT技术社区,因此网站的主题应该紧密围绕IT技术,可以包括编程语言、框架、数据库、云计算、人工智能等方面的内容。确定好主题之后,可以开始制定内容计划。 3.基础功能设置:在搭建网站开始之前,需要先设计好网站的结构和架构。这包括确定导航栏的分类和标签、设计网站的布局和风格等。同时,还需要进行一些基础设置,如注册和登录功能、发表评论和点赞功能等。 4.内容创作和发布:根据之前制定的内容计划开始创作和发布内容。可以结合自己的实际经验或者从其他可信来源获取技术文章、教程和案例等,并确保内容的质量和可靠性。同时,可以邀请行业内的专家进行文章的投稿和分享。 5.推广和营销:在网站建立好之后,需要进行推广和营销活动,吸引更多的用户和访问量。可以通过优化网站的SEO,使用社交媒体平台进行宣传,参与技术交流社区等方式进行推广。 6.用户互动和维护:CSDN是一个活跃的技术社区,用户互动是非常重要的。因此,应该为用户提供一个良好的交流和互动平台,如开设论坛、创建技术交流群等。另外,定期更新和维护网站内容也是必要的,保持网站的活跃度。 总之,搭建一个CSDN网站需要明确目标和定位,选择合适的平台,确定主题和内容,设置基础功能,创作和发布内容,推广和营销,用户互动和维护等步骤。在整个过程,持续优化和改进是非常重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

归去来兮-zangcc

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

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

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

打赏作者

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

抵扣说明:

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

余额充值