Wazuh上云指南

枫少@KillBoy
枫少@KillBoy
管理员
220
文章
0
粉丝
资源分享316,9541字数 2076阅读6分55秒阅读模式
AI智能摘要
想亲手搭建一套专业的开源EDR实验环境吗?本文手把手教你如何在云服务器上从零部署Wazuh+ELK完整架构,涵盖Server端、Agent端、Elasticsearch、Filebeat与Kibana的全流程安装与避坑指南。特别针对国内云环境提供详细配置说明,解决证书生成、权限设置、插件安装等常见难题。无论你是安全新手还是进阶玩家,都能快速上手,打造属于自己的终端安全监控平台。
— AI 生成的文章内容摘要

前记

主要是最近在做EDR的研究和规则运营嘛~早就想搭一套自己的实验环境了,新年后开工第一周就迫不及待购置了两台云服务器!
惯例,对今天要使用的东西简单的介绍叭:
EDR:终端安全响应系统
Wazuh:强大的开源EDR,能够监视您的基础结构,检测威胁,入侵企图,系统异常,配置不当的应用程序和未经授权的用户操作。它还提供了事件响应和法规遵从性的框架(官方解释)
用户体验:兼容性强,轻松适应各种插件和二次开发,使用人数较多,极为详尽的文档,极其活跃的社区(这个真的是香的离谱,谁用谁知道!)

配置清单

两台国内云服务器,一台4H8G,起名叫大白兔,用于做Wazuh的server端以及ELK搭建
Wazuh版本为4.1.0,ES版本为7.10.0
一台2H4G,起名叫灰小兔,只安装一个Wazuh-agent
要求两台机器相互连通~亲测,只要买到一个地区就可以轻松连通

安装过程

先给大家放一下架构示意图

Wazuh上云指南下面就是具体的安装步骤,其实官方文档就已经很详尽了,但是对于国内云来说还是有一些小的坑,下面会逐步介绍

大白兔安装Wazuh-server

1.添加Wazuh yum存储库

cat > /etc/yum.repos.d/wazuh.repo <</EOF [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/ protect=1 EOF

2.安装和设置Wazuh-server

yum -y install wazuh-manager
systemctl start wazuh-manager

3.配置Wazuh-Manage以允许通过身份验证自动注册新agent

grep "<use_password>" -B7 -A8 /var/ossec/etc/ossec.conf
sed -i 's/<use_password>no/<use_password>yes/' /var/ossec/etc/ossec.conf
grep "<use_password>" -B7 -A8 /var/ossec/etc/ossec.conf
echo "这个地方要写你的密码!!!" > /var/ossec/etc/authd.pass

4.重新启动Wazuh-manager,并确认端口开放正常

systemctl restart wazuh-manager
netstat -natp | egrep "(:1514|:1515)"

这时回显为1514,1515开启则说明安装server端成功!

大白兔安装Filebeat

1.从Elastic和Elastic存储库安装GPG密钥

rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
cat > /etc/yum.repos.d/elastic.repo << EOF [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 EOF

2.安装fliebeat

yum -y install filebeat-7.10.0

3.从Wazuh存储库下载Filebeat配置文件。预先配置为将Wazuh警报转发到Elasticsearch

curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh/v4.1.0/extensions/filebeat/7.x/filebeat.yml
chmod go+r /etc/filebeat/filebeat.yml

4.下载Elasticsearch的警报模板

curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/v4.1.0/extensions/elasticsearch/7.x/wazuh-template.json
chmod go+r /etc/filebeat/wazuh-template.json

5.下载适用于Filebeat的Wazuh模块

curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.1.tar.gz | sudo tar -xvz -C /usr/share/filebeat/module

6.编辑您的Elasticsearch实例的特定IP地址并将其设置为Filebeat配置

sed -i 's/YOUR_ELASTIC_SERVER_IP/x.x.x.x/' /etc/filebeat/filebeat.yml

这里写ES机器地址,因为我们全在大白兔上,所以要写大白兔的内网地址!!

7.启用并启动Filebeat服务

systemctl daemon-reload
systemctl enable filebeat.service
systemctl start filebeat.service

8.禁用Wazuh和Elastic存储库,以防止可能导致与当前安装版本冲突的意外升级

sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo
sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/elastic.repo

大白兔安装Elasticsearch

1.先安装后续会用到的库

yum install zip unzip curl

2.导入GPG密钥

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

3.添加存储库

cat > /etc/yum.repos.d/elastic.repo << EOF [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 EOF

4.安装Elasticsearch

yum -y install elasticsearch-7.10.0

5.下载文件进行配置elasticsearch.yml

curl -so /etc/elasticsearch/elasticsearch.yml https://raw.githubusercontent.com/wazuh/wazuh-documentation/4.0/resources/elastic-stack/elasticsearch/7.x/elasticsearch.yml

6.配置实例

cat > /usr/share/elasticsearch/instances.yml <</EOF instances: - name: "elasticsearch"   ip:   - "x.x.x.x" - name: "filebeat"   ip:   - "x.x.x.x" - name: "kibana"   ip:   - "x.x.x.x" EOF

因为我们这些组件都在大白兔上,所以我们x.x.x.x的部分统一填大白兔的内网地址!

7.使用elasticsearch-certutil工具创建证书

/usr/share/elasticsearch/bin/elasticsearch-certutil cert ca --pem --in instances.yml --keep-ca-key --out ~/certs.zip

8.创建目录/etc/elasticsearch/certs,然后在其中复制证书颁发机构,证书和密钥

unzip ~/certs.zip -d ~/certs
mkdir /etc/elasticsearch/certs/ca -p
#不晓得为什么这里不加注释会被打成敏感词嘤嘤嘤
cp -R ~/certs/ca/ ~/certs/elasticsearch/* /etc/elasticsearch/certs/
chown -R elasticsearch: /etc/elasticsearch/certs
chmod -R 500 /etc/elasticsearch/certs
chmod 400 /etc/elasticsearch/certs/ca/ca.* /etc/elasticsearch/certs/elasticsearch.*
rm -rf ~/certs/

9.启用并启动Elasticsearch服务

systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch

10.为所有Elastic Stack预置角色和用户生成凭证

/usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto

这步生成的账号密码信息一定一定要存下来!!!

大白兔安装Kibana

1.安装Kibana

yum install kibana-7.10.0

2.证书放置

这步和上面那步有重复,为了便于大家整体理解,我没有合并操作:

unzip ~/certs.zip -d ~/certs
rm -f ~/certs/ca/ca.key
mkdir /etc/kibana/certs/ca -p
#不晓得为什么这里不加注释会被打成敏感词嘤嘤嘤
cp ~/certs/ca/ca.crt /etc/kibana/certs/ca
cp ~/certs/kibana/* /etc/kibana/certs/
chown -R kibana: /etc/kibana/certs
chmod -R 500 /etc/kibana/certs
chmod 400 /etc/kibana/certs/ca/ca.* /etc/kibana/certs/kibana.*
rm -rf ~/certs ~/certs.zip

3.下载Kibana配置文件

curl -so /etc/kibana/kibana.yml https://raw.githubusercontent.com/wazuh/wazuh-documentation/4.0/resources/elastic-stack/kibana/7.x/kibana.yml

我在执行这条命令时会卡住不动,所以果断选择手动配置,网页打开这个yml文件,复制粘贴到/etc/kibana/kibana.yml文件里保存

4.编辑/etc/kibana/kibana.yml文件

server.host: "x.x.x.x" elasticsearch.hosts: ["https://x.x.x.x:9200"] elasticsearch.password: "上一步在安装ES生成用户里的elastic的密码"

x.x.x.x为大白兔的内网地址,密码是之前让大家记住的密码~

5.更新optimizeplugins目录权限

我就是从这一步开始和官方文档出现了极大的偏差,就好像略过了几步一样

chown -R kibana:kibana /usr/share/kibana/optimize

这里报错报没有此文件夹可以和我一样先新建一个文件夹

mkdir /usr/share/kibana/optimize

再执行上面那步修改权限的操作

chown -R kibana:kibana /usr/share/kibana/plugins

6.安装Wazuh Kibana插件

插件的安装必须从Kibana主目录完成

cd /usr/share/kibana
sudo -u kibana /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/4.x/ui/kibana/wazuh_kibana-4.1.0_7.10.0-1.zip

这个插件的github地址在这里~

https://github.com/wazuh/wazuh-kibana-app

拉到下面有Wazuh和ELK各版本对应的包的下载地址,需要的自行查看~一定要对应嗷~

7.将Kibana的套接字链接到特权端口443

setcap 'cap_net_bind_service=+ep' /usr/share/kibana/node/bin/node

8.编辑文件/usr/share/kibana/optimize/wazuh/config/wazuh.yml

很神奇的是,我现在就没有这个文件,所以我就touch了这个文件,然后在里面写入

hosts:   - default:      url: https://x.x.x.xport: 55000      username: wazuh      password: wazuh      run_as: false

x.x.x.x为大白兔的内网地址

8.启用并启动Kibana服务

systemctl daemon-reload
systemctl enable kibana
systemctl start kibana

9.呐~现在就可以访问Web界面了!

打开浏览器输入https://x.x.x.x,这里的x.x.x.x为大白兔的公网地址

账号为elastic,密码为之前初始化生成的密码,就可以登录进去了!!

此时在下这里就已经没有报错了!

但是不管你们存在什么样子的报错,主要就是使用

journalctl -u kibana

查看报错信息,调试一般是各个yml文件的配置问题~

到这里,大白兔的配置就配好啦~

灰小兔安装Wazuh-agent

1.添加Wazuh yum存储库

cat > /etc/yum.repos.d/wazuh.repo <</EOF [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/ protect=1 EOF

2.安装并启动Wazuh-agent

WAZUH_MANAGER="x.x.x.x" WAZUH_REGISTRATION_PASSWORD="你自己在安装server设置的密码" /

x.x.x.x填大白兔的内网地址嗷~

WAZUH_PROTOCOL="tcp" yum -y install wazuh-agent
systemctl start wazuh-agent

3.验证代理已正确连接

grep ^status /var/ossec/var/run/ossec-agentd.state

当回显为

status='connected'

时表示Wazuh-agent安装成功!连接server端也成功!

最后的验证!

1.在大白兔上执行

/var/ossec/bin/agent_control -l

可以看到灰小兔的主机名~

2.在WEB界面上可以看到多了一台agent!

至此就安装好啦~Wazuh+ELK,呐~祝大家玩的愉快!

https://www.freebuf.com/sectool/264046.html

 
枫少@KillBoy
评论  31  访客  29  作者  2
    • 焦虑的猫
      焦虑的猫 0

      这配置在阿里云上跑得起来吗?

      • 琼花
        琼花 0

        国内云服务器连通性真这么稳?我上次搞内网互通折腾半天🤔

        • 暴躁的螃蟹
          暴躁的螃蟹 1

          前几天刚试过Wazuh 4.2,发现和4.1的filebeat配置有点不一样

          • 穿越时空
            穿越时空 1

            又是证书又是权限的,光看步骤就头大了hhh

            • 棒棒糖兔
              棒棒糖兔 0

              大白兔灰小兔这命名也太可爱了吧!666

              • 晨曦使者
                晨曦使者 1

                ES和Kibana装一块儿内存吃得消不?4H8G会不会卡?

                • 秋分桂落
                  秋分桂落 0

                  按这个流程走了一遍,卡在kibana插件安装那步,求问有人遇到吗?

                  • WoollyWanderer
                    WoollyWanderer 0

                    感觉还行,就是文档链接好多都打不开啊

                    • 拉弓
                      拉弓 0

                      手动建optimize目录这步救我命了,官方文档真坑

                      • 熵减实验室
                        熵减实验室 0

                        wazuh-agent连不上server,密码确认没错但一直status=disconnected,有老哥知道咋整?

                        • 机器人迷
                          机器人迷 1

                          这个指南太实用了,收藏备用!

                          • 伤心的落叶
                            伤心的落叶 0

                            配置步骤写得挺清楚,适合新手入门

                            • 血色预言者
                              血色预言者 0

                              Kibana插件安装那步我卡了好久,后来发现是权限问题

                              • 小猪佩奇的粉丝
                                小猪佩奇的粉丝 1

                                有没有人试过在腾讯云上部署?

                                • 海岛漂流者
                                  海岛漂流者 0

                                  内存8G够用吗?感觉ES比较吃资源

                                  • 软萌兔
                                    软萌兔 0

                                    灰小兔这名字起得挺萌的233

                                    • 死寂回响
                                      死寂回响 1

                                      证书配置那块儿有点复杂,新手可能比较难搞

                                      • 鬼火蝶
                                        鬼火蝶 0

                                        我之前也在云上搭过,结果被防火墙坑惨了

                                        • NightOwlNomad
                                          NightOwlNomad 0

                                          这个和商业版EDR比起来怎么样?

                                          • 废墟
                                            废墟 1

                                            起名叫大白兔和灰小兔也太可爱了叭!

                                            • 夏目雨
                                              夏目雨 1

                                              @豆包 这配置看着就头疼

                                                • doubao
                                                  doubao 5

                                                  @ 夏目雨 新手看着是有点复杂,不过跟着官方文档一步步来,踩几个坑就熟悉了。

                                                • Jack影
                                                  Jack影 1

                                                  agent注册密码要记牢,我就因为输错重装了一次

                                                  • 孤星寒月
                                                    孤星寒月 0

                                                    期待后续的使用体验分享

                                                    • 璀璨星团
                                                      璀璨星团 1

                                                      起名大白兔灰小兔太萌了哈哈

                                                        • 枫少@KillBoy
                                                          枫少@KillBoy

                                                          @ 璀璨星团 哈哈,给服务器起个有趣的名字干活都开心点~

                                                        • 玉印藏
                                                          玉印藏 0

                                                          配置过程中遇到报错,journalctl -u kibana确实很有用

                                                          • 独孤九剑
                                                            独孤九剑 0

                                                            两台服务器在同一区域就能内网互通?那还挺方便的

                                                            • 混沌智能
                                                              混沌智能 0

                                                              4.1版本现在还能用吗?要不要升级到新版?

                                                              • 暮雪白头
                                                                暮雪白头 1

                                                                配置步骤好详细,跟着搭一遍试试

                                                                  • 枫少@KillBoy
                                                                    枫少@KillBoy

                                                                    @ 暮雪白头 动手试试看,有问题随时交流~

                                                                匿名

                                                                发表评论

                                                                匿名网友

                                                                拖动滑块以完成验证