在本教程中,您将学习如何在 Rocky Linux 8 上安装 Wazuh 服务器。 Wazuh 是一个用于可见性、安全检测和合规性的开源工具。 它是 OSSEC HIDS 的一个分支,额外集成了 ELK 堆栈和 OpenSCAP。 Wazuh 堆栈由 Wazuh 服务器(管理器)、ELK 堆栈和 Wazuh 代理组成,如下图所示。
在撰写本文时,当前版本为 4.1。
在 Rocky Linux 8 上安装 Wazuh 服务器
Wazuh 服务器的主要功能是 代理注册、数据分析和代理管理.
部署架构
Wazuh服务器有两种不同的部署架构;
- 一体:Wazuh服务器和Elastic Stack安装在同一台主机上。
- 分散式:每个组件作为单节点或多节点集群安装在单独的主机上。 这种部署方式提供了产品的高可用性和可扩展性,方便大型工作环境。
在本教程中,我们将使用 一体化部署架构.
系统要求
有关推荐的系统要求,请参阅文档。
在 Rocky Linux 8 上安装 Wazuh 服务器
将 Wazuh 添加到存储库
您首先必须通过运行以下命令将 Wazuh 存储库添加到服务器。
cat > /etc/yum.repos.d/wazuh.repo << 'EOL' [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 EOL
导入 Wazuh 存储库 GPG 密钥
rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
在 Rocky Linux 8 上安装 Wazuh 服务器
运行以下命令安装 wazuh 服务器。 在 Rocky Linux 8 上
dnf -y install wazuh-manager
安装过程完成后,启动 Wazuh Manager。
systemctl start wazuh-manager
您可以查看如下所示的状态;
systemctl status wazuh-manager
● wazuh-manager.service - Wazuh manager Loaded: loaded (/usr/lib/systemd/system/wazuh-manager.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2021-07-10 09:40:01 EAT; 4min 33s ago Process: 2847 ExecStart=/usr/bin/env ${DIRECTORY}/bin/ossec-control start (code=exited, status=0/SUCCESS) Tasks: 104 (limit: 11388) Memory: 522.8M CGroup: /system.slice/wazuh-manager.service ├─2902 /var/ossec/framework/python/bin/python3 /var/ossec/api/scripts/wazuh-apid.py ├─2944 /var/ossec/bin/ossec-authd ├─2960 /var/ossec/bin/wazuh-db ├─2984 /var/ossec/bin/ossec-execd ├─2999 /var/ossec/bin/ossec-analysisd ├─3043 /var/ossec/bin/ossec-syscheckd ├─3060 /var/ossec/bin/ossec-remoted ├─3087 /var/ossec/bin/ossec-logcollector ├─3097 /var/ossec/bin/ossec-monitord └─3107 /var/ossec/bin/wazuh-modulesd Jul 10 09:39:53 localhost.localdomain env[2847]: Started wazuh-db... Jul 10 09:39:54 localhost.localdomain env[2847]: Started ossec-execd... Jul 10 09:39:55 localhost.localdomain env[2847]: Started ossec-analysisd... Jul 10 09:39:56 localhost.localdomain env[2847]: Started ossec-syscheckd... Jul 10 09:39:58 localhost.localdomain env[2847]: Started ossec-remoted... Jul 10 09:39:58 localhost.localdomain env[2847]: Started ossec-logcollector... Jul 10 09:39:58 localhost.localdomain env[2847]: Started ossec-monitord... Jul 10 09:39:59 localhost.localdomain env[2847]: Started wazuh-modulesd... Jul 10 09:40:01 localhost.localdomain env[2847]: Completed. Jul 10 09:40:01 localhost.localdomain systemd[1]: Started Wazuh manager.
为避免版本控制和更新问题,建议您禁用存储库。
sed -i "s/enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo
在 Rocky Linux 8 上安装 Elastic Stack
接下来,您需要安装 Elasticsearch、Kibana、Filebeat 和 Wazuh APP 以充分利用 Wazuh-manager。
在继续之前,您需要确保正在安装的 Elastic 组件与安装的 Wazuh-manager 版本兼容。
在这个演示中,安装了 Wazuh-manager 4.1.5:
rpm -qa wazuh-manager
wazuh-manager-4.1.5-1.x86_64
在撰写本文时,基于 Wazuh 兼容性矩阵,Wazuh 4.1.5 与 Elastic 7.11.2 兼容。
创建弹性存储库
cat > /etc/yum.repos.d/elasticstack.repo << EOL [elasticsearch] 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 EOL
安装 Elasticsearch、Kibana 和 Filebeat
根据 Wazuh 4.1.5 的兼容性矩阵,通过运行以下命令安装 Elasticsearch 7.11.2、Kibana 7.11.2 和 Filebeat 7.11.2;
dnf install elasticsearch-7.11.2 kibana-7.11.2 filebeat-7.11.2
样本输出;
Dependencies resolved. ============================================================================================================================================================================ Package Architecture Version Repository Size ============================================================================================================================================================================ Installing: elasticsearch x86_64 7.11.2-1 elasticsearch 308 M filebeat x86_64 7.11.2-1 elasticsearch 33 M kibana x86_64 7.11.2-1 elasticsearch 244 M Transaction Summary ============================================================================================================================================================================ Install 3 Packages Total download size: 584 M Installed size: 1.2 G Is this ok [y/N]: y
配置 Elasticsearch
我们将在配置 Elasticsearch 方面只做一些更改。
您可以选择设置弹性集群名称;
sed -i 's/#cluster.name: my-application/cluster.name: wazuh-elastic/' /etc/elasticsearch/elasticsearch.yml
接下来,将 JVM 堆大小配置为不超过内存大小的一半。 在这种情况下,我们的测试服务器有 2G RAM,最大和最小大小的堆大小都设置为 512M。
sed -i -e '/4g/s/^## //' -e '/4g/s//512m/' /etc/elasticsearch/jvm.options
配置现在看起来像;
... ################################################################ # Xms represents the initial size of total heap space # Xmx represents the maximum size of total heap space -Xms512m -Xmx512m ...
启动并启用 ES 以在系统启动时运行。
systemctl daemon-reload
systemctl enable --now elasticsearch
验证 Elasticsearch 是否按预期运行。
curl -XGET localhost:9200
{ "name" : "localhost.localdomain", "cluster_name" : "wazuh-elastic", "cluster_uuid" : "G-GICWOxRH6U0y-MJ5omaw", "version" : { "number" : "7.11.2", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "3e5a16cfec50876d20ea77b075070932c6464c7d", "build_date" : "2021-03-06T05:54:38.141101Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
配置 Filebeat
创建 Filebeat 配置文件的备份。
mv /etc/filebeat/filebeat.yml{,.original}
在我们的设置中,我们使用下面的 Filebeat 配置文件。 您可以根据自己的喜好进行配置。
cat > /etc/filebeat/filebeat.yml << 'EOL' # Wazuh - Filebeat configuration file output.elasticsearch: hosts: ["localhost:9200"] setup.template.json.enabled: true setup.template.json.path: '/etc/filebeat/wazuh-template.json' setup.template.json.name: 'wazuh' setup.ilm.overwrite: true setup.ilm.enabled: false filebeat.modules: - module: wazuh alerts: enabled: true archives: enabled: false logging.level: info logging.to_files: true logging.files: path: /var/log/filebeat name: filebeat keepfiles: 7 permissions: 0644 EOL
然后下载 ELK 的警报模板
curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/4.1/extensions/elasticsearch/7.x/wazuh-template.json
chmod go+r /etc/filebeat/wazuh-template.json
测试 Filebeat 与 Elasticsearch 的连接
filebeat test output
样本输出;
elasticsearch: https://localhost:9200... parse url... OK connection... parse host... OK dns lookup... OK addresses: ::1, 127.0.0.1 dial up... OK TLS... WARN secure connection disabled talk to server... OK version: 7.11.2
为 Filebeat 安装 Wazuh 模块:
curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.1.tar.gz | tar -xz -C /usr/share/filebeat/module
启动并启用 Filebeat 在系统启动时运行;
systemctl daemon-reload
systemctl enable --now filebeat
Filebeat 会将日志写入 /var/log/filebeat/ 以防万一你需要检查一些东西。
配置 Kibana
定义 Kibana 服务器将绑定到的地址。 按 IP 地址和主机名都是有效值。 本地主机 是默认值。
就我而言,我的 Wazuh 服务器的 IP 地址是 192.168.60.19。 因此,我将配置 Kibana 以侦听此地址。
sed -i -e '/server.host:/s/^#//' -e '/server.host:/s/localhost/192.168.60.19/' /etc/kibana/kibana.yml
安装 Wazuh App Kibana 插件
mkdir /usr/share/kibana/data
chown -R kibana: /usr/share/kibana/data
chown -R kibana: /usr/share/kibana/plugins
在您下载和安装插件之前,获取您特定版本的 Wazuh 的标签;
sudo -u kibana /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/4.x/ui/kibana/wazuh_kibana-4.1.5_7.11.2-1.zip
您可以列出已安装的插件;
sudo -u kibana /usr/share/kibana/bin/kibana-plugin list
输出;
[email protected]
启动 Kibana;
systemctl enable --now kibana
重启 Elasticsearch 和 Wazuh 管理器;
systemctl restart elasticsearch wazuh-manager
在防火墙上打开端口
在所需的 Wazuh 端口页面上阅读有关 Wazuh 服务器端口的信息。
您需要在防火墙上允许某些端口。 这些包括;
- 5601/tcp 用于外部访问 Kibana
- 1514/udp/tcp 允许从代理收集事件(当为 UDP 配置时,默认使用 TCP)。
- 1515/udp 代理注册服务
firewall-cmd --add-port=5601/tcp --permanent
firewall-cmd --add-port={1514,1515}/udp --permanent
firewall-cmd --add-port={1514,1515}/tcp --permanent
然后重新加载防火墙
firewall-cmd --reload
访问 Kibana Web 界面
您现在可以通过地址访问 Kibana Web 界面 https://server-IP-or-hostname:5601.
Wazuh 应用仪表板
在下一个指南中,您将学习如何将事件数据/日志推送到 Wazuh 服务器。
在 Rocky Linux 8 上安装 Wazuh 代理
这标志着我们关于如何在 Rocky Linux 8 上安装 Wazuh 服务器的教程结束。
进一步阅读
在 CentOS 上安装 Wazuh 服务器
相关教程
在 CentOS 8 上安装 OSSEC 代理
在 CentOS 8 上安装 ELK Stack
安装 Elastic Stack 7 Fedora 30/Fedora 29 / CentOS 7