安装Wazuh服务器
Wazuh服务器可以安装在任何类型的Unix操作系统上。最常见安装在Linux上。如果可以为您的系统提供自动化脚本,则安装过程会更容易,但是,从源码构建和安装也非常简单。
通常在Wazuh服务器上安装两个组件:管理器和API。此外,对于分布式体系结构(Wazuh服务器将数据发送到远程Elastic Stack集群),需要安装Filebeat。
安装Wazuh服务器有多种选择,具体取决于操作系统以及是否希望从源代码构建。请参阅下表并选择如何安装:
类型 | 描述 |
---|---|
RPM包 | 在CentOS / RHEL / Fedora上安装Wazuh服务器 |
DEB包 | 在Debian/Ubuntu上安装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 nodejs
2.要运行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-api
4.完成此过程后,您可以使用以下命令检查服务状态:a.for Systemd:# systemctl status wazuh-api
b.for SysV Init:
# service wazuh-api status
5.(可选)禁用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.0
3.从Wazuh存储库下载Filebeat配置文件。这是预配置为将Wazuh警报转发给Logstash:
# curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/filebeat/filebeat.yml
4. 编辑文件/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-manager
b.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 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: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-api
4.完成此过程后,您可以使用以下命令检查服务状态:a.for Systemd:
# systemctl status wazuh-api
b.for 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,这将停止更新(尽管您仍然可以手动升级它)
# 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.yml
4. 编辑文件/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。请参阅下表并选择:
类型 | 描述 |
---|---|
RPM包 | 在CentOS / RHEL / Fedora上安装Elastic Stack |
DEB包 | 在Debian / Ubuntu上安装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-jrea.
对于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-installer2.安装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 logstash
b.远程配置(仅在分布式架构中):# curl -so /etc/logstash/conf.d/01-wazuh.conf https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/logstash/01-wazuh-remote.conf
3. 启用并启动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-release
2.安装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-agent
2.(可选)禁用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
要从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配置上设置
可选配置
本节为与建立高效,稳定和安全的Wazuh环境相关的最佳实践提供指导。在这里,您将找到有关如何在分布式体系结构中设置SSL通信的信息(Wazuh服务器与Elastic Stack集群通信),如何使用Nginx为Kibana设置安全 agent 以及如何向Web用户添加身份验证接口。
内容
- 为Filebeat和Logstash设置SSL
- 为Kibana设置SSL和身份验证
- 保护Wazuh API
- Elasticsearch调优
- Search Guard
- 自动安装Wazuh API
为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.2 3.生成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的发行版)
- 用于Kibana的NGINX SSL代理(基于Debian的发行版)
用于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.如果您拥有有效的签名证书,请将密钥文件
和证书文件复制到适当的位置:
# MKDIR -p的/ etc / PKI / TLS /证书的/ etc / PKI / TLS /私人 # CP/etc/pki/tls/certs/kibana-access.pem # CP 的/ etc / PKI / TLS /private/kibana-access.key b.如果您没有有效的签名证书,请按如下方式创建自签名证书。请记住将字段设置为您的服务器名称。例如,如果您的服务器是,您将执行以下操作:# 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 []: [email protected]3.将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-tools
2.生成.htpasswd文件,确保替换wazuh为您选择的用户名,与auth_basic_user_file匹配:
# htpasswd -c /etc/nginx/conf.d/kibana.htpasswd wazuh
3.重启NGINX:a.for Systemd:
# systemctl restart nginx
b. 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 nginx
2.安装SSL证书和私钥:a.如果您拥有有效的签名证书,请将密钥文件和证书文件复制 到适当的位置: # mkdir -p /etc/ssl/certs /etc/ssl/private # cp/etc/ssl/certs/kibana-access.pem # cp /etc/ssl/private/kibana-access.key b.如果您没有有效的签名证书,请按如下方式创建自签名证书:
# 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-utils
2.使用您选择的用户名生成.htpasswd替换下面的文件:
# htpasswd -c /etc/nginx/conf.d/kibana.htpasswd3.重启NGINX:a.For Systemd:# systemctl restart nginx
b.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的相关配置。
1.Memory locking
2.Shards and replicas
当系统交换内存时,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。
参考:
- 内存锁定检查
- bootstrap.memory_lock
- 启用bootstrap.memory_lock。
- Heap: Sizing and Swapping.
- 限制内存使用量
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:-
本文档是为我们最新支持的版本设计的,它是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://: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-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://: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-nhnv
Kibana简要总结
现在你有两个Kibana用户:
- Kibana服务器使用Search Guard中预定义的管理员用户(/etc/kibana/kibana.yml)。
- Kibana UI wazuhadmin用户可以看到所有并修改.wazuh索引。
参考
- https://docs.search-guard.com
- https://github.com/floragunncom/search-guard
自动插入Wazuh API
如果您想更快地在我们的某个应用程序上添加Wazuh API凭据,您可以执行以下命令之一,具体取决于您使用的应用程序:
Kibana应用程序
# curl -X POST "http://:9200/.wazuh/wazuh-configuration/1513629884013" -H 'Content-Type: application/json' -d' { "api_user": " ", "api_password": " ", "url": " ", "api_port": " ", "insecure": "true", "component": "API", "cluster_info" : { "manager" : " ", "cluster" : " ", "status" : " " }, "extensions" : { "audit" : true, "pci" : true, "gdpr" : true, "oscap" : true, "ciscat" : false, "aws" : false, "virustotal" : false, "osquery" : false }
请注意以下事项:
是Elasticsearch主机的URL 。 - cURL命令(1513629884013)上使用的数字是一个随机数,用于将Wazuh API条目标识为唯一。如果要添加更多API,则必须使用其他编号。
和 表示要存储在应用程序中的Wazuh API凭据。 - API密码必须以base64格式存储。使用将以正确的格式返回密码以供使用:echo -n '
' | base64 和< WAZUH_API_PORT>是Wazuh API 的完整IP地址和端口。URL必须包含http://或https://,具体取决于当前配置。是安装Wazuh管理器的实例的主机名。您只需在管理器主机上运行该命令即可获取此信息。 是Wazuh集群的名称。它是在文件ossec.conf上配置的。如果您没有使用Wazuh群集,请使用Disabled。 是Wazuh集群的状态。使用enabled或disabled取决于您的配置。
Splunk app
# curl -X POST "http://: /en-US/custom/SplunkAppForWazuh/manager/add_api?url= &portapi= &userapi= &passapi= "
是安装应用程序的Splunk实例的主机名或IP地址。 是安装应用程序的Splunk实例的端口。默认情况下,它是8000。 , , 和 代表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应用程序之间的更详细的兼容性.