在Ubuntu 20.04系统上安装和配置Wazuh服务器
本文介绍如何在Ubuntu 20.04 Linux系统上安装和配置Wazuh服务器。Wazuh服务器是一个免费的开源安全监控工具,使用Elastic堆栈(ELK),它用于监视应用程序和操作系统级别的安全事件,因此,您可以获得有关威胁检测、事件响应和完整性监控的信息。在本文中,我们将在单节点Ubuntu 20.04主机上部署Wazuh,并在同一主机上安装ELK。用户可在终端中运行sudo apt update和sudo apt install vim curl apt-transport-https unzip wget libcap2-bin software-properties-common lsb-release gnupg2命令安装运行Wazuh Manager所需的软件包。
选项1:使用脚本在Ubuntu 20.04上自动安装Wazuh Server
在单个主机上安装Wazuh的最快方法是使用脚本,该脚本自动检测操作系统类型并执行运行状况检查,以验证可用系统资源是否满足最低要求。
将脚本下载到安装Wazuh服务器的Ubuntu系统:
curl -sO https://packages.wazuh.com/4.3/wazuh-install.sh
下载脚本后,运行脚本:
sudo bash ./wazuh-install.sh -a
安装过程需要几分钟才能完成,请耐心等待。
注意访问凭据,如:
您可以访问web界面https://<wazuh-dashboard-ip>
用户:admin
密码:PRPdOq0eQ23v5huwAdkB1ukBBqfGeCfu
在web浏览器上通过https://<serverip>访问门户并登录:
输入用户名和密码:
现在您应该可以访问Wazuh Web仪表板:
选项2:使用手动步骤在Ubuntu 20.04上安装Wazuh Server
以下步骤将指导我们如何在Ubuntu 20.04、18.04上安装Wazuh服务器。
1]、添加GPG密钥
curl -fsSL https://packages.wazuh.com/key/GPG-KEY-WAZUH|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/wazuh.gpg
2]、添加Wazuh存储库
echo "deb https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee /etc/apt/sources.list.d/wazuh.list
3]、更新系统
sudo apt update
4]、安装Wazuh Manager
sudo apt install wazuh-manager
5]、启动并启用服务
sudo systemctl daemon-reload
sudo systemctl enable --now wazuh-manager
检查Wazuh经理的状态,并确认其是否已启动并正在运行:
systemctl status wazuh-manager
检查服务状态:
$ systemctl status wazuh-manager
wazuh-manager.service - Wazuh manager
Loaded: loaded (/lib/systemd/system/wazuh-manager.service; enabled; vendor preset: enabled)
Active: active (running)
1、在Ubuntu 20.04上安装ELK Stack
从OpenDistro安装Elasticsearch,这是一个高度可扩展的全文搜索引擎。此软件包提供高级安全性、警报、深入性能分析、索引管理和更多功能:
sudo apt install elasticsearch-oss opendistroforelasticsearch
下载/etc/elasticsearch/elasticsearch.yml的自定义配置文件,如下所示:
sudo curl -so /etc/elasticsearch/elasticsearch.yml https://packages.wazuh.com/resources/4.2/open-distro/elasticsearch/7.x/elasticsearch_all_in_one.yml
使用以下模板配置Kibana角色和用户:
sudo curl -so /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/roles.yml https://packages.wazuh.com/resources/4.2/open-distro/elasticsearch/roles/roles.yml
sudo curl -so /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/roles_mapping.yml https://packages.wazuh.com/resources/4.2/open-distro/elasticsearch/roles/roles_mapping.yml
sudo curl -so /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml https://packages.wazuh.com/resources/4.2/open-distro/elasticsearch/roles/internal_users.yml
上面的命令为Kibana添加了以下用户:
Wazuh_user–将用于需要只读访问Wazuh Kibana插件的用户。
Wazuh_admin–适用于需要管理权限的用户。
还创建了两个附加角色,以授予用户适当的权限。
wazuh_ui_user–提供wazuh\user权限以读取wazuh的索引。
wazuh_ui_admin–允许wazuh_admin对wazuh索引执行读/写、管理和索引。
2、安装证书
我们可以设置用于Elasticsearch和Wazuh之间TLS通信的证书。
1]、删除演示证书
sudo rm -f /etc/elasticsearch/{esnode-key.pem,esnode.pem,kirk-key.pem,kirk.pem,root-ca.pem}
2]、下载wazuh-cert-tool.sh
sudo su -
curl -so ~/wazuh-cert-tool.sh https://packages.wazuh.com/resources/4.2/open-distro/tools/certificate-utility/wazuh-cert-tool.sh
curl -so ~/instances.yml https://packages.wazuh.com/resources/4.2/open-distro/tools/certificate-utility/instances_aio.yml
3]、运行wazuh-cert-tool.sh创建证书
# bash ~/wazuh-cert-tool.sh
INFO: Configuration file found. Creating certificates...
INFO: Creating the Elasticsearch certificates...
INFO: Creating Wazuh server certificates...
INFO: Creating Kibana certificate...
INFO: Certificates creation finished. They can be found in ~/certs.
4]、将Elasticsearch证书移动到相应位置
mkdir /etc/elasticsearch/certs/
mv ~/certs/elasticsearch* /etc/elasticsearch/certs/
mv ~/certs/admin* /etc/elasticsearch/certs/
cp ~/certs/root-ca* /etc/elasticsearch/certs/
5]、缓解Apache Log4j2远程代码执行(RCE)漏洞
添加以下配置以缓解Apache Log4j2远程代码执行(RCE)漏洞–CVE-2021-44228 – ESA-2021-31:
mkdir -p /etc/elasticsearch/jvm.options.d
echo '-Dlog4j2.formatMsgNoLookups=true' > /etc/elasticsearch/jvm.options.d/disabledlog4j.options
chmod 2750 /etc/elasticsearch/jvm.options.d/disabledlog4j.options
chown root:elasticsearch /etc/elasticsearch/jvm.options.d/disabledlog4j.options
6]、启用并启动Elasticsearch服务
systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch
检查Elasticsearch服务状态:
# systemctl status elasticsearch
运行Elasticsearch securityadmin脚本加载新证书信息并启动集群:
export JAVA_HOME=/usr/share/elasticsearch/jdk/ && /usr/share/elasticsearch/plugins/opendistro_security/tools/securityadmin.sh -cd /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/ -nhnv -cacert /etc/elasticsearch/certs/root-ca.pem -cert /etc/elasticsearch/certs/admin.pem -key /etc/elasticsearch/certs/admin-key.pem
命令执行输出:
运行以下命令以确认安装成功:
curl -XGET https://localhost:9200 -u admin:admin -k
答复应如下图所示:
3、在Ubuntu 20.04上安装Filebeat
Filebeat用于将警报和事件从Wazuh服务器发送到Elasticsearch:
sudo apt install filebeat
下载下面的filebeat配置文件,用于将wazuh警报转发到Elasticsearch:
curl -so /etc/filebeat/filebeat.yml https://packages.wazuh.com/resources/4.2/open-distro/filebeat/7.x/filebeat_all_in_one.yml
使用以下Elasticsearch命令下载警报模板:
curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/4.2/extensions/elasticsearch/7.x/wazuh-template.json
chmod go+r /etc/filebeat/wazuh-template.json
下载Wazuh FIlebeat模块:
curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.1.tar.gz | tar -xvz -C /usr/share/filebeat/module
将Elasticsearch证书复制到/etc/filebeat/certs:
mkdir /etc/filebeat/certs
cp ~/certs/root-ca.pem /etc/filebeat/certs/
mv ~/certs/filebeat* /etc/filebeat/certs/
启动并启用Filebeat服务:
systemctl daemon-reload
systemctl enable --now filebeat
通过以下命令确认Filebeat配置:
# filebeat test output
4、在Ubuntu 20.04上安装Kibana
Kibana是帮助我们可视化和分析Elasticsearch中存储的事件的web界面。
使用下面的命令在Ubuntu 20.04、18.04上安装Kibana:
apt install opendistroforelasticsearch-kibana
下载Kibana的配置文件:
curl -so /etc/kibana/kibana.yml https://packages.wazuh.com/resources/4.2/open-distro/kibana/7.x/kibana_all_in_one.yml
为Kibana创建数据目录:
mkdir /usr/share/kibana/data
chown -R kibana:kibana /usr/share/kibana/data
安装Wazuh 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.2.5_7.10.2-1.zip
示例执行输出:
Attempting to transfer from https://packages.wazuh.com/4.x/ui/kibana/wazuh_kibana-4.2.5_7.10.2-1.zip
Transferring 33111704 bytes....................
Transfer complete
Retrieving metadata from plugin archive
Extracting plugin archive
Extraction complete
Plugin installation complete
将Elasticsearch证书复制到/etc/kibana/certs:
mkdir /etc/kibana/certs
cp ~/certs/root-ca.pem /etc/kibana/certs/
mv ~/certs/kibana* /etc/kibana/certs/
chown kibana:kibana /etc/kibana/certs/*
将Kibana的套接字绑定到特权端口443:
setcap 'cap_net_bind_service=+ep' /usr/share/kibana/node/bin/node
启动并启用Kibana服务:
systemctl daemon-reload
systemctl enable --now kibana
允许Kibana通过防火墙:
sudo ufw allow 443/tcp
您现在可以通过以下信息访问控制中心:
URL: https://<wazuh_server_ip>
user: admin
password: admin
您可以登录并继续查看Wazuh的可用指标,如下图所示:
至此,我们已经在Ubuntu 20.04、18.04上成功安装了Wazuh服务器。