来源:https://documentation.wazuh.com/current/installation-guide/index.html
一、安装指南
本文档将指导您完成Wazuh的安装过程。为提供互动帮助,我们的电子邮件论坛是可用的。您可以发送电子邮件到Wazuh订阅此论坛。
安装Wazuh需要安装两个核心组件:Wazuh服务器和弹性堆栈。此外,Wazuh代理还被部署到您环境中的受监视主机上:
Wazuh服务器:运行Wazuh管理器、API和Filebeat (Filebeat仅在分布式架构中需要)。它收集和分析来自已部署代理的数据。
Elastic Stack:运行Elasticsearch引擎、Logstash服务器和Kibana(包括Wazuh应用程序)。它读取、解析、索引并存储Wazuh服务器生成的警报数据。
Wazuh代理:在被监控主机上运行,收集系统日志和配置数据,并检测入侵和异常。它与Wazuh服务器通信,并将收集到的数据转发给该服务器进行进一步分析。
分布式架构在不同的主机上运行Wazuh服务器和Elastic Stack集群(一个或多个服务器)。单主机架构在同一系统上运行Wazuh服务器和Elastic Stack。本指南涵盖了两个安装选项。
下面的图列出了针对单个主机和分布式架构的每个主机运行的组件。
单台主机架构:
分布式体系结构:
注意:在安装组件之前,请确认时间同步服务已配置并在您的服务器上运行。这是最常见的NTP。更多信息,请访问Debian/Ubuntu或CentOS/RHEL/Fedora。
二、安装Wazuh服务器
Wazuh服务器可以安装在任何类unix操作系统上。它最常安装在Linux上。如果您的发行版可以使用包,那么通过包进行安装过程会更简单,但是,从源代码构建和安装也非常简单。
在Wazuh服务器上通常安装两个组件:管理器和API。此外,对于分布式架构(Wazuh服务器将数据发送到远程弹性堆栈集群),需要安装Filebeat。
安装Wazuh服务器有几个选项,具体取决于操作系统以及是否希望从源代码构建。请参阅下表并选择如何进行:安装Wazuh服务器
2.1使用DEB包安装Wazuh服务器
对于Debian/Ubuntu平台,安装Wazuh服务器组件需要在添加存储库之后安装相关包。
注意:下面描述的许多命令需要使用root用户权限执行。
2.1.1添加Wazuh存储库
设置Wazuh的第一步是将Wazuh存储库添加到服务器。如果您想直接下载wazuh-manager包,或者查看兼容的版本,请单击此处。
1、要执行此过程,必须在系统上安装curl、apt-transport-https和lsb-release包。如果它们还没有出现,请使用以下命令安装它们:
#apt-get update
#apt-get install curl apt-transport-https lsb-release
如果/usr/bin/python文件不存在(如ubuntu16.04 LTS或更高版本),使用以下命令创建到Python(2.7或更高版本)的符号链接:
#if[! -f /usr/bin/python];thenln -s /usr/bin/python3 /usr/bin/python;fi
2、安装GPG密钥:
#curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add -
3、添加存储库:
#echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list
4、更新包信息:
#apt-get update
2.1.2安装Wazuh管理器
在您的终端上,安装Wazuh管理器:
#apt-get install wazuh-manager
流程完成后,您可以通过以下方式查看服务状态:
对于Systemd:
#systemctl status wazuh-manager
对于SysV Init:
#service wazuh-manager status
2.1.3安装Wazuh API
1、运行Wazuh API需要NodeJS >= 4.6.1。如果您没有安装NodeJS,或者您的版本低于4.6.1,我们建议您像这样添加正式的NodeJS存储库:
#curl -sL https://deb.nodesource.com/setup_8.x | bash -
如果你使用Ubuntu 12.04 (Precise)或Debian 7 (Wheezy),你必须使用以下命令安装NodeJS 6:
#curl -sL https://deb.nodesource.com/setup_6.x | bash -
然后,安装NodeJS:
#apt-get install nodejs
2、为了运行API,需要Python >= 2.7。它是默认安装的,或者包含在大多数Linux发行版的官方存储库中。
要确定系统上的python版本是否低于2.7,可以运行以下命令:
#python --version
It is possible to set a custom Python path for the API in ``/var/ossec/api/configuration/config.js``, in case the stock version of Python in your distro is too old:
3、安装Wazuh API。如果需要,它将更新NodeJS:
#apt-get install wazuh-api
4、流程完成后,您可以通过以下方式查看服务状态:
对于Systemd:
#systemctl status wazuh-api
对于SysV Init:
#service wazuh-api status
5、(可选)禁用Wazuh更新:
建议禁用Wazuh存储库,以防止意外升级。为此,请使用以下命令:
#sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/wazuh.list
#apt-get update
另外,您可以将包状态设置为hold,这将停止更新(尽管您仍然可以使用apt-get安装手动更新它)。
#echo "wazuh-manager hold" | sudo dpkg --set-selections
#echo "wazuh-api hold" | sudo dpkg --set-selections
2.1.4安装Filebeat
Filebeat是Wazuh服务器上的工具,它安全地将警报和存档事件转发到弹性堆栈服务器上的Logstash服务。
注意:在单主机体系结构中(同一系统中安装了Wazuh服务器和弹性堆栈),不需要安装Filebeat,因为Logstash可以直接从本地文件系统读取事件/警报数据,而不需要转发器的帮助。
DEB包适用于Debian、Ubuntu和其他基于Debian的系统。
1、从Elastic安装GPG键,然后从Elastic存储库安装:
#curl -s https://artifacts.elastic.co/GPG-KEY-elasticsearch|apt-key add -
#echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-6.x.list
#apt-get update
2、安装Filebeat:
#apt-get install filebeat=6.5.4
3、从Wazuh存储库中下载Filebeat配置文件。这是预先配置转发Wazuh警报到Logstash:
#curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh/3.7/extensions/filebeat/filebeat.yml
4、编辑文件/etc/ filebeat/filebeat。用弹性堆栈服务器的IP地址或主机名替换ELASTIC_SERVER_IP。例如:
output:
logstash:
hosts:["ELASTIC_SERVER_IP:5000"]
5、启用和启动Filebeat服务:
对于Systemd:
#systemctl daemon-reload
#systemctl enable filebeat.service
#systemctl start filebeat.service
对于SysV Init:
#update-rc.d filebeat defaults 9510
#service filebeat start
6、(可选)禁用Elasticsearch更新:
建议禁用Elasticsearch存储库,以防止由于应用程序可能取消更改而升级到新的弹性堆栈版本。为此,请使用以下命令:
#sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/elastic-6.x.list
#apt-get update
另外,您可以将包状态设置为hold,这将停止更新(尽管您仍然可以使用apt-get安装手动更新它)。
#echo "filebeat hold" | sudo dpkg --set-selections