Wazuh上云指南

2021年3月8日15:07:13 评论 1,786

前记

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

配置清单

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

安装过程

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

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

大白兔安装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

高性能云服务器2折起

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: