安装Wazuh服务器
Wazuh服务器可以安装在任何类型的Unix操作系统上。最常见安装在Linux上。如果可以为您的系统提供自动化脚本,则安装过程会更容易,但是,从源码构建和安装也非常简单。
通常在Wazuh服务器上安装两个组件:管理器和API。此外,对于分布式体系结构(Wazuh服务器将数据发送到远程Elastic Stack集群),需要安装Filebeat。
安装Wazuh服务器有多种选择,具体取决于操作系统以及是否希望从源代码构建。请参阅下表并选择如何安装:
注意
强烈建议在64位操作系统上安装Wazuh Server,因为Wazuh API在32位平台上不可用。如果没有Wazuh API,Wazuh Kibana应用程序的大部分功能都将无法使用。同样,如果您为Wazuh Server平台使用Red Hat或CentOS,请确保它是版本6或更高版本才能正确安装Wazuh API。
使用RPM软件包安装Wazuh服务器
对于CentOS / RHEL / Fedora平台,安装Wazuh服务器组件需要在添加更新源后安装相关软件包。
注意:下面使用的许多命令都需要以root用户权限执行。
添加Wazuh存储库
设置Wazuh的第一步是将Wazuh更新源添加到您的系统中。如果您想直接下载wazuh-manager软件包,或查看兼容版本,请单击此处。
要设置更新源,请运行以下命令:
# cat > /etc/yum.repos.d/wazuh.repo <<\EOF
[wazuh_repo]
gpgcheck=1
gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH
enabled=1
name=Wazuh repository
baseurl=https://packages.wazuh.com/3.x/yum/
protect=1
EOF
对于CentOS-5和RHEL-5:
# cat > /etc/yum.repos.d/wazuh.repo <<\EOF
[wazuh_repo]
gpgcheck=1
gpgkey=http://packages.wazuh.com/key/GPG-KEY-WAZUH-5
enabled=1
name=Wazuh repository
baseurl=http://packages.wazuh.com/3.x/yum/5/$basearch/
protect=1
EOF
安装Wazuh Manager
下一步是在您的系统上安装Wazuh Manager:
# yum install wazuh-manager
完成此过程后,您可以使用以下命令检查服务状态
a.for Systemd:
# systemctl status wazuh-manager
b.For SysV Init:
# service wazuh-manager status
安装Wazuh API
- 要运行Wazuh API,需要NodeJS> = 4.6.1。如果您没有安装NodeJS或者您的版本低于4.6.1,我们建议您添加官方NodeJS更新源库,如下所示:
# curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -然后,安装NodeJS:
# yum install nodejs2.要运行Wazuh 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:config.python = [
// Default installation
{
bin: "python",
lib: ""
},
// Package 'python27' for CentOS 6
{
bin: "/opt/rh/python27/root/usr/bin/python",
lib: "/opt/rh/python27/root/usr/lib64"
}
];CentOS 6和Red Hat 6附带Python 2.6,但是,你可以并行安装Python 2.7来兼容旧版本
a.对于CentOS 6:
# yum install -y centos-release-scl
# yum install -y python27b.对于RHEL 6:# yum install python27您可能需要首先启用存储库以获取python27,使用如下命令:# yum-config-manager --enable rhui-REGION-rhel-server-rhscl
# yum-config-manager --enable rhel-server-rhscl-6-rpms3.安装Wazuh API。如果需要,它将更新NodeJS:
# yum install wazuh-api4.完成此过程后,您可以使用以下命令检查服务状态:a.for Systemd:# systemctl status wazuh-apib.for SysV Init:
# service wazuh-api status5.(可选)禁用Wazuh更新源:
建议禁用Wazuh更新源以防止意外升级。为此,请使用以下命令:
# sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo
安装Filebeat
Filebeat是Wazuh服务器上的工具,可以将警报和归档事件安全地转发到Elastic Stack服务器上的Logstash服务上
警告:在单主机架构中(Wazuh服务器和Elastic Stack安装在同一系统中),不需要安装Filebeat,因为Logstash将能够直接从本地文件系统读取事件/警报数据,而无需转发器。
RPM软件包适合安装在Red Hat,CentOS和其他基于RPM的系统上
- 从Elastic安装GPG密钥,然后安装Elastic更新源:
# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch # cat > /etc/yum.repos.d/elastic.repo << EOF
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF2.安装Filebeat:
# yum install filebeat-6.6.03.从Wazuh存储库下载Filebeat配置文件。这是预配置为将Wazuh警报转发给Logstash:
# curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/filebeat/filebeat.yml4. 编辑文件/etc/filebeat/filebeat.yml并替换ELASTIC_SERVER_IP 为Elastic Stack服务器的IP地址或主机名。例如:
output:
logstash:
hosts: ["ELASTIC_SERVER_IP:5000"]5.启动Filebeat服务:a.for Systemd:
# systemctl daemon-reload
# systemctl enable filebeat.service
# systemctl start filebeat.serviceb.for SysV Init:# chkconfig --add filebeat
# service filebeat start6.(可选)禁用Elasticsearch存储库:
建议禁用Elasticsearch更新源,以防止升级到较新的Elastic Stack版本,为此,请使用以下命令:
# sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/elastic.rep
使用DEB包安装Wazuh服务器
对于Debian / Ubuntu平台,安装Wazuh服务器组件需要在添加存储库后安装相关的软件包。下面使用的许多命令都需要以root用户权限执行。
添加Wazuh更新源
设置Wazuh的第一步是将Wazuh更新源添加到您的系统上。如果您想直接下载wazuh-manager软件包,或查看兼容版本,请单击此处。
- 要执行此过程中,curl,apt-transport-https和lsb-release软件包必须安装在系统上。如果它们没被安装,请使用以下命令安装它们:
# apt-get update
# apt-get install curl apt-transport-https lsb-release如果该/usr/bin/python文件不存在(如在Ubuntu 16.04 LTS或更高版本中),请使用以下命令创建Python(2.7或更高版本):
# if [ ! -f /usr/bin/python ]; then ln -s /usr/bin/python3 /usr/bin/python; fi2.安装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.list4.更新包
# apt-get update
安装Wazuh Manager
在您的终端上,安装Wazuh manager:
# apt-get install wazuh-manager
完成此过程后,您可以使用以下命令检查服务状态:
a. for Systemd:
# systemctl status wazuh-managerb.for SysV Init:# service wazuh-manager status
安装Wazuh API
- 要运行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 nodejs2.要运行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:config.python = [
// Default installation
{
bin: "python",
lib: ""
},
// Package 'python27' for CentOS 6
{
bin: "/opt/rh/python27/root/usr/bin/python",
lib: "/opt/rh/python27/root/usr/lib64"
}
];3.安装Wazuh API。如果需要,它将更新NodeJS:
# apt-get install wazuh-api4.完成此过程后,您可以使用以下命令检查服务状态:a.for Systemd:
# systemctl status wazuh-apib.for SysV Init:# service wazuh-api status5.(可选)禁用Wazuh更新:
建议禁用Wazuh更新源以防止意外升级。为此,请使用以下命令:
# sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/wazuh.list
# apt-get update或者,您可以将程序包状态设置为hold,这将停止更新(尽管您仍然可以手动升级它)
# echo "wazuh-manager hold" | sudo dpkg --set-selections
# echo "wazuh-api hold" | sudo dpkg --set-selections
安装Filebeat
Filebeat是Wazuh服务器上的工具,可以将警报和归档事件安全地转发到Elastic Stack服务器上的Logstash服务。
警告:在单主机架构中(Wazuh服务器和Elastic Stack安装在同一系统中),不需要安装Filebeat,因为Logstash将能够直接从本地文件系统读取事件/警报数据,而无需转发器。
DEB包适用于Debian,Ubuntu和其他基于Debian的系统。
- 从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 update2.安装Filebeat:
# apt-get install filebeat=6.6.03.从Wazuh更新源下载Filebeat配置文件。这是预配置为将Wazuh警报转发给Logstash:
# curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/filebeat/filebeat.yml4. 编辑文件/etc/filebeat/filebeat.yml并替换ELASTIC_SERVER_IP为Elastic Stack服务器的IP地址或主机名。例如:
output:
logstash:
hosts: ["ELASTIC_SERVER_IP:5000"]5.启动Filebeat服务:a.for Systemd:# systemctl daemon-reload
# systemctl enable filebeat.service
# systemctl start filebeat.serviceb.for SysV Init:
# update-rc.d filebeat defaults 95 10
# service filebeat start6.(可选)禁用Elasticsearch更新:
建议禁用Elasticsear更新源,以防止升级到较新的Elastic Stack版本,为此,请使用以下命令:
# sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/elastic-6.x.list
# apt-get update或者,您可以将程序包状态设置为hold,这将停止更新(尽管您仍然可以手动升级它)
# echo "filebeat hold" | sudo dpkg --set-selections
安装Elastic Stack
本指南介绍了由Logstash,Elasticsearch和Kibana组成的Elastic Stack服务器的安装。我们将说明这些基于包的组件安装。您也可以从源代码编译tar 安装它们,但是,这不是Wazuh文档中的首选安装。
除了Elastic Stack组件,您还可以找到安装和配置Wazuh应用程序(部署为Kibana插件)的说明。
根据您的操作系统,您可以选择从RPM或DEB软件包安装Elastic Stack。请参阅下表并选择:
注意
目前,Elastic Stack仅支持64位操作系统
使用RPM软件包安装Elastic Stack
- Logstash和Elasticsearch需要Oracle Java JRE 8。
注意:以下命令下载Oracle Java JRE需要带上cookie。请访问Oracle Java 8 JRE下载页面以获取更多信息。
# curl -Lo jre-8-linux-x64.rpm --header "Cookie: oraclelicense=accept-securebackup-cookie""https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jre-8u202-linux-x64.rpm"
现在,检查包是否已成功下载:
# rpm -qlp jre-8-linux-x64.rpm > /dev/null 2>&1&&echo"Java package downloaded successfully"||echo"Java package did not download successfully"
最后,使用yum安装RPM包:
# yum -y install jre-8-linux-x64.rpm
# rm -f jre-8-linux-x64.rpm
2.安装Elastic存储库及其GPG密钥:
# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch # cat > /etc/yum.repos.d/elastic.repo << EOF
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
Elasticsearch是一个高度可扩展的全文搜索和分析引擎。有关更多信息,请参阅Elasticsearch。
- 安装Elasticsearch包:
# yum install elasticsearch-6.6.0
2.启动Elasticsearch服务:
a.for Systemd:
# systemctl daemon-reload
# systemctl enable elasticsearch.service
# systemctl start elasticsearch.service
b.for SysV Init:
# chkconfig --add elasticsearch
# service elasticsearch start
等待Elasticsearch服务器完成启动非常重要。使用以下命令检查当前状态,该命令应该给出如下所示的响应:
# curl "http://localhost:9200/?pretty" {
"name" : "Zr2Shu_",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "M-W_RznZRA-CXykh_oJsCQ",
"version" : {
"number" : "6.6.0",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "053779d",
"build_date" : "2018-07-20T05:20:23.451332Z",
"build_snapshot" : false,
"lucene_version" : "7.3.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
3.为Elasticsearch加载Wazuh模板:Kibana的Wazuh应用程序需要Elasticsearch模板才能正常工作,因此确保正确安装它非常重要。
# curl https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/elasticsearch/wazuh-elastic6-template-alerts.json | curl -X PUT "http://localhost:9200/_template/wazuh" -H 'Content-Type: application/json' -d @-
- 安装Logstash包:
# yum install logstash-6.6.0
2.下载Logstash的Wazuh配置文件:
本地配置(仅在单主机架构中):
# curl -so /etc/logstash/conf.d/01-wazuh.conf https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/logstash/01-wazuh-local.conf由于Logstash用户需要读取alerts.json文件,请运行以下命令将其添加到OSSEC组:
# usermod -a -G ossec logstash远程配置(仅在分布式架构中):
# curl -so /etc/logstash/conf.d/01-wazuh.conf https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/logstash/01-wazuh-remote.con
- 编辑文件/etc/logstash/startup.options,将第30行从LS_GROUP = logstash更改为LS_GROUP = ossec
- 通过运行命令 /usr/share/logstash/bin/system-install,并使用新参数更新服务
- 重新启动Logstash
# systemctl daemon-reload
# systemctl enable logstash.service
# systemctl start logstash.service
b.for SysV Init:
# chkconfig --add logstash
# service logstash start
Kibana是一个灵活,直观的Web界面,用于可视化存储在Elasticsearch中的事件和信息。在Kibana上查找更多信息。
- 安装Kibana包:
# yum install kibana-6.6.0
2.为Kibana安装Wazuh应用程序插件:
# sudo -u kibana NODE_OPTIONS="--max-old-space-size=3072" /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/wazuhapp/wazuhapp-3.8.2_6.6.0.zip
Kibana插件安装过程可能需要几分钟。请耐心等待。
3.可选,Kibana默认只监听环回接口(localhost)。要将Kibana设置为侦听所有接口,请编辑文件/etc/kibana/kibana.yml取消注释并设置server.host,将值更改为:
server.host:"0.0.0.0"
注意:建议为Kibana设置Nginx代理,以便使用SSL加密并启用身份验证。可以在为Kibana设置SSL和身份验证中找到设置代理的说明。
4.启动Kibana服务:
a.for Systemd:
# systemctl daemon-reload
# systemctl enable kibana.service
# systemctl start kibana.service
b.for SysV Init:
# chkconfig --add kibana
# service kibana start
5.(可选)禁用Elasticsearch更新源:
建议禁用Elasticsearch更新源,以防止升级到较新的Elastic Stack版本,为此,请使用以下命令:
# sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/elastic.repo
使用Debian软件包安装Elastic Stack
DEB包适用于Debian,Ubuntu和其他基于Debian的系统。
注意:下面的许多命令都需要以root用户权限执行。
Preparation
1.Logstash和Elasticsearch需要Oracle Java JRE或OpenJDK:
# apt-get update
# apt-get install openjdk-8-jre
a.
对于Debian <8 / Jessie:
# echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
# apt-get update
# apt-get install oracle-java8-installerb.对于Ubuntu <16.04 / Xenial:#add-apt-repository ppa:webupd8team / java
#apt-get update
#apt-get install oracle-java8-installer
2.安装Elastic存储库及其GPG密钥:
# apt-get install curl apt-transport-https
# 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
Elasticsearch
Elasticsearch是一个高度可扩展的全文搜索和分析引擎。有关更多信息,请参阅Elasticsearch。
- 安装Elasticsearch包:
# apt-get install elasticsearch=6.6.02.启动Elasticsearch服务:a.for Systemd:# systemctl daemon-reload
# systemctl enable elasticsearch.service
# systemctl start elasticsearch.serviceb.for SysV Init:
# update-rc.d elasticsearch defaults 95 10
# service elasticsearch start等待Elasticsearch服务器完成启动是非常重要。使用以下命令检查当前状态,该命令应该给出如下所示的响应:
# curl "http://localhost:9200/?pretty" {
"name" : "Zr2Shu_",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "M-W_RznZRA-CXykh_oJsCQ",
"version" : {
"number" : "6.6.0",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "053779d",
"build_date" : "2018-07-20T05:20:23.451332Z",
"build_snapshot" : false,
"lucene_version" : "7.3.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}3.为Elasticsearch加载Wazuh模板:Kibana的Wazuh应用程序需要Elasticsearch模板才能正常工作,因此确保正确它非常重要。
# curl https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/elasticsearch/wazuh-elastic6-template-alerts.json | curl -X PUT "http://localhost:9200/_template/wazuh" -H 'Content-Type: application/json' -d @-
注意:建议编辑默认配置以提高Elasticsearch的性能。为此,请参阅Elasticsearch调优。
Logstash
Logstash是收集,解析和转发数据到Elasticsearch的工具,用于索引和存储Wazuh服务器生成的所有日志。有关更多信息,请参阅Logstash。
- 安装Logstash包:
# apt-get install logstash=1:6.6.0-12.下载Logstash的Wazuh配置文件:a.本地配置(仅在单主机架构中):
# curl -so /etc/logstash/conf.d/01-wazuh.conf https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/logstash/01-wazuh-local.conf由于Logstash用户需要读取alerts.json文件,请运行以下命令将其添加到OSSEC组:
# usermod -a -G ossec logstashb.远程配置(仅在分布式架构中):# curl -so /etc/logstash/conf.d/01-wazuh.conf https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/logstash/01-wazuh-remote.conf3. 启用并启动Logstash服务:a.for Systemd:
# systemctl daemon-reload
# systemctl enable logstash.service
# systemctl start logstash.serviceb.for SysV Init:# update-rc.d logstash defaults 95 10
# service logstash start
注意:如果您在不同的系统(分布式体系结构)上运行Wazuh服务器和Elastic Stack服务器,则在Filebeat和Logstash之间配置加密非常重要。为此,请参阅为Filebeat和Logstash设置SSL。
Kibana
Kibana是一个灵活,直观的Web界面,用于可视化存储在Elasticsearch中的事件和信息。在Kibana上查找更多信息。
- 安装Kibana包:
# apt-get install kibana=6.6.0
- 为Kibana安装Wazuh应用程序插件:
# sudo -u kibana NODE_OPTIONS="--max-old-space-size=3072" /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/wazuhapp/wazuhapp-3.8.2_6.6.0.zipKibana插件安装过程可能需要几分钟。请耐心等待
3.可选,Kibana默认只监听环回接口(localhost)。要将Kibana设置为侦听所有接口,请编辑该文件/etc/kibana/kibana.yml,并取消注释该设置server.host。将值更改为:
server.host: "0.0.0.0"注意:建议为Kibana设置Nginx代理,以便使用SSL加密并启用身份验证。可以在为Kibana设置SSL和身份验证中找到设置代理的说明。
4.并启动Kibana服务:
a.for Systemd:
# systemctl daemon-reload
# systemctl enable kibana.service
# systemctl start kibana.serviceb. for SysV Init:# update-rc.d kibana defaults 95 10
# service kibana start5.(可选)禁用Elasticsearch更新:
建议禁用Elasticsearch更新源,以防止升级到较新的Elastic Stack版本,因为可能会撤消应用程序的更改。为此,请使用以下命令:
# sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/elastic-6.x.list
# apt-get update或者,您可以将程序包状态设置为hold,这将停止更新(尽管您仍然可以手动升级它)
# echo "elasticsearch hold" | sudo dpkg --set-selections
# echo "kibana hold" | sudo dpkg --set-selections
# echo "logstash hold" | sudo dpkg --set-selections
安装Wazuh代理
Wazuh代理程序在您要监控的主机上运行。它是多平台的,并提供以下功能:
- 日志和数据收集,
- 文件完整性监控,
- rootkit和恶意软件检测
- 安全策略监测
此外,它还与Wazuh manger 进行通信,通过加密和认证的通道实时地发送数据。
安装Wazuh代理有多种选择,具体取决于操作系统以及是否希望从源代码构建。请参阅下表并选择如何继续执行:
类型 | 描述 |
---|---|
RPM包 | 在CentOS / RHEL / Fedora上安装Wazuh agnet |
DEB包 | 在Debian / Ubuntu上安装Wazuh agent |
Windows安装程序 | 在Windows上安装Wazuh agent |
注意:使用Puppet,Chef,SCCM或Ansible等自动化工具可以更轻松地将agnet部署到大量服务器或端点上。如果要在更大的环境中部署Wazuh,请考虑探索这些方法。
使用RPM软件包安装Wazuh agent
RPM软件包适合安装在Red Hat,CentOS和其他基于RPM的系统上。
注意:下面的许多命令都需要以root用户权限执行
添加Wazuh存储库
安装Wazuh代理的第一步是将Wazuh存储库添加到您的系统。或者,如果您想直接下载wazuh-agent软件包,或查看兼容版本,可以从这里开始。根据您的发行版运行以下命令来设置更新源:
CentOS 6 / RHEL 6,CentOS 7 / RHEL 7,Fedora 22或更高版本以及Amazon Linux
# cat > /etc/yum.repos.d/wazuh.repo <<\EOF
[wazuh_repo]
gpgcheck=1
gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH
enabled=1
name=Wazuh repository
baseurl=https://packages.wazuh.com/3.x/yum/
protect=1
EOF
CentOS 5 / RHEL 5
# cat > /etc/yum.repos.d/wazuh.repo <<\EOF
[wazuh_repo]
gpgcheck=1
gpgkey=http://packages.wazuh.com/key/GPG-KEY-WAZUH-5
enabled=1
name=Wazuh repository
baseurl=http://packages.wazuh.com/3.x/yum/5/$basearch/
protect=1
EOF
SUSE 12
# rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
# cat > /etc/zypp/repos.d/wazuh.repo <<\EOF
[wazuh_repo]
gpgcheck=1
gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH
enabled=1
name=Wazuh repository
baseurl=https://packages.wazuh.com/3.x/yum/
protect=1
EOF
SUSE 11
# rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH-5
# cat > /etc/zypp/repos.d/wazuh.repo <<\EOF
[wazuh_repo]
gpgcheck=1
gpgkey=http://packages.wazuh.com/key/GPG-KEY-WAZUH-5
enabled=1
name=Wazuh repository
baseurl=http://packages.wazuh.com/3.x/yum/5/$basearch/
protect=1
EOF
安装Wazuh agent
- 在终端上,按如下方式安装Wazuh agent:
使用yum包安装:
# yum install wazuh-agent使用zypper包安装
# zypper install wazuh-agent
建议禁用Wazuh更新源以防止意外升级。为此,请使用以下命令:
使用yum包管理器:
# sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo使用zypper包管理器:
# sed -i "s/^enabled=1/enabled=0/" /etc/zypp/repos.d/wazuh.repo
使用DEB包安装Wazuh agent
DEB包适用于Debian,Ubuntu和其他基于Debian的系统。
注意:下面的许多命令都需要以root用户权限执行
添加Wazuh存储库
安装Wazuh代理的第一步是将Wazuh存储库添加到您的服务器。或者,如果您希望直接下载wazuh-agent软件包,可以在此处找到它。
- 要执行此过程中,curl,apt-transport-https和lsb-release软件包必须安装在系统上。如果它们没有被安装,请使用以下命令安装它们:
# apt-get install curl apt-transport-https lsb-release2.安装Wazuh存储库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 /etc/apt/sources.list.d/wazuh.list4.更新包
# apt-get update
安装Wazuh agent
- 在您的终端上,安装Wazuh agent
# apt-get install wazuh-agent2.(可选)禁用Wazuh更新:
建议禁用Wazuh存储库以防止意外升级。为此,请使用以下命令:
# sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/wazuh.list
# apt-get update或者,您可以将程序包状态设置为hold,这将停止更新(尽管您仍然可以手动升级它)
# echo "wazuh-agent hold" | sudo dpkg --set-selections
在Windows上安装Wazuh agent
注意:您将需要管理员权限才能执行此安装
在Windows计算机上安装Wazuh agent的第一步是从软件包列表中下载Windows安装程序。下载完成后,可以使用以下两种方法之一安装Windows代理:
使用GUI
要从GUI安装Windows agent,请运行下载的文件,然后按照安装向导中的步骤操作。如果您不确定如何选择,只需使用默认选项安装即可。
安装后,agent 会使用图形用户界面进行配置,打开日志文件或启动和停止服务。
默认情况下,所有agent的配置文件将在:C:\Program Files(x86)\ossec-agent
注意:现在已安装agent程序,下一步是注册并配置它以与mangent通信。有关此过程的更多信息,请访问用户手册。
使用命令
注意:必须使用管理员权限运行进行自动安装
要从命令中安装Windows agent,请使用以下命令运行安装程序(该/q参数用与无人参与安装):
wazuh-agent-3.8.2-1.msi /q
要卸载 agent,将需要原始MSI文件来执行自动卸载
msiexec.exe /x wazuh-agent-3.8.2-1.msi /qn
您可以使用以下参数来自动安装authd注册agent:
选项 | 描述 |
---|---|
APPLICATIONFOLDER | 设置安装路径。默认C:\Program Files (x86)\ossec-agent. |
ADDRESS | 指定管理器IP地址或主机名。此选项还接受以分号分隔的IP或主机名列表。 |
SERVER_PORT | 指定管理器连接端口。 |
PROTOCOL | 设置管理器和代理之间的通信协议。接受UDP和TCP。默认为UDP。 |
AUTHD_SERVER | 指定Authd IP地址。 |
AUTHD_PORT | 指定Authd连接端口。 |
PASSWORD | 设置Authd密码。 |
NOTIFY_TIME | 设置管理器检查与agent 之间连接的时间。 |
TIME_RECONNECT | 设置重新连接尝试之前的时间(以秒为单位)。 |
CERTIFICATE | 指定授权路径证书。 |
PEM | 指定证书路径。 |
KEY | 指定密钥路径。 |
AGENT_NAME | 指定代理的名称。默认情况下将是计算机名称。 |
GROUP | 将指定的组分配给代理。 |
/ l installer.log | 生成安装过程的日志。 |
/ l * v installer.log | 生成安装过程的日志,包括详细消息。 |
下面是一些安装和注册Windows agent 的示例
使用带密码注册:
wazuh-agent-3.8.2-1.msi /q ADDRESS="192.168.1.1" AUTHD_SERVER="192.168.1.1" PASSWORD="TopSecret" AGENT_NAME="W2012"
使用带密码注册并分配组:
azuh-agent-3.8.2-1.msi /q ADDRESS="192.168.1.1" AUTHD_SERVER="192.168.1.1" PASSWORD="TopSecret" GROUP="my-group"
使用带CA注册的相对路径。它将在您的APPLICATIONFOLDER文件夹中搜索:
wazuh-agent-3.8.2-1.msi /q ADDRESS="192.168.1.1" AUTHD_SERVER="192.168.1.1" AGENT_NAME="W2019" CERTIFICATE="rootCA.pem"
包含空格的CA,证书或密钥的绝对路径可以写成如下所示:
wazuh-agent-3.8.2-1.msi /q ADDRESS="192.168.1.1" AUTHD_SERVER="192.168.1.1" KEY="C:\Progra~2\sslagent.key" PEM="C:\Progra~2\sslagent.cert"
数字“2”表示将在第二次出现“Progra”时搜索文件,因此,将在文件夹“C:\Program Files (x86)””中搜索密钥和证书。如果此数字为“1”,则将在“Program Files”中搜索。
注意:要通过SSL验证agent,必须同时使用KEY和PEM选项。请参阅带SSL的验证主机部分。
使用带协议注册
wazuh-agent-3.8.2-1.msi /q ADDRESS="192.168.1.1" AUTHD_SERVER="192.168.1.1" AGENT_NAME="W2016" PROTOCOL="TCP"
注意:在早于Windows Server 2008或Windows 7的Windows版本中,在Wazuh管理器上ossec-authd必须使用-a标志运行程序,或者在auth配置上设置<ssl_auto_negotiate>选项以避免兼容性错误。
可选配置
本节为与建立高效,稳定和安全的Wazuh环境相关的最佳实践提供指导。在这里,您将找到有关如何在分布式体系结构中设置SSL通信的信息(Wazuh服务器与Elastic Stack集群通信),如何使用Nginx为Kibana设置安全 agent 以及如何向Web用户添加身份验证接口。
内容
为Filebeat和Logstash设置SSL
如果您在单独的系统和服务器(分布式体系结构)上运行Wazuh服务器和Elastic Stack ,则在Filebeat和Logstash之间配置SSL加密非常重要。(这不适用于单服务器体系结构)
注意:下面的许多命令都需要以root用户权限执行
生成自签名SSL证书
-
生成SSL证书和密钥,如下所示:
在安装了Logstash服务器的计算机上,创建OpenSSL示例配置文件的副本。文件位置可能因操作系统而异:
-
在Debian或Ubuntu上:
# cp /etc/ssl/openssl.cnf custom_openssl.cnf
-
在CentOS或Red Hat上:
# cp /etc/pki/tls/openssl.cnf custom_openssl.cnf
-
注意:通常,您将在Elastic Stack服务器中运行Logstash服务器,或者,如果已在其中一个节点中设置了分布式Elasticsearch集群,则运行Logstash服务器。
2.编辑自定义配置文件
custom_openssl.cnf
:找到该部分并添加如下所示的命令行,其中包含您的Elastic服务器的IP地址:
[ v3_ca ] subjectAltName = IP: YOUR_SERVER_IP例如:[ v3_ca ] subjectAltName = IP: 192.168.1.23.生成SSL证书和密钥:
# openssl req -x509 -batch -nodes -days 365 -newkey rsa:2048 -keyout /etc/logstash/logstash.key -out /etc/logstash/logstash.crt -config custom_openssl.cnf4.
您可以删除自定义配置文件:# rm custom_openssl.cnf
配置Logstash服务器
新生成的SSL证书和密钥分别位于/etc/logstash/logstash.crt
和/etc/logstash/logstash.key
。接下来,配置Logstash以使用此新密钥与Filebeat进行通信。
-
编辑文件
/etc/logstash/conf.d/01-wazuh.conf
并取消注释与SSL相关的行。现在输入以下命令:input {
beats {
port => 5000
codec => "json_lines"
ssl => true
ssl_certificate => "/etc/logstash/logstash.crt"
ssl_key => "/etc/logstash/logstash.key"
}
} -
重新启动Logstash。该命令取决于OS init系统:
-
for Systemd:
# systemctl restart logstash.service
-
for SysV Init:
# service logstash restart
-
配置Filebeat
配置Filebeat以验证Logstash服务器的证书。
-
在安装了Filebeat 的计算机(Wazuh服务器)上,获取Logstash服务器的SSL证书文件
/etc/logstash/logstash.crt
并将其复制到/etc/filebeat/logstash.crt
。下面是一个示例,可用于将SSL证书从Logstash服务器复制到安装了Filebeat的Wazuh服务器:
# scp root@LOGSTASH_SERVER_IP:/etc/logstash/logstash.crt /etc/filebeat
-
编辑文件
/etc/filebeat/filebeat.yml,
并取消注释与SSL内部相关的行,如下所示:output:
logstash:
hosts: ["192.168.1.2:5000"]
ssl:
certificate_authorities: ["/etc/filebeat/logstash.crt"] 重新启动Filebeat。该命令取决于OS init系统:
注意:有关更多详细信息,请参阅 Elastic的“ 与Logstash保护通信”指南。
为Kibana设置SSL和身份验证
默认情况下,Kibana(包括Wazuh应用程序)与最终用户系统上的Web浏览器之间的通信未加密。强烈建议将Kibana配置为使用SSL加密并启用身份验证。在本节中,我们将介绍如何使用NGINX设置完成此操作。
NGINX是一种流行的开源Web服务器和反向代理,以其高性能,稳定性,丰富的功能集,简单的配置和低资源消耗而着称。在此示例中,我们将其用作反向代理,以向最终用户提供对Kibana的加密和经过身份验证的访问。
注意:下面的许多命令都需要以root用户权限执行。Kibana Web界面的默认端口是5601。本案例将使80和443端口可用于HTTP / HTTPS访问。
用于Kibana的NGINX SSL代理(基于RPM的发行版)
- 安装NGINX:
# cat > /etc/yum.repos.d/nginx.repo <<\EOF
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
EOF # yum install nginb.对于RHEL:# cat > /etc/yum.repos.d/nginx.repo <<\EOF
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/
gpgcheck=0
enabled=1
EOF # yum install nginx注意:有关更多信息,请参阅NGINX:官方Red Hat / CentOS软件包。
2.安装SSL证书和私钥:
a.如果您拥有有效的签名证书,请将密钥文件<ssl_key>和证书文件复制到适当的位置:
# MKDIR -p的/ etc / PKI / TLS /证书的/ etc / PKI / TLS /私人
# CP <ssl_pem> /etc/pki/tls/certs/kibana-access.pem
# CP <ssl_key>的/ etc / PKI / TLS /private/kibana-access.keyb.如果您没有有效的签名证书,请按如下方式创建自签名证书。请记住将字段设置为您的服务器名称。例如,如果您的服务器是,您将执行以下操作:# mkdir -p /etc/pki/tls/certs /etc/pki/tls/private
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/kibana-access.key -out /etc/pki/tls/certs/kibana-access.pem
Generating a 2048 bit RSA private key
...........+++
................+++
writing new private key to '/etc/pki/tls/private/kibana-access.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: US
State or Province Name (full name) [Some-State]: California
Locality Name (eg, city) []: San Jose
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Example Inc.
Organizational Unit Name (eg, section) []: section
Common Name (e.g. server FQDN or YOUR name) []: example.com
Email Address []: example@mail.com3.将NGINX配置为Kibana的HTTPS反向代理:
# cat > /etc/nginx/conf.d/default.conf <<\EOF
server {
listen 80;
listen [::]:80;
return 301 https://$host$request_uri;
} server {
listen 443 default_server;
listen [::]:443;
ssl on;
ssl_certificate /etc/pki/tls/certs/kibana-access.pem;
ssl_certificate_key /etc/pki/tls/private/kibana-access.key;
access_log /var/log/nginx/nginx.access.log;
error_log /var/log/nginx/nginx.error.log;
location / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.htpasswd;
proxy_pass http://kibana-server-ip:5601/;
}
}
EOF注意:我们配置Nginx以封装Kibana服务器的IP地址。此配置允许将Kibana请求重定向到HTTPS。使用此配置时,建议编辑文件/etc/kibana/kibana.yml以将字段设置server.host为localhost。必须重新启动Kibana服务才能应用此更改。
4.如果正在使用SELinux,则允许NGINX连接到Kibana端口:
# semanage port -a -t http_port_t -p tcp 5601注意:这假设您已安装policycoreutils-python来管理SELinux。
通过htpasswd启用身份验证
- 安装httpd-tools包
# yum install httpd-tools2.生成.htpasswd文件,确保替换wazuh为您选择的用户名,与auth_basic_user_file匹配:
# htpasswd -c /etc/nginx/conf.d/kibana.htpasswd wazuh3.重启NGINX:a.for Systemd:
# systemctl restart nginxb. for SysV Init:# service nginx restart
现在,通过HTTPS访问Kibana Web界面。它将提示您输入在上述步骤中创建的用户名和密码。
警告:如果您遇到权限问题或获得502代码错误,请尝试执行以下命令:
setsebool -P httpd_can_network_connect 1
用于Kibana的NGINX SSL代理(基于Debian的发行版)
- 安装NGINX:
# apt-get install nginx2.安装SSL证书和私钥:a.如果您拥有有效的签名证书,请将密钥文件<ssl_key>和证书文件复制<ssl_pem>到适当的位置:# mkdir -p /etc/ssl/certs /etc/ssl/private
# cp <ssl_pem> /etc/ssl/certs/kibana-access.pem
# cp <ssl_key> /etc/ssl/private/kibana-access.keyb.如果您没有有效的签名证书,请按如下方式创建自签名证书:
# mkdir -p /etc/ssl/certs /etc/ssl/private
# openssl req -x509 -batch -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/kibana-access.key -out /etc/ssl/certs/kibana-access.pem
Generating a 2048 bit RSA private key
.............+++
..+++
writing new private key to '/etc/ssl/private/kibana-access.key'
-----3.将NGINX配置为Kibana的HTTPS反向代理:
# cat > /etc/nginx/sites-available/default <<\EOF
server {
listen 80;
listen [::]:80;
return 301 https://$host$request_uri;
} server {
listen 443 default_server;
listen [::]:443;
ssl on;
ssl_certificate /etc/ssl/certs/kibana-access.pem;
ssl_certificate_key /etc/ssl/private/kibana-access.key;
access_log /var/log/nginx/nginx.access.log;
error_log /var/log/nginx/nginx.error.log;
location / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.htpasswd;
proxy_pass http://kibana-server-ip:5601/;
}
}
EOF注意:我们配置Nginx以封装Kibana服务器的IP地址。此配置允许将Kibana请求重定向到HTTPS。使用此配置时,建议编辑文件/etc/kibana/kibana.yml以将字段设置server.host为localhost。必须重新启动Kibana服务才能应用此更改。
通过htpasswd启用身份验证
- 安装apache2-utils包:
# apt-get install apache2-utils2.使用您选择的用户名生成.htpasswd替换<user>下面的文件:
# htpasswd -c /etc/nginx/conf.d/kibana.htpasswd <user>3.重启NGINX:a.For Systemd:# systemctl restart nginxb.For SysV Init:# service nginx restart
现在,通过HTTPS访问Kibana Web界面。它将提示您输入在上述步骤中创建的用户名和密码。
保护Wazuh API
默认情况下,Wazuh Kibana App和Wazuh API之间的通信未加密。强烈建议您按照以下步骤保护Wazuh API:
- 更改默认凭据:
默认情况下,您可以通过键入用户“foo”和密码“bar”来访问Wazuh API,但是,您可以按如下方式创建新凭据:
# cd /var/ossec/api/configuration/auth
# node htpasswd -c user myUserName
然后,您需要重新启动wazuh-api和wazuh-manager服务才能使更改生效。
2.启用HTTPS:
要启用HTTPS,您需要生成或提供证书。您可以学习如何生成自己的证书或使用脚本自动生成证书:/var/ossec/api/scripts/configure_api.sh3.绑定到localhost:
如果您不需要从外部访问API,则应将API绑定到localhost使用配置文件/var/ossec/api/configuration/config.js中的选项的config.host。
Elasticsearch调整
本指南总结了允许优化Elasticsearch的相关配置。
当系统交换内存时,Elasticsearch的性能很差。对于节点的运行状况而言,任何JVM都不会交互到磁盘是至关重要的。
在本示例中,我们将展示如何将bootstrap.memory_lock设置为true,以便Elasticsearch将进程地址空间锁定到RAM中。这可以防止任何Elasticsearch内存被溢出。
- 设置bootstrap.memory_lock
取消注释或将此行添加到文件中/etc/elasticsearch/elasticsearch.yml:
bootstrap.memory_lock: true
2.编辑系统资源的限制
配置系统设置的位置取决于您选择用于Elasticsearch安装的软件包和操作系统。
- 在使用systemd的情况下,需要通过systemd指定系统限制。为此,请创建执行命令的文件夹:
# mkdir -p /etc/systemd/system/elasticsearch.service.d/
然后,在新目录中,添加一个名为elasticsearch.conf文件,并指定该文件中的设置
[Service]
LimitMEMLOCK=infinity
在其他情况下,编辑/etc/sysconfig/elasticsearch(RPM)或/etc/default/elasticsearch(Debian )并正确设置:
MAX_LOCKED_MEMORY=unlimited
3.Limit memory
如果Elasticsearch尝试分配的内存超过可用内存,则先前的配置可能会导致节点不稳定甚至节点挂掉。JVM堆限制将有助于限制内存使用并防止出现这种情况。
设置Elasticsearch内存大小时,有两个规则适用:
- 使用不超过可用RAM的50%。
- 使用不超过32 GB。
此外,重要的是要考虑主机上运行的操作系统,服务和软件的内存使用情况。
默认情况下,Elasticsearch配置有1 GB的内存。您可以使用以下/etc/elasticsearch/jvm.options文件通过JVM标志更改内存大小:
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms4g
-Xmx4g
警告:确保min(Xms)和max(Xmx)大小相同,以防止JVM内存在运行时调整大小,因为这是一个非常重要的过程。
4.重启Elasticsearch
最后,重启Elasticsearch服务:
a.for Systemd:
# systemctl daemon-reload
# systemctl restart elasticsearchb.for SysV Init:# service elasticsearch restart
启动Elasticsearch后,您可以通过检查mlockall下一个请求的输出中的值来查看是否已成功应用此设置:
# curl "http://localhost:9200/_nodes?filter_path=**.mlockall&pretty"
{
"nodes" : {
"sRuGbIQRRfC54wzwIHjJWQ" : {
"process" : {
"mlockall" : true
}
}
}
}
如果该"mlockall"字段的输出为false,则请求失败。您还会在日志(位于)中找到无法锁定JVM内存的行/var/log/elasticsearch/elasticsearch.log。
参考:
Shards and replicas
Elasticsearch提供了将索引拆分为多个称为分片的段的功能。每个分片本身都是一个功能齐全且独立的“索引”,可以托管在集群中的任何节点上。分片很重要,主要有两个原因:
- 您可以水平拆分/缩放内容卷
- 您可以跨分片区分发和并行化操作,从而提高性能和吞吐量。
此外,Elasticsearch允许您将索引的分片的一个或多个副本转换成所谓的副本分片或简称副本。复制很重要,主要有两个原因:
- 它在碎片或节点出现故障时提供高可用性
- 它允许您扩展搜索量和吞吐量,因为可以在所有副本上并行执行搜索。
警告:可以在创建索引时为每个索引定义分片和副本的数量。创建索引后,您可以动态更改副本数,但是,您无法在事后更改分片数。
我的索引应该有多少个分片?
由于在没有重建索引的情况下无法重新设置(更改分片数),因此应仔细考虑在创建第一个索引之前需要多少分片。您在安装中计划的节点数将影响您应该计划的分片数。通常,通过使用与节点相同数量的分片来实现最佳性能。因此,具有三个节点的群集应该具有三个分片,而具有一个节点的群集将仅需要一个分片。
我的索引应该有多少个副本?
让我们看看如何设置具有三个节点和三个分片的集群的一些选项:
- 无副本:每个节点都有一个分片。如果节点发生故障,我们将留下两个分片的不完整索引。
- 一个副本:每个节点有一个分片和一个副本。如果节点出现故障,我们仍然会有一个完整的索引。
- 两个副本:每个节点有一个分片和两个副本(完整索引)。通过此设置,即使两个节点发生故障,群集仍可以正常运行。这似乎是最好的解决方案,但它确实增加了存储要求。
设置分片和副本的数量
使用RPM或Debian软件包的默认安装Elastic Stack 将为每个索引配置五个主分片和一个副本。
如果要更改这些设置,则需要编辑Elasticsearch模板。在以下示例中,分片和副本的正确值在仅包含一个节点的群集中配置。
- 下载Wazuh Elasticsearch模板:
# curl https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/elasticsearch/wazuh-elastic6-template-alerts.json -o w-elastic-template.json
2.编辑模板以设置一个没有副本的分片:
# nano w-elastic-template.json
{
"order": 0,
"template": "wazuh-alerts-3.x-*",
"settings": {
"index.refresh_interval": "5s",
"number_of_shards" : 1,
"number_of_replicas" : 0
},
"mappings": {
"...": "..."
}
}
3.加载模板:
# curl -X PUT "http://localhost:9200/_template/wazuh" -H 'Content-Type: application/json' -d @w-elastic-template.json
{ "acknowledged" : true }
4.可选。确认您的配置已成功更新:
# curl "http://localhost:9200/_template/wazuh?pretty&filter_path=wazuh.settings"
{
"wazuh" : {
"settings" : {
"index" : {
"number_of_shards" : "1",
"number_of_replicas" : "0",
"refresh_interval" : "5s"
}
}
}
}
更改副本数量
可以使用Elasticsearch API动态更改副本数。
在具有一个节点的群集中,副本数应设置为零:
# curl -X PUT "http://localhost:9200/wazuh-alerts-*/_settings?pretty" -H 'Content-Type: application/json' -d'
{
"settings" : {
"number_of_replicas" : 0
}
}
'
{ "acknowledged" : true }
请注意,我们假设您的目标索引模式是“wazuh-alerts- *”,但是,可以使用不同的索引模式。您可以使用以下命令查看当前索引的完整列表:
# curl "http://localhost:9200/_cat/indices"
参考:
Search Guard
Search Guard可用于通过使用不同的行业标准身份验证技术来保护您的Elasticsearch集群,例如Kerberos,LDAP/Active Directory,JSON Web令牌,TLS证书和代理身份验证 SSO。
无论您使用何种身份验证方法,基本流程如下:
用户想要访问Elasticsearch集群,例如通过发出简单查询。
-
Search Guard从请求中检索用户的凭据
- 如何检索凭据取决于身份验证方法。例如,可以从HTTP基本身份验证头,JSON Web令牌或Kerberos票证中提取它们。
Search Guard根据配置的身份验证后端对凭据进行身份验证。
-
Search Guard通过从配置的授权后端检索用户角色的列表来授权用户
- 从授权后端检索的角色称为后端角色。
- 例如,可以从LDAP / AD,JSON Web令牌或Search Guard内部用户数据库中获取角色。
Search Guard将用户和后端角色映射到Search Guard角色。
Search Guard确定与Search Guard角色关联的权限,并决定是否允许用户执行的操作。
如果您使用的是文档和字段级安全性,则还可以根据文档和单个字段应用精细化的权限。
为Logstash设置Search Guard
我们的默认配置不使用Logstash的身份验证,因此我们需要正确配置它。编辑Logstash配置文件(位于/etc/logstash/conf.d/01-wazuh.conf):
1.停止Logstash服务:
# systemctl stop logstash
2.查找输出部分并将其替换为以下内容:
output {
elasticsearch {
hosts => ["ELASTICSEARCH_HOST:9200"]
index => "wazuh-alerts-3.x-%{+YYYY.MM.dd}"
document_type => "wazuh"
user => logstash
password => logstash
ssl => true
ssl_certificate_verification => false
}
}
3.重新启动Logstash。
# systemctl restart logstash
警告:必须对所有Logstash配置应用此配置,替换特定字段(如主机或索引),具体取决于您的Logstash位置和要求。
为Elasticsearch设置Search Guard
目前,不支持同时使用X-Pack安全性。如果您的环境当前正在使用X-Pack安全功能,则必须先将其禁用,然后再继续阅读本示例:
对于Elasticsearch,您需要在所有节点中编辑文件/etc/elasticsearch/elasticsearch.yml,并添加以下命令:
xpack.security.enabled: false
现在重启Elasticsearch服务:
# systemctl restart elasticsearch
Search Guard必须与 Elastic stack中的任何其他组件一样适合Elasticsearch版本。Search Guard的版本控制略有不同,请在Search Guard版本中查看您的版本。
Search Guard的版本控制语法如下:
com.floragunn:search-guard-6:<elastic_version>-<searchguard_version>
本文档是为我们最新支持的版本设计的,它是6.5.4,所以我们的正确的版本设置:
com.floragunn:search-guard-6:6.5.4-24.0
由于Search Guard是一个插件,我们必须像其他Elasticsearch插件安装它:
sudo -u elasticsearch \
/usr/share/elasticsearch/bin/elasticsearch-plugin install \
-b com.floragunn:search-guard-6:6.5.4-24.0
Search Guard附带一个演示配置,它作为新手很有用,所以让我们安装演示配置:
$ cd /usr/share/elasticsearch/plugins/search-guard-6/tools/
$ chmod a+x install_demo_configuration.sh
# ./install_demo_configuration.sh
Install demo certificates? [y/N] y
Initialize Search Guard? [y/N] y
Enable cluster mode? [y/N] y
重启Elasticsearch服务:
# systemctl restart elasticsearch
您可以使用下一个请求检查它是否按预期执行(Search Guard需要大约两分钟来创建其内部索引,因此请耐心等待):
$ curl -k -u admin:admin https://<ELASTICSEARCH_HOST>:9200/_searchguard/authinfo?pretty
{
"user" : "User [name=admin, roles=[admin], requestedTenant=null]",
"user_name" : "admin",
"user_requested_tenant" : null,
"remote_address" : "10.0.0.4:46378",
"backend_roles" : [
"admin"
],
"custom_attribute_names" : [
"attr.internal.attribute1",
"attr.internal.attribute2",
"attr.internal.attribute3"
],
"sg_roles" : [
"sg_all_access",
"sg_own_index"
],
"sg_tenants" : {
"admin_tenant" : true,
"admin" : true
},
"principal" : null,
"peer_certificates" : "0",
"sso_logout_url" : null
}
设置Search Guard角色
Search Guard使用核心角色。Search Guard用户角色使用核心角色。最后,Search Guard用户使用用户角色。
- 角色文件
-
- /usr/share/elasticsearch/plugins/search-guard-6/sgconfig/sg_roles.yml
- Search Guard在引擎下使用核心角色
- 角色映射
-
- /usr/share/elasticsearch/plugins/search-guard-6/sgconfig/sg_roles_mapping.yml
- Search Guard用户使用的角色。这些角色可以组合多个核心角色。
- 内部用户
-
- /usr/share/elasticsearch/plugins/search-guard-6/sgconfig/sg_internal_users.yml
- 这些是所有组件将使用的用户。每个组件使用具有自己角色的不同用户。
Logstash角色
Logstash有自己的预定义用户和自己的预定义角色。由于Wazuh使用wazuh-alerts-3.x- *前缀创建自定义Elasticsearch索引,因此必须将该索引前缀添加到Logstash角色。
- 编辑Logstash角色,位于/usr/share/elasticsearch/plugins/search-guard-6/sgconfig/sg_roles.yml
sg_logstash:
cluster:
- CLUSTER_MONITOR
- CLUSTER_COMPOSITE_OPS
- indices:admin/template/get
- indices:admin/template/put
indices:
'logstash-*':
'*':
- CRUD
- CREATE_INDEX
'*beat*':
'*':
- CRUD
- CREATE_INDEX
'wazuh-alerts-3?x-*':
'*':
- CRUD
- CREATE_INDEX
注意:用于Search Guard角色的点被替换,3?x实际上意思是3.x
2.应用更改:
# /usr/share/elasticsearch/plugins/search-guard-6/tools/sgadmin.sh \
-cd /usr/share/elasticsearch/plugins/search-guard-6/sgconfig -icl -key \
/etc/elasticsearch/kirk-key.pem -cert /etc/elasticsearch/kirk.pem -cacert \
/etc/elasticsearch/root-ca.pem -h <ELASTICSEARCH_HOST> -nhnv
警告:在生产环境中,不建议使用-nhnv标识,因为它忽略了证书问题。
3.重新启动Elasticsearch和Logstash服务:
# systemctl restart elasticsearch
# systemctl restart logstash
此时,您可以使用user:password 身份验证和加密通信来保护您的Elasticsearch集群。这意味着必须对指向某个Elasticsearch节点的任何Logstash进行身份验证。此外,对Elasticsearch API的任何请求都必须使用https plus user:password 身份验证。
为Kibana设置Search Guard
目前,不支持同时使用X-Pack安全性。如果您的环境当前正在使用任何X-Pack安全功能,则必须先将其禁用,然后再继续阅读本示例。
对于Kibana,您需要编辑文件/etc/kibana/kibana.yml并添加以下行:
xpack.security.enabled:false
现在重启Kibana服务:
# systemctl restart kibana
Kibana也需要Search Guard插件。插件版本控制就像Elasticsearch插件版本一样,这意味着你必须完全适合你的Kibana版本。
- 像其他安装组件一样安装:
$ sudo -u kibana NODE_OPTIONS="--max-old-space-size=3072" /usr/share/kibana/bin/kibana-plugin install https://search.maven.org/remotecontent?filepath=com/floragunn/search-guard-kibana-plugin/6.5.4-17/search-guard-kibana-plugin-6.5.4-17.zip
2. 编辑Kibana配置文件,它位于/etc/kibana/kibana.yml,添加以下行:
# Elasticsearch URL
elasticsearch.url: "https://<ELASTICSEARCH_HOST>:9200" # Credentials
elasticsearch.username: "admin"
elasticsearch.password: "admin" # Disable SSL verification because we use self-signed demo certificates
elasticsearch.ssl.verificationMode: none # Whitelist the Search Guard Multi Tenancy Header
elasticsearch.requestHeadersWhitelist: [ "Authorization" , "sgtenant" ]
现在,您可以像往常一样访问Kibana UI,它将提示您登录,您可以使用现有的admin的用户访问它。
接下来的步骤我们将学习如何定义新的Kibana UI用户以及如何根据他们的需要为所有用户定义特定角色。
有关详细信息,请参阅Kibana Search Guard插件。
Kibana UI和Wazuh应用程序
Wazuh应用程序需要管理.wazuh和.wazuh-version索引才能正常工作。服务器端使用索引.wazuh-version。
警告:只需从Elasticsearch集群中的一个主节点执行
Wazuh app用户
1.在/usr/share/elasticsearch/plugins/search-guard-6/sgconfig/sg_roles.yml中创建新的Search Guard核心角色
sg_wazuh_admin:
cluster:
- indices:data/read/mget
- indices:data/read/msearch
- indices:data/read/search
- indices:data/read/field_caps
- CLUSTER_COMPOSITE_OPS
indices:
'?kiban*':
'*':
- MANAGE
- INDEX
- READ
- DELETE
'?wazuh':
'*':
- MANAGE
- INDEX
- READ
- DELETE
'?wazuh-version':
'*':
- MANAGE
- INDEX
- READ
- DELETE 'wazuh-alerts-3?x-*':
'*':
- indices:admin/mappings/fields/get
- indices:admin/validate/query
- indices:data/read/search
- indices:data/read/msearch
- indices:data/read/field_stats
- indices:data/read/field_caps
- READ
- SEARCH 'wazuh-monitoring*':
'*':
- indices:admin/mappings/fields/get
- indices:admin/validate/query
- indices:data/read/search
- indices:data/read/msearch
- indices:data/read/field_stats
- indices:data/read/field_caps
- READ
- SEARCH
2.为您的密码创建哈希
bash /usr/share/elasticsearch/plugins/search-guard-6/tools/hash.sh -p yourpassword
3.使用步骤2中的哈希在/usr/share/elasticsearch/plugins/search-guard-6/sgconfig/sg_internal_users.yml中创建新用户。
wazuhadmin:
hash: $2a$12$VcCDgh2NDk07JGN0rjGbM.Ad41qVR/YFJcgHp0UGns5JDymv..TOG
roles:
- wazuhadmin_role
3.在/usr/share/elasticsearch/plugins/search-guard-6/sgconfig/sg_roles_mapping.yml中设置Search Guard角色的角色映射
sg_wazuh_admin:
backendroles:
- wazuhadmin_role
4.应用更改:
# /usr/share/elasticsearch/plugins/search-guard-6/tools/sgadmin.sh \
-cd /usr/share/elasticsearch/plugins/search-guard-6/sgconfig -icl -key \
/etc/elasticsearch/kirk-key.pem -cert /etc/elasticsearch/kirk.pem -cacert \
/etc/elasticsearch/root-ca.pem -h <ELASTICSEARCH_HOST> -nhnv
Kibana简要总结
现在你有两个Kibana用户:
- Kibana服务器使用Search Guard中预定义的管理员用户(/etc/kibana/kibana.yml)。
- Kibana UI wazuhadmin用户可以看到所有并修改.wazuh索引。
它是如何进入Wazuh应用程序?
主要区别在于您现在必须在进入Kibana之前登录。另请注意,如果不允许用户使用某些索引,则不能在Kibana上使用它们。
自动插入Wazuh API
如果您想更快地在我们的某个应用程序上添加Wazuh API凭据,您可以执行以下命令之一,具体取决于您使用的应用程序:
Kibana应用程序
# curl -X POST "http://<ELASTICSEARCH_IP>:9200/.wazuh/wazuh-configuration/1513629884013" -H 'Content-Type: application/json' -d'
{
"api_user": "<WAZUH_API_USERNAME>",
"api_password": "<WAZUH_API_PASSWORD>",
"url": "<WAZUH_API_URL>",
"api_port": "<WAZUH_API_PORT>",
"insecure": "true",
"component": "API",
"cluster_info" : {
"manager" : "<WAZUH_MANAGER_HOSTNAME>",
"cluster" : "<WAZUH_MANAGER_CLUSTER_NAME>",
"status" : "<WAZUH_MANAGER_CLUSTER_STATUS>"
},
"extensions" : {
"audit" : true,
"pci" : true,
"gdpr" : true,
"oscap" : true,
"ciscat" : false,
"aws" : false,
"virustotal" : false,
"osquery" : false
}
请注意以下事项:
- <ELASTICSEARCH_IP>是Elasticsearch主机的URL 。
- cURL命令(1513629884013)上使用的数字是一个随机数,用于将Wazuh API条目标识为唯一。如果要添加更多API,则必须使用其他编号。
- <WAZUH_API_USERNAME>和<WAZUH_API_PASSWORD>表示要存储在应用程序中的Wazuh API凭据。
- API密码必须以base64格式存储。使用将以正确的格式返回密码以供使用:echo -n '<WAZUH_API_PASSWORD>' | base64
- <WAZUH_API_URL>和<WAZUH_API_PORT>是Wazuh API 的完整IP地址和端口。URL必须包含http://或https://,具体取决于当前配置。
- <WAZUH_MANAGER_HOSTNAME>是安装Wazuh管理器的实例的主机名。您只需在管理器主机上运行该命令即可获取此信息。
- <WAZUH_MANAGER_CLUSTER_NAME>是Wazuh集群的名称。它是在文件ossec.conf上配置的。如果您没有使用Wazuh群集,请使用Disabled。
- <WAZUH_MANAGER_CLUSTER_STATUS>是Wazuh集群的状态。使用enabled或disabled取决于您的配置。
Splunk app
# curl -X POST "http://<SPLUNK_IP>:<SPLUNK_PORT>/en-US/custom/SplunkAppForWazuh/manager/add_api?url=<WAZUH_API_URL>&portapi=<WAZUH_API_PORT>&userapi=<WAZUH_API_USERNAME>&passapi=<WAZUH_API_PASSWORD>"
- <SPLUNK_IP>是安装应用程序的Splunk实例的主机名或IP地址。
- <SPLUNK_PORT>是安装应用程序的Splunk实例的端口。默认情况下,它是8000。
- <WAZUH_API_URL>,<WAZUH_API_PORT>,<WAZUH_API_USERNAME>和<WAZUH_API_PASSWORD>代表Wazuh API凭证存储上的应用程序。请记住,Wazuh API URL必须包含http://或https://,具体取决于当前配置
安装包列表:
manage,agent以及API
操作系统 | 版本 | 系统位数 | 包 | SHA512校验和 | MD5校验和 |
---|---|---|---|---|---|
基于Debian | 3.8.2 | 32位 | wazuh-agent_3.8.2-1_i386.deb | 45fd4bf6210c21a9eb183ac6c9845ef380eb2da8c7a6c64c065866c0430036f01c8eb41c1caad7afc7a17d2016a2023c9415afa845b311d3144497b6a78dee23 | d514d81444da3bb1a1310cc073daf57a |
wazuh-manager_3.8.2-1_i386.deb | 6339a1fd455f7fdc982899cdae39974528379c8d68689f3959fb5a76bea244940f136fd5c858678ea7f1722d17f22dfcf8b039c4766230bb61f4f7ab1c4b817e | 475685576e13a04a862e64f4b8ef678f | |||
64位 | wazuh-agent_3.8.2-1_amd64.deb | 8328534c96c12d2df29a37c120200a0bce7de1142d5b1706cb767d541d87de0e6777a08cda9d3a010c26032e72d7255fb12ff486b4dbf48782776537deb9b455 | 7a800037ed34070fe84b6b9fd1aa85f4 | ||
wazuh-manager_3.8.2-1_amd64.deb | 5f44124d3fcbf8f89a8f056f1f0837a1684ad86c2f81281044aa0cf653d429f932574a24a916f2e75c1f998109d8730c497ec4823f6021eb5ec1ac6a5098a644 | 11d0fca5514f33d0a5292aa5769c4453 | |||
wazuh-api_3.8.2-1_amd64.deb | 83dc3e6c71cb670b0b2c4883941152df8b6e93729830106c6f91bef47601663f238508db4f3146c61d074a586fe4f50cf6c5baf1ec2b98b42c46110cfb2be634 | a6a5a2f4b7d679e02f1b26e3ba929fb7 | |||
基于RPM | 3.8.2 | 32位 | wazuh-agent-3.8.2-1.i386.rpm | d2f1b7c622f12f7da682f14453f04d346df3f77b740f204b5638b736cb9bb48ebf28c502d6e705f76f39b170b65241706220a3cb08ca315244658f9e10a7f09f | c711eceea1963aa783f349d3dad6ae93 |
wazuh-manger-3.8.2-1.i386.rpm | 4d90284fad80431b47393d954d2ca5575a426753abc2f5e6e698d551ba248823fcbe6f0760e982fa6dabafe59d77b8c0d78fe952e34cebb16654869b5b923a57 | 928cca5405556858798fbb0cd3bcc6be | |||
64位 | wazuh-agent-3.8.2-1.x86_64.rpm | 3db04f90da1701a7ff92a12e0472d78c70d2e9d9d96f075f1c2aff62a80d094acfada805b1a9edd8ac10e8eb2577470b0165171451e7a76bc44902f4b30d5b14 | d97f9ded99047f9c2afbe058f72aaf89 | ||
wazuh-manager,3.8.2-1.x86_64.rpm | 9d59fbf7a058df01e275b810f2741551283e379b36618348b1da931d46a0ef35085fa36167d772d94de8aad40715702a91e2ef0ad04917601131963d78716655 | 92d64e9edbcddf75f570bdb732ea1e18 | |||
wazuh-API 3.8.2-1.x86_64.rpm | b2d9ea714cd7f98458a33508f7b1014cf3b447f1ab532481d4a1ae70f6bcd31a3f1647b03949058dec2892ec8061c1ce81895a3a34c607403c06d61abe2c540f | 7a9fa1664a7fdceb0f84c6152cfbc518 | |||
CentOS 5 RedHat 5 SUSE 11 |
3.8.2 | 32位 | wazuh-agent-3.8.2-1.el5.i386.rpm | 0ce0cc21542388fb39421a0cb1dab8b42c7d2bb1b6afead90281bddecfadc5761f24f6805fce09c0b16a50180b6921ddb535335e3189f28b00f90060a7e322b8 | 32b575cde448e1747fb0a350bd6786bb |
wazuh-manger,3.8.2-1.el5.i386.rpm | 1504c72235aebffe29ccfddc3a5f8588e66237ac6bbc47070f50ce2778136b06e8ec3aac5e3cfe9da9d90cf34b8118abecf8c2a182b4a7c6d2139737c7293d67 | d737aab2d84ebb5d0cd9ce4d447a3aeb | |||
64位 | wazuh-agent-3.8.2-1.el5.x86_64.rpm | 131a69e9e4bc3a59d51d3382db58002b997cfad02da774cb34aaf577c20c031b4f57301b38b36f916bc6991e6f6acc66b58855b0a3746b4d3c2fb229cf29f9f8 | 769cc8a89088109b1e491ffdcb0dbf05 | ||
wazuh-manager,3.8.2-1.el5.x86_64.rpm | a15c12be503be01b977d12b9b679ca834e54b19bc7615ef82b95de4267211c33344abc13ac908f0fae326ad06c86bd02602c05bcb6109c2a28cd6ba83f68c85a | db57dfc16a05a8eec8bbc2c09a6d0613 | |||
windows | 3.8.2 | 32/64位 | wazuh-agnet-3.8.2-1.msi | 753af161918bc3cc7fc8d3de9fc73103b54cc15453af202955e885d423293182a50e7bf5612adc2c00fdd5656698aaa94aa4618176d138ba93dd46e519dbca17 | dd0b534e98b645eb1e43477b85013580 |
Mac OS X. | 3.8.2 | 64位 | wazuh-manager-3.8.2-1.pkg | 605bcd645a518321016d33c4c0108152862581882997575b2eb3b1682a6341a807e7f92bc6f4ed483ed608cfd765be6db021a39eb3f91f310223441cadebaf1e | 73bc5e724f16981130f3064a8355b700 |
HP-UX 11.31 | 3.8.2 | Itanium | wazuh-agent-3.8.2-1-HPUX-11v3-ia64.tar | 26ce466f8c9657289383550d6277ccbffc8eb758456f57cbe8a1fc1260f1cb4cd702edec33633cf53b1d2fca6bf7e7fed3584aa07513039708c20cd2efcdeb28 | 2c8633fb24cbf53b869238a78073f4ad |
Solaris 10 | 3.8.2 | I386 | wazuh-agent_v3.8.2-SOL10,i386.pkg | a4a2ba591a39a382a9f8723f6b415138f4c44a18bc17956689e1bbbd1cfe2662871cbebc0e52dbee35ca590a2f183f4c93024c1a92c7e5785e5e397deb38b687 | 50c407237f6d5d496365ef30e1411c79 |
SPARC | wazuh-agent_v3.8.2-SOL10,sparc.pkg | 67d9e915a144de85c9198a76b7b97e0744b1de2cafdf31c872c2c229fd66f5e7d5b62b7a8a7651e766f304142172e9aa021eb80a4201c5b3566d828e59291236 | 00510447e6d9e8d7f5623bd29d356986 | ||
Solaris 11 | 3.8.2 | I386 | wazuh-agent_v3.8.2-sol11-i386.p5p | 9bc17cb642e590d2d1bfb6a9a3260012ac585507aa6ddb37786e4faa9254a953dca181fdfb574db523b7a915b0fe308ebb3ef9fd69f04c1f3a7e885f04abfc7d | 24aaf35aba94c8191c0b23263559d749 |
SPARC | wazuh-agent_v3.8.2-sol11-sparc.p5p | c72100439bed144d34e589662e63dced353711df21f2e0a66b4100ad45c71aa2b6e2a5f1dcb86a2895c25ed74e9e12268f3478420440296937a2ede893487076 | 9225474a36629b86181273fbf9cbcbfe | ||
AIX 5.3或更高版本 | 3.8.2 | LPARs | wazuh-agent-3.8.2-1.aix.ppc.rpm | 3f8da3a0deefb705c1ddad42d2fdb1240cfadd16f62285c4f7092cf327383e66f0314a0137cfb475261007cfd715c35692af9612b3d092e5941ce3de6111c599 | 2ea0dcec1066366873942bb89575af27 |
Kibana和Splunk app
产品 | 版本 | Wazuh | 包 | SHA512校验和 | MD5校验和 |
---|---|---|---|---|---|
Elastic Stack | 6.6.0 | 3.8.2 | wazuhapp-3.8.2_6.6.0.zip | 0df564008cfb328c719a2847d3356dc620024535de65bb7b05204e7041d9037c7a71fff3ca544a00af3283589a2b2a4a74cdebbdb204194861f73a3f097a21ca | 35ab8d3dcd0db78e67e50ecc283cf6b4 |
Splunk的 | 7.2.3 | 3.8.2 | v3.8.2_7.2.3.tar.gz | 443a16de801ff36170f36886083c6370efb3e10725dae8086e09aa986cd83471ba3f593d2e451a3204caf446201fefb0a4b95de3ede4189621ab9277b350c3e4 | 8cf2be3aa7f64c440e3b64f41547f961 |
虚拟机
系统 | 系统位数 | VM格式 | 版本 | 软件包 | SHA512校验和 | MD5校验和 |
---|---|---|---|---|---|---|
CentOS 7 | 64位 | OVA | 3.8.2 | wazuh3.8.2_6.5.4 | 89386f5e0a314aef7def25fe6a46f408b014fd112df448a17784684c9ba0a253bcc5caac4e0e7ab3cf3780b8e5b7a8f9682926531cde88b01b6f94bb625160a0 | dc40d69a1634271cc270bc5afd9e9539 |
OVF | 3.8.2 | wazuh3.8.2_6.5.4-disk1 | a4f85d0fce81ca6020bcc1d8c88de31ec2300ec9ae6f114df225022ecb26ae7208deabe4dfb5ac41f05bc78e22e4d5a8b12311fb3d4b401e8c3fcadfe035e686 | 00b257363d54d9d62a8ce0b4c1f1a61f | ||
wazuh3.8.2_6.5.4.ovf | 70a283c171dfac191 |
兼容性
Wazuh软件可以安装在许多操作系统中,但根据您的需要,某些系统可能不兼容。此外,不同的Wazuh产品之间也有特定的兼容性要求。为了帮助您,请检查以下兼容性。
操作系统兼容性
manager
下面显示了Wazuh manger的兼容性表。由于其稳定性和与Wazuh模块的完全兼容性,建议使用CentOS / RHEL 7作为Wazuh管理器的操作系统。
操作系统 | Wazuh版 | ||||||||||
3.8.x | 3.7.x | 3.6.x | 3.5.x | 3.4.x | 3.3.x | 3.2.x | 3.1.0 | 3.0.0 | 2.1.1 | 2.1.0 | |
Debian Wheezy / 7 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Debian Jessie / 8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Debian Stretch / 9 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Ubuntu Precise / 12.04 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Ubuntu Trusty / 14.04 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Ubuntu Vivid / 15.04 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Ubuntu Wily / 15.10 * | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Ubuntu Xenial / 16.04 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Ubuntu Yakkety / 16.10 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Ubuntu Zesty / 17.04 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
Ubuntu Artful / 17.10 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
Ubuntu Bionic / 18.04 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
CentOS 5 / RHEL 5 * | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ |
CentOS 6 / RHEL 6 ** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
CentOS 7 / RHEL 7 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Fedora(> = 22) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
(*)在这些系统中,Wazuh API不可用。
(**)要在CentOS 6中运行群集,请查看在CentOS 6中 运行群集部分
注意:该集群自Wazuh v3.0起可用,并且在CentOS 5 / RHEL 5上不起作用。
agent
在此表中,您可以查看我们支持的操作系统列表,其中可以安装Wazuh agent
操作系统 | Wazuh版 | ||||||||||||||
3.8.x | 3.7.x | 3.6.x | 3.5.0 | 3.4.0 | 3.3.1 | 3.3.0 | 3.2.4 | 3.2.3 | 3.2.2 | 3.2.1 | 3.2.0 | 3.1.0 | 3.0.0 | 2.1.x | |
Debian Wheezy/7 or newer | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Ubuntu Precise / 12.04或更新版本 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
CentOS 5 / RHEL 5 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
CentOS / RHEL 6或更新版本 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Fedora 22或更新版本 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Windows XP 2003或更高版本 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Windows Server 2008或更高版本 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Mac OS X. | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
HP-UX 11.31 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Solaris 10 - i386 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ |
Solaris 11 - i386 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ |
Solaris 10 - Sparc | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ |
Solaris 11 - Sparc | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ |
AIX 5 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ |
AIX 6 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ |
AIX 7 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ |
Suse 11 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
Suse 12 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ |
Amazon Linux | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
产品兼容性
当使用Wazuh软件的全栈(这意味着,wazuh-manager
,wazuh-agent
,wazuh-api
和wazuh-app
),也有为了不同的兼容性要求,使得正常运行。
manager和agent
当agent具有与管manager相同或更旧的版本时,agent和manager之间的兼容性得到保证。
agent版本 | manger版本 | ||||||||||||||||||
3.8.0 | 3.7.2 | 3.7.1 | 3.7.0 | 3.6.1 | 3.6.0 | 3.5.0 | 3.4.0 | 3.3.1 | 3.3.0 | 3.2.4 | 3.2.3 | 3.2.2 | 3.2.1 | 3.2.0 | 3.1.0 | 3.0.0 | 2.1.1 | 2.1.0 | |
3.8.0 | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.7.2 | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.7.1 | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.7.0 | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.6.1 | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.6.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.5.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.4.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.3.1 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.3.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.2.4 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.2.3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.2.2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.2.1 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.2.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
3.1.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
3.0.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
2.1.1 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
2.1.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
注意:Wazuh manager也与OSSEC agent兼容,但请记住,并非所有功能都可用。
manger和API
API需要与major.minor manager
相同的版本才能兼容。
API版本 | Manager 版本 | |||||||||
3.8.x | 3.7.x | 3.6.x的 | 3.5.x的 | 3.4.x | 3.3.x | 3.2.x中 | 3.1.X | 3.0.x的 | 2.1.x的 | |
3.8.x | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.7.x | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.6.x的 | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.5.x的 | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.4.x | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.3.x | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
3.2.x中 | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
3.1.X | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ |
3.0.x的 | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ |
2.1.x的 | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
API和Kibana应用程序
Kibana的Wazuh应用程序需要兼容两种不同的产品:
- 使用Wazuh API,它需要相同的
major.minor
版本。- 使用Elastic Stack,它只与完全相同的版本兼容。
App version Elastic Stack version API version 3.8.x 3.7.x 3.6.x 3.5.x 3.4.x 3.3.x 3.2.x 3.1.x 3.0.x 2.1.1 3.8.x 6.5.4 to 6.6.0 ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ 3.7.x 6.4.2 to 6.5.4* ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ 3.6.x 6.3.2 to 6.4.3* ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ 3.5.x 6.3.2 to 6.4.0* ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗ 3.4.x 6.3.1 to 6.3.2* ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ 3.3.x 6.2.4 to 6.3.1* ✗ ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ 3.2.x 6.1.0 to 6.2.4* ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗ 3.1.x 6.1.0 to 6.1.3* ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✗ ✗ 3.0.x 6.0.0 to 6.1.0* ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✗ 2.1.1 5.6.5 ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓
(*)在这些Wazuh应用程序版本中,Elastic Stack有不同的兼容版本。
您可以在Kibana存储库中找到有关Wazuh应用程序的更多信息,您可以在其中查看Wazuh应用程序和Elastic Stack版本之间更详细的兼容性.
API和Splunk应用程序
Wazuh的Splunk应用程序需要兼容两种不同的产品:
- 使用Wazuh API,它需要相同的
major.minor
版本。- 使用Splunk,它只与完全相同的版本兼容。
App version | Splunk version | API version | |||||||||
3.8.x | 3.7.x | 3.6.x | 3.5.x | 3.4.x | 3.3.x | 3.2.x | 3.1.x | 3.0.x | 2.1.1 | ||
3.8.x | 7.2.3 | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.7.x | 7.2.0 to 7.2.1* | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.6.x | 7.1.2 to 7.1.3* | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.5.x | 7.1.2 | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.4.x | 7.1.2 | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
3.3.x | 7.1.1 | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
3.2.x | 7.0.3 to 7.1.1* | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ |
(*)在这些Wazuh应用程序版本中,Splunk有不同的兼容版本。
您可以在Wazuh应用程序存储库中找到更多信息,您可以在其中查看用于Wazuh和Splunk版本的Splunk应用程序之间的更详细的兼容性.