freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Wazuh上云指南
2021-02-22 21:33:31

前记

主要是最近在做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,呐~祝大家玩的愉快!

# 终端安全 # 内网 # EDR # wazuh
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录