安装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

  1. 要运行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 python27
b.对于RHEL 6:
# yum install python27
您可能需要首先启用存储库以获取python27,使用如下命令:
#   yum-config-manager --enable rhui-REGION-rhel-server-rhscl
# yum-config-manager --enable rhel-server-rhscl-6-rpms
3.安装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的系统上

  1. 从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
EOF
2.安装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.service
b.for SysV Init:
# chkconfig --add filebeat
# service filebeat start
6.(可选)禁用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软件包,或查看兼容版本,请单击此处。

  1. 要执行此过程中,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; fi
2.安装GPG密钥
# curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add -
3.添加更新源
# echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list
4.更新包
# apt-get update

安装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

  1. 要运行Wazuh API,需要NodeJS> = 4.6.1。如果您没有安装NodeJS或者您的版本低于4.6.1,我们建议您添加官方NodeJS存储库,如下所示:
# curl -sL https://deb.nodesource.com/setup_8.x | bash -

如果您使用的是Ubuntu 12.04(Precise)或Debian 7(Wheezy),则必须使用以下命令安装NodeJS 6:

# curl -sL https://deb.nodesource.com/setup_6.x | bash -

然后,安装NodeJS:

# apt-get install nodejs
2.要运行API,需要Python> = 2.7。它默认安装或包含在大多数Linux发行版的官方库中。
要确定系统上的python版本是否低于2.7,可以运行以下命令:
# python --version

It is possible to set a custom Python path for the API in ``/var/ossec/api/configuration/config.js``, in case the stock version of Python in your distro is too old:
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的系统。

  1. 从Elastic安装GPG密钥,然后安装Elastic存储库:
# curl -s https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
# echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-6.x.list
# apt-get update
2.安装Filebeat:
# apt-get install filebeat=6.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.service
b.for SysV Init:
# update-rc.d filebeat defaults 95 10
# service filebeat start
6.(可选)禁用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

RPM软件包适合安装在Red Hat,CentOS和其他基于RPM的系统上。
注意:下面的许多命令都需要以root用户权限执行。
Preparation
  1. 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。

  1. 安装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 @-
注意:建议编辑默认配置以提高Elasticsearch的性能。为此,请参阅Elasticsearch调优。
Logstash
Logstash是收集,解析和转发数据到Elasticsearch的工具,用于索引和存储Wazuh服务器生成的所有日志。有关更多信息,请参阅Logstash。
  1. 安装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
 
如果您使用CentOS-6 / RHEL-6或Amazon AMI(logstash像服务管理器一样使用Upstart并需要修复,请参阅此错误),请按照以下步骤操作:
  1. 编辑文件/etc/logstash/startup.options,将第30行从LS_GROUP = logstash更改为LS_GROUP = ossec
  2. 通过运行命令 /usr/share/logstash/bin/system-install,并使用新参数更新服务
  3. 重新启动Logstash
 
4.启用并启动Logstash服务:
a.for Systemd:
# systemctl daemon-reload
# systemctl enable logstash.service
# systemctl start logstash.service
b.for SysV Init:
# chkconfig --add logstash
# service logstash start
 
注意:如果您在不同的系统(分布式体系结构)上运行Wazuh服务器和Elastic Stack服务器,则在Filebeat和Logstash之间配置加密非常重要。为此,请参阅为Filebeat和Logstash设置SSL。
Kibana

Kibana是一个灵活,直观的Web界面,用于可视化存储在Elasticsearch中的事件和信息。在Kibana上查找更多信息。

  1. 安装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:

a.对于Debian >= 8/Jessie or Ubuntu >= 16.04/Xenial:
    # 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-installer
b.对于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。

  1. 安装Elasticsearch包:
# apt-get 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:
# 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。

  1. 安装Logstash包:
# apt-get install logstash=1:6.6.0-1
2.下载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.service
b.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上查找更多信息。

  1. 安装Kibana包:
# apt-get install kibana=6.6.0
  1. 为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:
# update-rc.d kibana defaults 95 10
# service kibana start
5.(可选)禁用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

  1. 在终端上,按如下方式安装Wazuh agent:
  • 使用yum包安装:

    # yum install wazuh-agent
  • 使用zypper包安装

    # zypper install wazuh-agent
2.(可选)禁用Wazuh存储库:

建议禁用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软件包,可以在此处找到它。

  1. 要执行此过程中,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.list
4.更新包
# apt-get update

安装Wazuh agent

  1. 在您的终端上,安装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安装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证书

  1. 生成SSL证书和密钥,如下所示:

    在安装了Logstash服务器的计算机上,创建OpenSSL示例配置文件的副本。文件位置可能因操作系统而异:

    1. 在Debian或Ubuntu上:

      # cp /etc/ssl/openssl.cnf custom_openssl.cnf
    2. 在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.cnf

4.

您可以删除自定义配置文件:
# rm custom_openssl.cnf

配置Logstash服务器

新生成的SSL证书和密钥分别位于/etc/logstash/logstash.crt和/etc/logstash/logstash.key。接下来,配置Logstash以使用此新密钥与Filebeat进行通信。

  1. 编辑文件/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"
    }
    }
  2. 重新启动Logstash。该命令取决于OS init系统:

    1. for Systemd:

      # systemctl restart logstash.service
    2. for  SysV Init:

      # service logstash restart

配置Filebeat

配置Filebeat以验证Logstash服务器的证书。

  1. 在安装了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
  2. 编辑文件/etc/filebeat/filebeat.yml,并取消注释与SSL内部相关的行,如下所示:

    output:
    logstash:
    hosts: ["192.168.1.2:5000"]
    ssl:
    certificate_authorities: ["/etc/filebeat/logstash.crt"]
  3. 重新启动Filebeat。该命令取决于OS init系统:

a.for Systemd:
# systemctl restart logstash.service
b.for SysV Init:
# service logstash restart

注意:有关更多详细信息,请参阅 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的发行版)

  1. 安装NGINX:
    a.对于CentOS:
# 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 ngin
 b.对于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.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 []: example@mail.com
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启用身份验证

  1. 安装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的发行版)

  1. 安装NGINX:
# apt-get install nginx
2.安装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.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启用身份验证

  1. 安装apache2-utils包:
# apt-get install apache2-utils
2.使用您选择的用户名生成.htpasswd替换<user>下面的文件:
# htpasswd -c /etc/nginx/conf.d/kibana.htpasswd <user>
3.重启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:

  1. 更改默认凭据:

默认情况下,您可以通过键入用户“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.sh
3.绑定到localhost:
如果您不需要从外部访问API,则应将API绑定到localhost使用配置文件/var/ossec/api/configuration/config.js中的选项的config.host。

Elasticsearch调整

本指南总结了允许优化Elasticsearch的相关配置。

1.Memory locking

2.Shards and replicas

Memory locking

当系统交换内存时,Elasticsearch的性能很差。对于节点的运行状况而言,任何JVM都不会交互到磁盘是至关重要的。

在本示例中,我们将展示如何将bootstrap.memory_lock设置为true,以便Elasticsearch将进程地址空间锁定到RAM中。这可以防止任何Elasticsearch内存被溢出。

  1. 设置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 elasticsearch
b.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模板。在以下示例中,分片和副本的正确值在仅包含一个节点的群集中配置。

警告:如果已创建索引,则必须在编辑模板后重新编辑索引。

  1. 下载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角色。

  1. 编辑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版本。

  1. 像其他安装组件一样安装:
$ 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
}
 

请注意以下事项:

  1. <ELASTICSEARCH_IP>是Elasticsearch主机的URL 。
  2. cURL命令(1513629884013)上使用的数字是一个随机数,用于将Wazuh API条目标识为唯一。如果要添加更多API,则必须使用其他编号。
  3. <WAZUH_API_USERNAME>和<WAZUH_API_PASSWORD>表示要存储在应用程序中的Wazuh API凭据。
  4. API密码必须以base64格式存储。使用将以正确的格式返回密码以供使用:echo -n '<WAZUH_API_PASSWORD>' | base64
  5. <WAZUH_API_URL>和<WAZUH_API_PORT>是Wazuh API 的完整IP地址和端口。URL必须包含http://或https://,具体取决于当前配置。
  6. <WAZUH_MANAGER_HOSTNAME>是安装Wazuh管理器的实例的主机名。您只需在管理器主机上运行该命令即可获取此信息。
  7. <WAZUH_MANAGER_CLUSTER_NAME>是Wazuh集群的名称。它是在文件ossec.conf上配置的。如果您没有使用Wazuh群集,请使用Disabled。
  8. <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>"
 
  1. <SPLUNK_IP>是安装应用程序的Splunk实例的主机名或IP地址。
  2. <SPLUNK_PORT>是安装应用程序的Splunk实例的端口。默认情况下,它是8000。
  3. <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
注意:基于RPM的软件包包括CentOS / RHEL 6或更高版本,Fedora 22或更高版本,SLES 12和Amazon Linux。

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应用程序之间的更详细的兼容性.

 
 
 
 
 
 

wazuh官方安装指南(中文译版本)的更多相关文章

  1. ABP 教程文档 1-1 手把手引进门之 AngularJs, ASP.NET MVC, Web API 和 EntityFramework(官方教程翻译版 版本3.2.5)含学习资料

    本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 转载请注明出处:http://www.cnblogs.com/yabu007/  谢谢 官方文档分四部分 一. 教程文档 二.ABP 框架 三. ...

  2. ABP 教程文档 1-1 手把手引进门之 ASP.NET Core & Entity Framework Core(官方教程翻译版 版本3.2.5)

    本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 官方文档分四部分 一. 教程文档 二.ABP 框架 三.zero 模块 四.其他(中文翻译资源) 本篇是第一部分的第一篇. 第一部分分三篇 1- ...

  3. 分布式 PostgreSQL 集群(Citus)官方安装指南

    单节点 Citus Docker (Mac 与 Linux) Docker 镜像仅用于开发/测试目的, 并且尚未准备好用于生产用途. 您可以使用一个命令在 Docker 中启动 Citus: # st ...

  4. SDL Guide 中文译版

    SDL即Simple DirectMedia Layer,类似DirectX,是完整的游戏.多媒体开发包,但不同的是它跨越几乎所有的平台,有各种语言的接口,多种语言的文档,而这一切都是广大志愿者完成的 ...

  5. Coablt strike官方教程中文译版本

    安装和设置 系统要求 Cobalt Strike的最低系统要求 2 GHz +以上的cpu 2 GB RAM 500MB +可用空间 在Amazon的EC2上,至少使用较高核数的CPU(c1.medi ...

  6. PyTorch 60 分钟入门教程:PyTorch 深度学习官方入门中文教程

    什么是 PyTorch? PyTorch 是一个基于 Python 的科学计算包,主要定位两类人群: NumPy 的替代品,可以利用 GPU 的性能进行计算. 深度学习研究平台拥有足够的灵活性和速度 ...

  7. SplendidCRM 中文语言包改正版

    由于官方的中文语言包太多地方词不达意,可能是文化差异吧,如“删除”却写成“德尔”.本人修改了几十个地方,还修改了不能清除已有数据的Bug.相关文件在下载包中. http://files.cnblogs ...

  8. 【转】Everything中文绿色版在Win7/8用不了?

    原文网址:http://pcedu.pconline.com.cn/472/4727542.html 用过Everything的朋友应该都知道,Everything有两个版本,一个是安装版,另一个是E ...

  9. FlowNet2.0 安装指南

     \(安装环境: \color{red}{Ubuntu16.04 + CUDA8.0 + cuDNN5.0}\) 安装 CUDA CUDA 安装准备 CUDA 官方安装文档 首先查看是否电脑具有支持 ...

随机推荐

  1. docker实现跨主机连接

    实验环境: centos7系统 host1:192.168.42.128 host2:192.168.42.129 dokcer容器跨主机连接 1.使用网桥实现跨主机容器连接 2.使用Open vSw ...

  2. SSH 报错解决方法记录汇总

    SSH 密钥签名失败 情景: 使用 SSH 密钥验证身份时 报错: sign_and_send_pubkey: signing failed: agent refused operation 环境: ...

  3. Bootstrap学习--栅格系统

    响应式布局页面:即同一套页面可以兼容不同分辨率的设备. Bootstrap依赖于栅格系统实现响应式布局,将一行均分为12个格子,可以指定元素占几个格子. 实现过程 1.定义容器,相当于之前的table ...

  4. python操作hive并且获取查询结果scheam

    执行hive -e 命令并且获取对应的select查询出来的值及其对应的scheam字段 需要在执行语句中前部添加 set hive.cli.print.header=true; 这个设置,如下语句: ...

  5. redis高级应用(集群搭建、集群分区原理、集群操作)

    文章主目录 Redis集群简介 Redis集群搭建 Redis集群分区原理 集群操作 参考文档 本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 ...

  6. 20172321 2017-2018-2《Java程序设计》第三周学习总结

    20172321 2017-2018-2<Java程序设计>第三周学习总结 教材学习内容总结 第三章要点: 要点1 :String类.Random类.Math类和枚举型,这几个是很有用的并 ...

  7. bata4

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员:恺琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示组 ...

  8. Leetcode题库——5.最长回文子串

    @author: ZZQ @software: PyCharm @file: longestPalindrome.py @time: 2018/9/18 20:06 要求:给定一个字符串 s,找到 s ...

  9. SQL语句中的output用法

    private void button2_Click(object sender, RoutedEventArgs e) { using (SqlConnection conn = new SqlCo ...

  10. Effective Modern C++翻译(5)-条款4:了解如何观察推导出的类型

    条款4:了解如何观察推导出的类型 那些想要知道编译器推导出的类型的人通常分为两种,第一种是实用主义者,他们的动力通常来自于软件产生的问题(例如他们还在调试解决中),他们利用编译器进行寻找,并相信这个能 ...