前记
主要是最近在做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.更新optimize
和plugins
目录权限
我就是从这一步开始和官方文档出现了极大的偏差,就好像略过了几步一样
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,呐~祝大家玩的愉快!
来源:freebuf.com 2021-02-22 21:33:31 by: TLX1126
请登录后发表评论
注册