更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > 在Rocky/Alma/CentOS上安装配置Wazuh与Wazuh代理

在Rocky/Alma/CentOS上安装配置Wazuh与Wazuh代理

更新时间:2023-05-22 09:53:11浏览次数:678+次

本文介绍如何在Rocky Linux 9/AlmaLinux 9/CentOS 9系统上安装配置Wazuh与Wazuh Agent(代理)的方法。硬件的基本要求为4GB RAM,推荐16GB、2个CPU核心,推荐8个CPU核心与64位操作系统。

在Rocky/Alma/CentOS系统上安装Wazuh服务器

在Wazuh安装过程中,用户可以在两个选项之间进行选择:

无人值守安装,Wazuh是使用自动脚本安装的。它执行运行状况检查,以验证可用的系统资源是否满足最低要求。

逐步安装,包括手动安装,并对每个过程进行详细描述。

选择以下首选方法之一,在Rocky Linux 9/AlmaLinux 9/CentOS 9上安装Wazuh服务器。

选项1、Wazuh服务器无人值守安装

这是部署Wazuh服务器的最快方法。您所需要做的就是下载并运行安装程序脚本。

要下载脚本,请使用以下命令:

cd ~/

curl -so wazuh-installation.sh https://packages.wazuh.com/resources/4.2/open-distro/unattended-installation/unattended-installation.sh

下载完成后,使用以下命令启动安装程序:

sudo bash ./wazuh-installation.sh

安装将按如下所示进行:

\

完成后,您将看到已安装服务的登录详细信息:

\

选项2、Wazuh服务器逐步安装

第二个步骤涉及手动安装Wazuh服务器组件。首先使用以下命令更新服务器并安装软件包:

sudo dnf update -y

sudo dnf -y install vim curl unzip wget libcap

将GPG密钥添加到服务器:

sudo rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH

添加Wazuh存储库:

sudo tee /etc/yum.repos.d/wazuh.repo <<EOF

[wazuh]

gpgcheck=1

gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH

enabled=1

name=EL-Wazuh

baseurl=https://packages.wazuh.com/4.x/yum/

protect=1

EOF

1.安装和配置Wazuh Manager

添加repo后,我们将首先使用以下命令安装Wazuh管理器:

sudo dnf -y install wazuh-manager

安装后,启动并启用服务:

sudo systemctl start wazuh-manager

sudo systemctl enable 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

2.安装和配置Elastic Stack

Elastic Stack由Elasticsearch、Filebeat和Kibana等几个工具组成。这将用于日志收集和分析。这些工具与Wazuh安全管理器协同工作。

要安装Open Distro for Elasticsearch,请使用以下命令:

sudo dnf -y install opendistroforelasticsearch

然后下载Elasticsearch的示例配置文件:

wget https://packages.wazuh.com/resources/4.2/open-distro/elasticsearch/7.x/elasticsearch_all_in_one.yml

现在将此配置移动到所需的路径:

sudo mv elasticsearch_all_in_one.yml /etc/elasticsearch/elasticsearch.yml

现在为Wazuh创建以下用户和角色:

wazuh_user:这是对wazuh Kibana插件的只读用户访问权限。

wazuh_admin:建议需要管理权限的用户使用。

wazuh_ui_user:此角色为wazuh_user提供读取wazuh索引的权限。

wazuh_ui_admin:允许wazuh_admin对wazuh索引执行读取、写入、管理和索引任务的角色。

用户和角色可以使用下面的简单代码创建:

for i in roles.yml roles_mapping.yml internal_users.yml; do

wget https://packages.wazuh.com/resources/4.2/open-distro/elasticsearch/roles/$i

sudo mv $i /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/

done

一旦创建,我们将生成证书。首先,使用以下命令删除演示证书:

sudo rm -f /etc/elasticsearch/{esnode-key.pem,esnode.pem,kirk-key.pem,kirk.pem,root-ca.pem}

我们将使用wash-cert-tool.sh来生成所需的证书。此工具可以通过以下命令下载:

sudo -i

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

现在可以执行脚本,如下所示:

bash ~/wazuh-cert-tool.sh

生成证书后,将它们移动到所需的路径:

mkdir /etc/elasticsearch/certs/

mv ~/certs/elasticsearch* /etc/elasticsearch/certs/

mv ~/certs/admin* /etc/elasticsearch/certs/

cp ~/certs/root-ca* /etc/elasticsearch/certs/

修改/etc/profile并添加以下行:

$ sudo vim /etc/profile

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

为Elasticsearch配置JVM选项:

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

现在启动并启用Elasticsearch:

systemctl enable --now elasticsearch

验证服务是否正在运行:

$ systemctl status elasticsearch

 elasticsearch.service - Elasticsearch

     Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)

     Active: active

配置文件来源:

source /etc/profile

检查证书是否有效:

# curl -XGET https://localhost:9200 -u admin:admin -k

{

  "name" : "node-1",

  "cluster_name" : "elasticsearch",

  "cluster_uuid" : "p3-bnTEgTzKTXcFKJpVlcg",

  "version" : {

    "number" : "7.10.2",

    "build_flavor" : "oss",

    "build_type" : "rpm",

    "build_hash" : "747e1cc71def077253878a59143c1f785afa92b9",

    "build_date" : "2023-02-21T00:42:12.435326Z",

    "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"

}

3.安装和配置Kibana

Kibana可以使用以下命令安装在Rocky Linux 9/AlmaLinux 9/CentOS 9上:

sudo dnf -y install opendistroforelasticsearch-kibana

现在下载配置文件:

wget https://packages.wazuh.com/resources/4.2/open-distro/kibana/7.x/kibana_all_in_one.yml

sudo mv kibana_all_in_one.yml /etc/kibana/kibana.yml

创建一个数据目录并设置所需的权限:

sudo mkdir /usr/share/kibana/data

sudo 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.3.10_7.10.2-1.zip

复制生成的Kibana证书:

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

现在重新加载系统守护程序:

systemctl daemon-reload

启动并启用服务:

systemctl enable --now kibana

验证服务是否正在运行:

$ systemctl status kibana

 kibana.service - Kibana

     Loaded: loaded (/etc/systemd/system/kibana.service; enabled; vendor preset: disabled)

     Active: active

允许服务通过防火墙:

sudo firewall-cmd --add-port=443/tcp --permanent

sudo firewall-cmd --reload

Kibana可以使用URL在网络上访问,地址格式为https://IP_Address,以下是登陆的用户和密码信息:

user: admin

password: admin

4.安装和配置FileBeat

它将把设置目录中的日志发送到ElasticSearch。可以通过执行以下命令进行安装:

sudo dnf install filebeat -y

现在提取配置文件:

wget https://packages.wazuh.com/resources/4.2/open-distro/filebeat/7.x/filebeat_all_in_one.yml

sudo mv filebeat_all_in_one.yml /etc/filebeat/filebeat.yml

拉出模板:

curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/v4.3.10/extensions/elasticsearch/7.x/wazuh-template.json

sudo chmod go+r /etc/filebeat/wazuh-template.json

下载Filebeat的Wazuh模块:

curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.2.tar.gz | sudo tar -xvz -C /usr/share/filebeat/module

复制为Filebeat生成的证书:

sudo mkdir /etc/filebeat/certs

sudo cp ~/certs/root-ca.pem /etc/filebeat/certs/

sudo mv ~/certs/filebeat* /etc/filebeat/certs/

启动并启用服务:

sudo systemctl daemon-reload

sudo systemctl enable --now filebeat

要验证Filbeat是否已成功安装,请使用以下命令:

sudo filebeat test output

输出:

\

访问Wazuh Web界面

按照上面的任何安装方法操作后,您应该能够使用URL加载Wazuh仪表板,地址格式为 https://IP_Adrress或者https://domain_name。然后使用提供的凭据登录。对于第二种方法,请使用:

用户:admin

密码:admin

将如图所示进行:

\

经过身份验证后,您将看到下面的仪表板:

\

目前,我们没有任何与Wazuh服务器相关的代理。因此,请按照下面的说明继续进行代理安装和配置。

安装和配置Wazuh代理

一旦安装了Wazuh服务器,就可以在端点上配置几个代理。

切换到根用户:

sudo -i

根据您的系统,添加repo:

1.For APT

curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && chmod 644 /usr/share/keyrings/wazuh.gpg

echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" |  tee -a /etc/apt/sources.list.d/wazuh.list

2.For YUM & ZYpp

cat > /etc/yum.repos.d/wazuh.repo << EOF

[wazuh]

gpgcheck=1

gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH

enabled=1

name=EL-\$releasever - Wazuh

baseurl=https://packages.wazuh.com/4.x/yum/

protect=1

EOF

导入GPG密钥:

sudo rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH

添加repo后,安装Wazuh代理:

##APT

sudo apt update -y

WAZUH_MANAGER="192.168.205.17" apt-get install wazuh-agent

##YUM

WAZUH_MANAGER="192.168.205.17" yum install wazuh-agent

##ZYpp

sudo zypper refresh

WAZUH_MANAGER="192.168.205.17" zypper install wazuh-agent

在上述命令中,适当地替换WAZUH_MANAGER IP地址。在执行命令时,您可以设置许多其他变量。其中包括:

WAZUH_REGISTRATION_PASSWORD:设置用于在注册过程中进行身份验证的密码,存储在etc/authd.pass中。

WAZUH_AGENT_NAME:指定代理的名称。默认情况下,它将是计算机名称。

WAZUH_REGISTRATION_KEY:指定密钥路径,该路径使用WAZUH_SREGISTRATion_CERTIFICATE完成SSL代理验证过程所需的变量。

WAZUH_AGENT_GROUP:将代理分配给一个或多个现有组(用逗号分隔)。

WAZUH_REGISTRATION_PORT:指定WAZUH注册服务器使用的端口。

WAZUH_MANAGER_PORT:指定管理器连接端口。

这些变量可以按以下示例所示进行传递:

WAZUH_MANAGER="192.168.205.17" WAZUH_REGISTRATION_PASSWORD="TopSecret" \

     WAZUH_AGENT_NAME="yum-agent" yum install wazuh-agent

安装后,启动并启用服务:

sudo systemctl daemon-reload

sudo systemctl enable wazuh-agent

sudo systemctl start wazuh-agent

检查服务是否正在运行:

$ systemctl status wazuh-agent

 wazuh-agent.service - Wazuh agent

     Loaded: loaded (/lib/systemd/system/wazuh-agent.service; enabled; vendor preset: enabled)

     Active: active

现在,只有当Wazuh管理器版本晚于或等于Wazuh代理的版本时,才能保证两者的兼容性。因此,建议禁用代理的升级,如下所示:

##For APT

sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/wazuh.list

apt-get update

##FOR YUM

sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo

##FOR ZYpp

sed -i "s/^enabled=1/enabled=0/" /etc/zypp/repos.d/wazuh.repo

现在,添加的代理可以在Wazuh仪表板上查看:

\

导航到“Agents”选项卡以查看添加的代理:

\

通过单击所需的代理来可视化仪表板:

\

至此,安装和配置Wazuh代理完成。这时,应该能够随时对Rocky Linux 9/AlmaLinux 9/CentOS 9系统执行实时完整性监控、威胁检测、事件响应和合规性分析了。