在 Rocky Linux 8 上安装 Wazuh 服务器

在本教程中,您将学习如何在 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