在CentOS 8 / Fedora 32中安装和设置Wazuh服务器

在本教程中,您将学习如何在CentOS 8 / Fedora 32中安装和设置Wazuh服务器。 瓦祖 是用于可见性,安全性检测和合规性的开源工具。它是OSSEC HIDS的一个分支,具有与ELK堆栈和OpenSCAP的附加集成。 Wazuh堆栈由Wazuh服务器(管理器),ELK堆栈和Wazuh代理组成,如下图所示。

。撰写本文时,当前版本为3.13。

先决条件

在继续设置Wazuh Server之前,请确保已启动并运行ELK。您可以按照下面的链接在CentOS 8上安装和设置ELK堆栈。这同样适用于Fedora 32。

在CentOS 8 / Fedora 32上安装ELK堆栈

部署架构

有两种不同 Wazuh服务器的部署架构;

  • 单主机架构
  • 分布式架构

在本教程中,我们将使用 单主机架构

在CentOS 8 / Fedora 32中安装和设置Wazuh服务器

Wazuh服务器具有以下主要功能: 代理商注册,数据分析和代理商管理

在CentOS 8 / Fedora 32上有两种安装Wazuh服务器的方法。

  • 通过软件包管理器从YUM / DNF存储库
  • 从源代码

我们将在本教程中介绍这两种安装方法。

从YUM / DNF存储库安装Wazuh Server

将Wazuh添加到存储库

我们首先必须通过运行以下命令将Wazuh存储库添加到服务器。

rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
cat > /etc/yum.repos.d/wazuh.repo <

在CentOS 8 / Fedora 32上安装Wazuh Server

运行以下命令以安装wazuh服务器。在CentOS 8 / Fedora 32上

dnf -y install wazuh-manager

安装过程完成后,Wazuh Manager设置为自动启动。您可以检查状态,如下所示;

systemctl status wazuh-manager
● wazuh-manager.service - Wazuh manager
Loaded: loaded (/usr/lib/systemd/system/wazuh-manager.service; enabled; ve>
Active: active (running) since Thu 2020-07-16 04:55:11 EDT; 3min 31s ago
Process: 21321 ExecStart=/usr/bin/env ${DIRECTORY}/bin/ossec-control start >
Tasks: 82 (limit: 6766)
Memory: 366.4M
CGroup: /system.slice/wazuh-manager.service
├─21406 /var/ossec/bin/ossec-authd
├─21422 /var/ossec/bin/wazuh-db
├─21446 /var/ossec/bin/ossec-execd
├─21461 /var/ossec/bin/ossec-analysisd
├─21493 /var/ossec/bin/ossec-syscheckd
├─21510 /var/ossec/bin/ossec-remoted
├─21542 /var/ossec/bin/ossec-logcollector
├─21561 /var/ossec/bin/ossec-monitord
└─21581 /var/ossec/bin/wazuh-modulesd
Jul 16 04:55:01 wazuh-server env[21321]: Started wazuh-db…
Jul 16 04:55:02 wazuh-server env[21321]: Started ossec-execd…
Jul 16 04:55:03 wazuh-server env[21321]: Started ossec-analysisd…
Jul 16 04:55:04 wazuh-server env[21321]: Started ossec-syscheckd…
Jul 16 04:55:05 wazuh-server env[21321]: Started ossec-remoted…
Jul 16 04:55:06 wazuh-server env[21321]: Started ossec-logcollector…
Jul 16 04:55:08 wazuh-server env[21321]: Started ossec-monitord…
Jul 16 04:55:09 wazuh-server env[21321]: Started wazuh-modulesd…
Jul 16 04:55:11 wazuh-server env[21321]: Completed.
Jul 16 04:55:11 wazuh-server systemd[1]: Started Wazuh manager.
lines 1-27/27 (END)

从Repos在CentOS 8 / Fedora 32上安装Wazuh API

为了启用代理的通信和管理,应安装Wazuh API。

在CentOS 8 / Fedora 32上安装NodeJS仓库。

curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -

然后通过执行以下命令安装NodeJS;

dnf -y install nodejs

下一步是安装Wazuh API;

dnf -y install wazuh-api

安装完成后,请检查Wazuh API的状态;

systemctl status wazuh-api
● wazuh-api.service - Wazuh API daemon
Loaded: loaded (/etc/systemd/system/wazuh-api.service; enabled; vendor pre>
Active: active (running) since Thu 2020-07-16 05:17:08 EDT; 3min 44s ago
Docs: https://documentation.wazuh.com/current/user-manual/api/index.html
Main PID: 22562 (node)
Tasks: 11 (limit: 6766)
Memory: 23.4M
CGroup: /system.slice/wazuh-api.service
└─22562 /bin/node /var/ossec/api/app.js
Jul 16 05:17:08 kifarunix-demo systemd[1]: Started Wazuh API daemon.
lines 1-11/11 (END)

为了避免版本控制和更新方面的问题,建议您从存储库中禁用更新。

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

从源代码安装Wazuh Server

我们需要如下安装所需的软件包;

dnf -y install make gcc policycoreutils-python-utils automake autoconf libtool wget vim python36

通过下载最新版本的Wazuh服务器继续

wget https://github.com/wazuh/wazuh/archive/v3.13.1.tar.gz

然后提取

tar -xzvf v3.13.1.tar.gz

导航到提取的目录并运行 install.sh 脚本

cd wazuh-*
./install.sh

安装将以交互式提示运行。

1- What kind of installation do you want (manager, agent, local, hybrid or help)? manager
Manager (server) installation chosen.
2- Setting up the installation environment.
Choose where to install Wazuh [/var/ossec]:
Installation will be made at /var/ossec .
3- Configuring Wazuh.
3.1- Do you want e-mail notification? (y/n) [n]: ENTER
--- Email notification disabled.
3.2- Do you want to run the integrity check daemon? (y/n) [y]: ENTER
Running syscheck (integrity check daemon).
3.3- Do you want to run the rootkit detection engine? (y/n) [y]: ENTER
Running rootcheck (rootkit detection).
3.4- Do you want to run policy monitoring checks? (OpenSCAP) (y/n) [y]: ENTER
Running OpenSCAP (policy monitoring checks).
3.5- Active response allows you to execute a specific
command based on the events received.
By default, no active responses are defined.
Default white list for the active response:
10.7.0.1
192.168.70.10
192.168.100.1
Do you want to add more IPs to the white list? (y/n)? [n]: ENTER
3.6- Do you want to enable remote syslog (port 514 udp)? (y/n) [y]: ENTER
Remote syslog enabled.
3.7 - Do you want to run the Auth daemon? (y/n) [y]: ENTER
Running Auth daemon.
3.8- Do you want to start Wazuh after the installation? (y/n) [y]: ENTER
Wazuh will start at the end of installation.
3.9- Setting the configuration to analyze the following logs:
-- /var/log/audit/audit.log
-- /var/ossec/logs/active-responses.log
-- /var/log/messages
-- /var/log/secure
-- /var/log/maillog
If you want to monitor any other file, just change
the ossec.conf and add a new localfile entry.
Any questions about the configuration can be answered
by visiting us online at https://documentation.wazuh.com/.
--- Press ENTER to continue ---

启动Wazuh服务器

systemctl start wazuh-manager

检查状态

systemctl status wazuh-manager
● wazuh-manager.service - Wazuh manager
Loaded: loaded (/usr/lib/systemd/system/wazuh-manager.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-07-16 06:57:14 EDT; 8min ago
Process: 28841 ExecStart=/usr/bin/env ${DIRECTORY}/bin/ossec-control start (code=exited, status=0/SUCCESS)
Tasks: 82 (limit: 6766)
Memory: 374.2M
CGroup: /system.slice/wazuh-manager.service
├─28926 /var/ossec/bin/ossec-authd
├─28942 /var/ossec/bin/wazuh-db
├─28966 /var/ossec/bin/ossec-execd
├─28981 /var/ossec/bin/ossec-analysisd
├─29013 /var/ossec/bin/ossec-syscheckd
├─29030 /var/ossec/bin/ossec-remoted
├─29062 /var/ossec/bin/ossec-logcollector
├─29080 /var/ossec/bin/ossec-monitord
└─29101 /var/ossec/bin/wazuh-modulesd
Jul 16 06:57:04 kifarunix-demo env[28841]: Started wazuh-db…
Jul 16 06:57:05 kifarunix-demo env[28841]: Started ossec-execd…
Jul 16 06:57:06 kifarunix-demo env[28841]: Started ossec-analysisd…
Jul 16 06:57:07 kifarunix-demo env[28841]: Started ossec-syscheckd…
Jul 16 06:57:08 kifarunix-demo env[28841]: Started ossec-remoted…
Jul 16 06:57:09 kifarunix-demo env[28841]: Started ossec-logcollector…
Jul 16 06:57:10 kifarunix-demo env[28841]: Started ossec-monitord…
Jul 16 06:57:11 kifarunix-demo env[28841]: Started wazuh-modulesd…
Jul 16 06:57:14 kifarunix-demo env[28841]: Completed.
Jul 16 06:57:14 kifarunix-demo systemd[1]: Started Wazuh manager.

从源代码安装Wazuh API

首先,您需要先安装NodeJS,然后再安装Wazuh API

curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
dnf -y install nodejs
npm config set user 0

如下安装API

curl -s -o install_api.sh https://raw.githubusercontent.com/wazuh/wazuh-api/v3.13.1/install_api.sh && bash ./install_api.sh download

检查是否已安装API

curl -u foo:bar -k https://127.0.0.1:55000?pretty
{
"error": 0,
"data": {
"msg": "Welcome to Wazuh HIDS API",
"api_version": "v3.13.1",
"hostname": "kifarunix-demo",
"timestamp": "Thu Jul 16 2020 07:24:35 GMT-0400 (Eastern Daylight Time)"
}
}

在CentOS 8 / Fedora 32上安装Filebeat

Filebeat是用于将数据从服务器转发到ELK堆栈的工具。我们需要将Elastic存储库添加到服务器;

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

然后安装filebeat

dnf -y install filebeat

下载预配置的Filebeat配置文件。它将Wazuh警报转发到Elasticsearch。

curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh/v3.13.1/extensions/filebeat/7.x/filebeat.yml
chmod go+r /etc/filebeat/filebeat.yml

然后下载ELK的警报模板

curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/v3.13.1/extensions/elasticsearch/7.x/wazuh-template.json
chmod go+r /etc/filebeat/wazuh-template.json

更改默认值 YOUR_ELASTIC_SERVER_IP/etc/filebeat/filebeat.yml 到您的Elasticsearch IP。

vi /etc/filebeat/filebeat.yml
...
output.elasticsearch.hosts: ['http://YOUR_ELASTIC_SERVER_IP:9200']
...

启用并启动Filebeat服务

systemctl daemon-reload
systemctl enable --now filebeat.service

为了避免更新和版本出现问题,请禁用Elastick堆栈存储库

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

在防火墙上打开端口

您需要允许防火墙上的某些端口。这些包括;

  • 5601 / tcp用于从外部访问Kibana
  • 1514 / udp,以允许从代理收集事件(为UDP配置时)。
  • 1515 / udp的代理商注册服务
firewall-cmd --add-port=5601/tcp --permanent
firewall-cmd --add-port={1514,1515}/udp --permanent

然后重新加载防火墙

firewall-cmd --reload

您已经从CentOS 8 / Fedora 32上的软件包和源代码成功安装了Wazuh服务器。

在下一节中,我们将学习如何通过Wazuh代理将事件数据/日志推送到Elasticsearch。

使用Wazuh代理将事件/数据发送到Wazuh服务器

Wazuh代理可以安装在从中收集日志的客户端服务器或工作站上。代理可用于Windows和UNIX系统。

在CentOS 8 / Fedora 32上安装Wazuh代理

在本教程中,我们将Wazuh代理安装在另一台CentOS 8服务器上,该服务器在收集日志的终点运行。

创建Wazuh存储库

复制并粘贴以下内容以在CentOS 8代理上添加Wazuh存储库。

rpm --import http://packages.wazuh.com/key/GPG-KEY-WAZUH
cat > /etc/yum.repos.d/wazuh.repo <

在CentOS 8 / Fedora 32上安装Wazuh代理

一旦回购到位,您可以通过运行以下命令来安装Wazuh代理;

dnf -y install wazuh-agent

现在安装完成。下一步是使代理能够与管理器进行通信。

在Wazuh服务器上添加Wazuh代理

瓦祖马格,导航到 / var / ossec / bin 目录添加代理。

cd /var/ossec/bin

运行脚本 manage_agents

./manage_agents

选择添加代理(A),然后按Enter。

Wazuh v3.13.1 Agent manager. *
The following options are available: *

(A)dd an agent (A).
(E)xtract key for an agent (E).
(L)ist already added agents (L).
(R)emove an agent (R).
(Q)uit.
Choose your action: A,E,L,R or Q: A

提供代理的名称(在我们的情况下为RHAgent)和代理的IP并确认。

请注意提供给代理的ID。

Adding a new agent (use 'q' to return to the main menu).
Please provide the following:
A name for the new agent: RHAgent
The IP Address of the new agent: 192.168.56.130
Confirm adding it?(y/n): y
Agent added with ID 002.

提取Wazuh代理密钥

为了使座席与经理进行通信,座席需要一个密钥。键入E继续提取代理密钥。选择代理的ID(在这种情况下为002)。

Choose your action: A,E,L,R or Q: E
Available agents:
ID: 001, Name: centos8, IP: 192.168.56.103
ID: 002, Name: RHAgent, IP: 192.168.56.130
Provide the ID of the agent to extract the key (or 'q' to quit): 002
Agent key information for '002' is:
MDAyIFJIQWdlbnQgMTkyLjE2OC41Ni4xMzAgMzFjNTVjOGNiMzU2YmJkOTcyYzE2YjVhMDZiNzNkMGNmYTFhYmJlYWM4OTZmMGE0OWY3NzdjNjEwNTJiMGZjMQ==

复制密钥并将其粘贴到可访问的位置,这将在下一步中使用。

在Wazuh代理上设置Wazuh服务器地址

中介, 编辑档案 /var/ossec/etc/ossec.conf 并添加Wazuh管理器IP /可解析主机名。

vim /var/ossec/etc/ossec.conf
... 

      
192.168.56.145
1514 udp
...

保存并退出

导航 / var / ossec / bin 并运行 manage_agents 脚本以导入代理密钥。

cd /var/ossec/bin
./manage_agents

按I导入先前从管理器生成的密钥。

Provide the Key generated by the server.
The best approach is to cut and paste it.
*** OBS: Do not include spaces or new lines.
Paste it here (or 'q' to quit): PASTE THE AGENT KEY HERE
Agent information:
ID:002
Name:RHAgent
IP Address:192.168.56.130
Confirm adding it?(y/n): y
Added.

退出并重新启动代理。

./ossec-control restart
wazuh-modulesd not running…
ossec-logcollector not running…
ossec-syscheckd not running…
ossec-agentd not running…
ossec-execd not running…
Wazuh v3.13.1 Stopped
Starting Wazuh v3.13.1…
Started ossec-execd…
Started ossec-agentd…
Started ossec-syscheckd…
Started ossec-logcollector…
Started wazuh-modulesd…
Completed.

在Kibana上验证代理数据接收

座席注册完成。让我们从Kibana中的Wazuh模块检查其数据。

在CentOS 8 / Fedora 32中安装和设置Wazuh服务器

导航 Wazuh>模块>安全事件 查看与安全性相关的事件和仪表板。

在CentOS 8 / Fedora 32中安装和设置Wazuh服务器

您可以在诸如审计和策略监视,监管合规性以及威胁检测和响应等模块上探索更多内容。

这标志着本教程有关如何在CentOS 8 / Fedora 32中安装和设置Wazuh Server的教程的结尾。

进一步阅读

在CentOS上安装Wazuh Server

Sidebar