安装Wazuh服务器
Wazuh服务器可以安装在任何类型的Unix操作系统上。最常见安装在Linux上。如果可以为您的系统提供自动化脚本,则安装过程会更容易,但是,从源码构建和安装也非常简单。
通常在Wazuh服务器上安装两个组件:管理器和API。此外,对于分布式体系结构(Wazuh服务器将数据发送到远程Elastic Stack集群),需要安装Filebeat。
安装Wazuh服务器有多种选择,具体取决于操作系统以及是否希望从源代码构建。请参阅下表并选择如何安装:
注意
强烈建议在64位操作系统上安装Wazuh Server,因为Wazuh API在32位平台上不可用。如果没有Wazuh API,Wazuh Kibana应用程序的大部分功能都将无法使用。同样,如果您为Wazuh Server平台使用Red Hat或CentOS,请确保它是版本6或更高版本才能正确安装Wazuh API。
对于CentOS / RHEL / Fedora平台,安装Wazuh服务器组件需要在添加更新源后安装相关软件包。
注意:下面使用的许多命令都需要以root用户权限执行。
添加Wazuh存储库
设置Wazuh的第一步是将Wazuh更新源添加到您的系统中。如果您想直接下载wazuh-manager软件包,或查看兼容版本,请单击此处。
要设置更新源,请运行以下命令:
# cat > /etc/yum.repos.d/wazuh.repo <<\EOF [wazuh_repo] gpgcheck=1 gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH enabled=1 name=Wazuh repository baseurl=https://packages.wazuh.com/3.x/yum/ protect=1 EOF
对于CentOS-5和RHEL-5:
# cat > /etc/yum.repos.d/wazuh.repo <<\EOF [wazuh_repo] gpgcheck=1 gpgkey=http://packages.wazuh.com/key/GPG-KEY-WAZUH-5 enabled=1 name=Wazuh repository baseurl=http://packages.wazuh.com/3.x/yum/5/$basearch/ protect=1 EOF
安装Wazuh Manager
下一步是在您的系统上安装Wazuh Manager:
# yum install wazuh-manager
完成此过程后,您可以使用以下命令检查服务状态
a.for Systemd:
# systemctl status wazuh-manager
b.For SysV Init:
# service wazuh-manager status
安装Wazuh API
- 要运行Wazuh API,需要NodeJS> = 4.6.1。如果您没有安装NodeJS或者您的版本低于4.6.1,我们建议您添加官方NodeJS更新源库,如下所示:
# curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -然后,安装NodeJS:
# yum install nodejs2.要运行Wazuh API,需要Python> = 2.7。它默认安装或包含在大多数Linux发行版的官方库中。要确定系统上的python版本是否低于2.7,可以运行以下命令:
# python --version It is possible to set a custom Python path for the API in ``/var/ossec/api/configuration/config.js``, in case the stock version of Python in your distro is too old:config.python = [ // Default installation { bin: "python", lib: "" }, // Package 'python27' for CentOS 6 { bin: "/opt/rh/python27/root/usr/bin/python", lib: "/opt/rh/python27/root/usr/lib64" } ];CentOS 6和Red Hat 6附带Python 2.6,但是,你可以并行安装Python 2.7来兼容旧版本
a.对于CentOS 6:
# yum install -y centos-release-scl # yum install -y python27b.对于RHEL 6:# yum install python27您可能需要首先启用存储库以获取python27,使用如下命令:# yum-config-manager --enable rhui-REGION-rhel-server-rhscl # yum-config-manager --enable rhel-server-rhscl-6-rpms3.安装Wazuh API。如果需要,它将更新NodeJS:
# yum install wazuh-api4.完成此过程后,您可以使用以下命令检查服务状态:a.for Systemd:# systemctl status wazuh-apib.for SysV Init:
# service wazuh-api status5.(可选)禁用Wazuh更新源:
建议禁用Wazuh更新源以防止意外升级。为此,请使用以下命令:
# sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo
安装Filebeat
Filebeat是Wazuh服务器上的工具,可以将警报和归档事件安全地转发到Elastic Stack服务器上的Logstash服务上
警告:在单主机架构中(Wazuh服务器和Elastic Stack安装在同一系统中),不需要安装Filebeat,因为Logstash将能够直接从本地文件系统读取事件/警报数据,而无需转发器。
RPM软件包适合安装在Red Hat,CentOS和其他基于RPM的系统上
- 从Elastic安装GPG密钥,然后安装Elastic更新源:
# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch # cat > /etc/yum.repos.d/elastic.repo << EOF [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF2.安装Filebeat:
# yum install filebeat-6.6.03.从Wazuh存储库下载Filebeat配置文件。这是预配置为将Wazuh警报转发给Logstash:
# curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/filebeat/filebeat.yml4. 编辑文件/etc/filebeat/filebeat.yml并替换ELASTIC_SERVER_IP 为Elastic Stack服务器的IP地址或主机名。例如:
output: logstash: hosts: ["ELASTIC_SERVER_IP:5000"]5.启动Filebeat服务:a.for Systemd:
# systemctl daemon-reload # systemctl enable filebeat.service # systemctl start filebeat.serviceb.for SysV Init:# chkconfig --add filebeat # service filebeat start6.(可选)禁用Elasticsearch存储库:
建议禁用Elasticsearch更新源,以防止升级到较新的Elastic Stack版本,为此,请使用以下命令:
# sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/elastic.rep
对于Debian / Ubuntu平台,安装Wazuh服务器组件需要在添加存储库后安装相关的软件包。下面使用的许多命令都需要以root用户权限执行。
添加Wazuh更新源
设置Wazuh的第一步是将Wazuh更新源添加到您的系统上。如果您想直接下载wazuh-manager软件包,或查看兼容版本,请单击此处。
- 要执行此过程中,curl,apt-transport-https和lsb-release软件包必须安装在系统上。如果它们没被安装,请使用以下命令安装它们:
# apt-get update # apt-get install curl apt-transport-https lsb-release如果该/usr/bin/python文件不存在(如在Ubuntu 16.04 LTS或更高版本中),请使用以下命令创建Python(2.7或更高版本):
# if [ ! -f /usr/bin/python ]; then ln -s /usr/bin/python3 /usr/bin/python; fi2.安装GPG密钥
# curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add -3.添加更新源
# echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list4.更新包
# apt-get update
安装Wazuh Manager
在您的终端上,安装Wazuh manager:
# apt-get install wazuh-manager
完成此过程后,您可以使用以下命令检查服务状态:
a. for Systemd:
# systemctl status wazuh-managerb.for SysV Init:# service wazuh-manager status
安装Wazuh API
- 要运行Wazuh API,需要NodeJS> = 4.6.1。如果您没有安装NodeJS或者您的版本低于4.6.1,我们建议您添加官方NodeJS存储库,如下所示:
# curl -sL https://deb.nodesource.com/setup_8.x | bash -
如果您使用的是Ubuntu 12.04(Precise)或Debian 7(Wheezy),则必须使用以下命令安装NodeJS 6:
# curl -sL https://deb.nodesource.com/setup_6.x | bash -
然后,安装NodeJS:
# apt-get install nodejs2.要运行API,需要Python> = 2.7。它默认安装或包含在大多数Linux发行版的官方库中。要确定系统上的python版本是否低于2.7,可以运行以下命令:
# python --version It is possible to set a custom Python path for the API in ``/var/ossec/api/configuration/config.js``, in case the stock version of Python in your distro is too old:config.python = [ // Default installation { bin: "python", lib: "" }, // Package 'python27' for CentOS 6 { bin: "/opt/rh/python27/root/usr/bin/python", lib: "/opt/rh/python27/root/usr/lib64" } ];3.安装Wazuh API。如果需要,它将更新NodeJS:
# apt-get install wazuh-api4.完成此过程后,您可以使用以下命令检查服务状态:a.for Systemd:
# systemctl status wazuh-apib.for SysV Init:# service wazuh-api status5.(可选)禁用Wazuh更新:
建议禁用Wazuh更新源以防止意外升级。为此,请使用以下命令:
# sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/wazuh.list # apt-get update或者,您可以将程序包状态设置为hold,这将停止更新(尽管您仍然可以手动升级它)
# echo "wazuh-manager hold" | sudo dpkg --set-selections # echo "wazuh-api hold" | sudo dpkg --set-selections
安装Filebeat
Filebeat是Wazuh服务器上的工具,可以将警报和归档事件安全地转发到Elastic Stack服务器上的Logstash服务。
警告:在单主机架构中(Wazuh服务器和Elastic Stack安装在同一系统中),不需要安装Filebeat,因为Logstash将能够直接从本地文件系统读取事件/警报数据,而无需转发器。
DEB包适用于Debian,Ubuntu和其他基于Debian的系统。
- 从Elastic安装GPG密钥,然后安装Elastic存储库:
# curl -s https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add - # echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-6.x.list # apt-get update2.安装Filebeat:
# apt-get install filebeat=6.6.03.从Wazuh更新源下载Filebeat配置文件。这是预配置为将Wazuh警报转发给Logstash:
# curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/filebeat/filebeat.yml4. 编辑文件/etc/filebeat/filebeat.yml并替换ELASTIC_SERVER_IP为Elastic Stack服务器的IP地址或主机名。例如:
output: logstash: hosts: ["ELASTIC_SERVER_IP:5000"]5.启动Filebeat服务:a.for Systemd:# systemctl daemon-reload # systemctl enable filebeat.service # systemctl start filebeat.serviceb.for SysV Init:
# update-rc.d filebeat defaults 95 10 # service filebeat start6.(可选)禁用Elasticsearch更新:
建议禁用Elasticsear更新源,以防止升级到较新的Elastic Stack版本,为此,请使用以下命令:
# sed -i "s/^deb/#deb/" /etc/apt/sources.list.d/elastic-6.x.list # apt-get update或者,您可以将程序包状态设置为hold,这将停止更新(尽管您仍然可以手动升级它)
# echo "filebeat hold" | sudo dpkg --set-selections
安装Elastic Stack
本指南介绍了由Logstash,Elasticsearch和Kibana组成的Elastic Stack服务器的安装。我们将说明这些基于包的组件安装。您也可以从源代码编译tar 安装它们,但是,这不是Wazuh文档中的首选安装。
除了Elastic Stack组件,您还可以找到安装和配置Wazuh应用程序(部署为Kibana插件)的说明。
根据您的操作系统,您可以选择从RPM或DEB软件包安装Elastic Stack。请参阅下表并选择:
注意
目前,Elastic Stack仅支持64位操作系统
使用RPM软件包安装Elastic Stack
- Logstash和Elasticsearch需要Oracle Java JRE 8。
注意:以下命令下载Oracle Java JRE需要带上cookie。请访问Oracle Java 8 JRE下载页面以获取更多信息。
# curl -Lo jre-8-linux-x64.rpm --header "Cookie: oraclelicense=accept-securebackup-cookie""https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jre-8u202-linux-x64.rpm"
现在,检查包是否已成功下载:
# rpm -qlp jre-8-linux-x64.rpm > /dev/null 2>&1&&echo"Java package downloaded successfully"||echo"Java package did not download successfully"
最后,使用yum安装RPM包:
# yum -y install jre-8-linux-x64.rpm # rm -f jre-8-linux-x64.rpm
2.安装Elastic存储库及其GPG密钥:
# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch # cat > /etc/yum.repos.d/elastic.repo << EOF [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF
Elasticsearch是一个高度可扩展的全文搜索和分析引擎。有关更多信息,请参阅Elasticsearch。
- 安装Elasticsearch包:
# yum install elasticsearch-6.6.0
2.启动Elasticsearch服务:
a.for Systemd:
# systemctl daemon-reload # systemctl enable elasticsearch.service # systemctl start elasticsearch.service
b.for SysV Init:
# chkconfig --add elasticsearch # service elasticsearch start
等待Elasticsearch服务器完成启动非常重要。使用以下命令检查当前状态,该命令应该给出如下所示的响应:
# curl "http://localhost:9200/?pretty" { "name" : "Zr2Shu_", "cluster_name" : "elasticsearch", "cluster_uuid" : "M-W_RznZRA-CXykh_oJsCQ", "version" : { "number" : "6.6.0", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "053779d", "build_date" : "2018-07-20T05:20:23.451332Z", "build_snapshot" : false, "lucene_version" : "7.3.1", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
3.为Elasticsearch加载Wazuh模板:Kibana的Wazuh应用程序需要Elasticsearch模板才能正常工作,因此确保正确安装它非常重要。
# curl https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/elasticsearch/wazuh-elastic6-template-alerts.json | curl -X PUT "http://localhost:9200/_template/wazuh" -H 'Content-Type: application/json' -d @-
- 安装Logstash包:
# yum install logstash-6.6.0
2.下载Logstash的Wazuh配置文件:
本地配置(仅在单主机架构中):
# curl -so /etc/logstash/conf.d/01-wazuh.conf https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/logstash/01-wazuh-local.conf由于Logstash用户需要读取alerts.json文件,请运行以下命令将其添加到OSSEC组:
# usermod -a -G ossec logstash远程配置(仅在分布式架构中):
# curl -so /etc/logstash/conf.d/01-wazuh.conf https://raw.githubusercontent.com/wazuh/wazuh/3.8/extensions/logstash/01-wazuh-remote.con
- 编辑文件/etc/logstash/startup.options,将第30行从LS_GROUP = logstash更改为LS_GROUP = ossec
- 通过运行命令 /usr/share/logstash/bin/system-install,并使用新参数更新服务
- 重新启动Logstash
# systemctl daemon-reload # systemctl enable logstash.service # systemctl start logstash.service
b.for SysV Init:
# chkconfig --add logstash # service logstash start
Kibana是一个灵活,直观的Web界面,用于可视化存储在Elasticsearch中的事件和信息。在Kibana上查找更多信息。
- 安装Kibana包:
# yum install kibana-6.6.0
2.为Kibana安装Wazuh应用程序插件:
# sudo -u kibana N