f 物联网-【终端IDPS】开源安全平台Wazuh之Wazuh Server - Powered by qidao123.com技术社区

【终端IDPS】开源安全平台Wazuh之Wazuh Server

打印 上一主题 下一主题

主题 1967|帖子 1967|积分 5901

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

引言

   Wazuh是一个开源的、免费的企业级安全监控监控解决方案,专注于威胁检测、完整性监控监控、变乱响应和合规性。它由摆设在受监控监控系统的端点安全代理和管理服务器组成,服务器收集并分析代理收集的数据。Wazuh支持多平台,包括Windows、Linux、macOS、HP-UX、Solaris和AIX,可以或许跨场所、虚拟化容器化和基于云的环境掩护工作负载
  目次
1 介绍
2 Wazuh server
2.1 Wazuh manager
2.1.1 Agent注册服务
2.1.1.1 设置
2.1.2 Agent连接服务
2.1.2.1 设置
2.1.3 分析引擎
2.1.3.1 数据源
2.1.3.2 解码
2.1.3.3 规则匹配与告警
2.2 索引集成
2.2.1 Wazuh indexer
2.2.1.1 Filebeat
2.2.1.1.1 设置
2.2.1.2 Wazuh indexer 连接器
2.2.1.2.1 设置
2.2.2 第三方索引
2.3 告警管理
2.3.1 告警阈值
2.3.1.1 设置
2.3.2 转发告警
2.3.2.1 告警转发到syslog系统
2.3.2.2 告警转发到电子邮件系统
2.3.2.3 告警转发到数据库
2.4 变乱日记
2.4.1 日记压缩与轮转
2.4.2 变乱日记存档
2.4.2.1 启用存档
2.5 Wazuh服务器队列
2.5.1 Wazuh agent队列
2.5.1.1 设置
2.5.2 Wazuh分析引擎队列


1 介绍

Wazuh是一个开源的安全平台,它集成了扩展检测和响应(XDR)以及安全信息和变乱管理(SIEM)的功能。它可以或许掩护本地、虚拟化容器化和基于云环境的工作负载。Wazuh重要包含四个重要的组件分别是Wazuh agent、Wazuh server、Wazuh indexer和Wazuh dashboard。


  • Wazuh agent:该组件可安装在笔记本电脑、台式机、服务器、云实例大概虚拟机中。它提供威胁防备、检测和响应的能力。该组件可运行在Linux、Windows、macOS、AIX和HP-UX系统中。
  • Wazuh server:该组件负责分析从各个Wazuh agent收集的数据,通过解码器和规则对其数据举行处理惩罚,利用威胁情报来查找已知的入侵指标(IOCs)。单个Wazuh server可以分析来自数百上千个agent搜集的数据,并能设置为集群时举行水平扩展。此组件也能对Wazuh agent组件举行管理,在必要的情况下对agent举行设置和长途升级。
  • Wazuh indexer:该组件是一个高度可扩展的全文搜索和分析引擎。此组件为Wazuh server天生的告警体例索引并存储。


  • Wazuh dashboard:该组件提供数据可视化和分析的Web界面。它包括多种开箱即用的仪表板,用于威胁狩猎、法规合规性(比方PCI DSS、GDPR、CIS、HIPAA、NIST 800-53)、检测到的易受攻击的应用程序、文件完整性监控数据、设置评估效果、云底子设施监控变乱等。这些仪表板也可以用于管理Wazuh设置和监控其状态
   IOC是Indicator of Compromise,即“威胁指标”。这是一种用于识别安全威胁的特定模式或异常行为的指标,比方恶意IP地址、域名、URL或文件哈希等。Wazuh利用这些指标来资助检测大概表明安全漏洞或攻击的活动
  除了基于代理的监控能力外,Wazuh还支持监控无代理装备,比方防火墙、交换机、路由器大概网络IDS等。比方Wazuh可以通过Syslog获取装备数据,也可以通过SSH大概别的API来定期获取目的装备的数据。下面是Wazuh的组件和数据流示意图。

2 Wazuh server

Wazuh server是Wazuh的焦点组件,该组件用于分析从agents、网络装备和别的API接收的数据,它通过将收到的数据与预定义的规则集相关联举行匹配,对于异常变乱天生告警信息。
Wazuh server重要包括两个组件,分别是Wazuh manager和Filebeat。Wazuh server负责数据分析和告警,Filebeat负责将分析后的数据转发到Wazuh indexer组件。
2.1 Wazuh manager

Wazuh manager负责数据分析和告警。它可以通过Syslog、email大概第三方API将告警信息转发出去。
Wazuh manager有多个服务和组件组成,这些组件和服务负责不同的功能。比方与Wazuh agent的注册、身份验证和加密通讯,聚合安全变乱,解码日记,匹配规则和告警等。
2.1.1 Agent注册服务

注册服务重要用于将Wazuh agent注册到Wazuh manager中。注册服务简化了agent的注册流程,并确保所注册的agent经过了身份验证,以及两者之间通讯安全。
Wazuh agent在终端装备上安装并启动后,它会自动与Wazuh manager发起agent注册流程。manager天生唯一的身份验证秘钥用于加密其与agent之间的通讯。固然,用户可以为注册流程设置额外的安全步伐,比方暗码验证、manager身份验证和agent身份验证等。
2.1.1.1 设置

下面是Wazuh server默认的设置文件信息,设置文件默认路径为/var/ossec/etc/ossec.conf。设置文件中块包含了注册服务的设置信息。
  1. <auth>
  2.   <disabled>no</disabled>
  3.   <remote_enrollment>yes</remote_enrollment>
  4.   <port>1515</port>
  5.   <use_source_ip>no</use_source_ip>
  6.   <force>
  7.     <enabled>yes</enabled>
  8.     <disconnected_time enabled="yes">1h</disconnected_time>
  9.     <after_registration_time>1h</after_registration_time>
  10.     <key_mismatch>yes</key_mismatch>
  11.   </force>
  12.   <purge>yes</purge>
  13.   <use_password>no</use_password>
  14.   <ciphers>HIGH:!ADH:!EXP:!MD5:!RC4:!3DES:!CAMELLIA:@STRENGTH</ciphers>
  15.   <!-- <ssl_agent_ca></ssl_agent_ca> -->
  16.   <ssl_verify_host>no</ssl_verify_host>
  17.   <ssl_manager_cert>etc/sslmanager.cert</ssl_manager_cert>
  18.   <ssl_manager_key>etc/sslmanager.key</ssl_manager_key>
  19.   <ssl_auto_negotiate>no</ssl_auto_negotiate>
  20. </auth>
复制代码


  • <disabled>:启用大概禁用agent向manager的注册和身份验证服务。默认值是"no"。此标签允许内容为"yes"和"no"。
  • <remote_enrollment>:是否允许manager在端口1515上接收agent发起的TLS加密连接。默认值为"yes"。此标签允许内容为"yes"和"no"。
  • <port>:指定用于监听连接的TCP端标语。默认值为1515。此标签允许设置端标语范围为0~65535。
  • <use_source_ip>:是否将agent的ip地址作为识别信息。此标签允许内容为"yes"和"no"。假如为"no",纵然已注册的agent的ip地址发生了更改,依旧可以连接到manager。假如为"yes",一旦已注册的agent的ip地址发生更改,将无法连接到manager。
  • <force>:指定agent重新注册需要满意的条件。下面是其子标签。

    • <enabled>:假如manager检测到发起注册的agent名称大概IP地址在注册列表中存在,是否依然执行注册流程。假如此标签使能,manager会删除旧的重名大概重IP的agent信息。默认值为"yes"。此标签允许内容为"yes"和"no"。
    • <disconnected_time>:指定是否允许对断开连接时间超过指定时长的agent执行替换。默认值为1h。此标签内容允许大于即是0的恣意值,除此之外,允许"s"、"h"、"m"和"d"作为后缀,分别表示秒、小时、分钟和天。"enabled"是此标签支持的属性,此属性默认值为"yes",这意味着启用此选项。"enable"属性的值可以是"yes"大概"no"。
    • <after_registration_time>:指定是否允许对注册时间超过指定时长的agent执行替换。默认值为1h。此标签内容允许大于即是0的恣意值,除此之外,允许"s"、"h"、"m"和"d"作为后缀,分别表示秒、小时、分钟和天。
    • <key_mismatch>:指定当agent提供的密钥与manager中记录的密钥不一致时执行替换。此标签默认值为"yes"。此标签允许内容为"yes"和"no"。

  • <purge>:指定在删除agent时是否同时删除其密钥。假如此标签值为"no",agent被删除时,其密钥依然生存在密钥列表文件中,只是被标记为已删除。假如此标签值为"yes",删除agent时,其密钥信息也会被删除。此标签默认值为"yes"。此标签允许内容为"yes"和"no"。
  • <use_password>:是否启用暗码作为身份验证手段。当此标签内容为"no"时,则不启用暗码验证。假如此标签内容为"yes",将利用暗码验证,Wazuh server通过/var/ossec/etc/authd.pass文件读取暗码,假如authd.pass文件不存在,则随机天生一串暗码并生存到/var/ossec/logs/ossec.log文件中。
  • <ciphers>:设置利用SSL加密网络通讯时利用的暗码套件列表。此标签默认内容为"HIGH:!ADH:!EXP:!MD5:!RC4:!3DES:!CAMELLIASTRENGTH",其寄义是利用高强度的暗码套件,不利用匿名Diffie-Hellman密钥交换(ADH)暗码套件、不利用指数级(exponential)密钥交换的暗码套件、不利用MD5哈希算法的暗码套件、不利用RC4流暗码的暗码套件、不利用3DES(三重数据加密标准)的暗码套件、不利用Camellia加密算法的暗码套件,根据暗码套件的强度举行排序,优先选择更安全的暗码套件。
  • <ssl_agent_ca>:指定用于验证客户端CA证书的路径。
  • <ssl_verify_host>:启用或禁用在CA证书源主机验证。检查证书中Common Name(CN)字段是否与客户端IP地址一致。此标签默认值为"no"。此标签允许内容为"yes"和"no"。
  • <ssl_manager_cert>:指定Wazuh server端SSL证书路径。
  • <ssl_manager_key>:指定Wauzh server端SSL密钥路径。默认值为etc/sslmanager.key(此路径为安装目次下的相对路径)。
  • <ssl_auto_negotiate>:启用或禁用自动选择SSL/TLS方法。默认情况下,只允许TLS v1.2。当此标签设置为"yes"时,server与agent会协商出最安全通用的方法。在较旧的系统中manager不支持TLS v1.2,此选项会自动设置为"yes"。默认值为"no"。此标签允许内容为"yes"和"no"。
2.1.2 Agent连接服务

manager的连接服务重要用于监听来自agent的变乱,此服务维护与agent之间恒久且安全的通讯通道。agent利用此安全通道将数据发送给manager举行分析。默认情况下,安全通道利用TCP协议建立。
2.1.2.1 设置

下面是Wazuh server默认的设置文件信息,设置文件默认路径为/var/ossec/etc/ossec.conf。下面是关于agent连接服务相关的设置信息。
  1. <ossec_config>
  2.   <remote>
  3.     <connection>secure</connection>
  4.     <port>1514</port>
  5.     <protocol>tcp</protocol>
  6.     <queue_size>131072</queue_size>
  7.   </remote>
  8. </ossec_config>
复制代码


  • <connection>:指定manager担当的传入连接的范例。默认值是"secure"。此标签支持的内容为"secure"和"syslog"。
  • <port>:指定manager用于监听agent变乱的端口。默认情况下,<connection>标签设置为"secure"则为1514端口,设置为"syslog"则为514端口。此标签允许的端口范围为1~65535。
  • <protocol>:指定连接的协议范例。默认值为"tcp"。此标签支持的内容为"tcp"和"udp"。
  • <queue_size>:设置接收agent event的缓存队列的巨细。默认值是131072。此标签允许的队列值为1~262144。缓存队列只能存储agent event数据,不能缓存syslog event。因此,此选项只有在<connection>标签设置为"secure"时生效。
2.1.3 分析引擎

Wazuh的分析引擎支持多种日记范例的分析,比方Windows变乱、SSH日记、Web服务器日记等。分析引擎利用解码器识别所处理惩罚的日记范例,并利用规则匹配解码后的日记信息。假如有规则命中则会触发告警大概动作执行,比方封锁IP、删除恶意软件等。
2.1.3.1 数据源

Wazuh支持多种数据源,从而全面的监控终端装备,支持复杂的威胁检测,减少漏洞暴露。下面是Wazuh支持的常见的数据源:


  • 操纵系统日记:Wazuh支持从多种操纵系统范例获取系统日记,如Windows、Linux和macOS。它能从Linux终端装备获取各种日记,包括syslog、auditd和应用程序日记等。从Windows终端系统、应用程序和安全变乱通道获取系统日记。从macOS终端的同一日记系统(ULS,集中管理和存储全部系统级别的日记)获取日记。
  • Syslog变乱:Wazuh可从支持syslog的终端上获取日记。终端可以是Linux大概Unix系统,可以是安装有Wazuh agent也可以没有安装。
  • 无代理监控:假如终端装备不支持Wazuh agent安装,Wazuh也能监控这些无代理装备。这要求终端装备支持ssh连接,Wazuh Server利用ssh连接监控终端装备的文件、文件夹大概设置文件,并且在终端装备上执行命令。
  • 云提供商日记:Wazuh可直接通过云提供商,比方AWS、Azure、Google Cloud等获取日记。
  • 自定义日记:可以将Wazuh设置为从多个应用程序和第三方安全工具(比方VirusTotal、Windows Defender、Clamav等)收集和分析日记。
2.1.3.2 解码

解码是分析布局化或非布局化数据(比方来自不同数据源的日记)以提取可用于监控和告警的有意义信息的过程。在 Wazuh 中解码的重要目的是将原始数据转换为 Wazuh manager可以解释和处理惩罚的格式。它涉及两个过程:


  • 预解码阶段:在此阶段,日记分析引擎从日记头中提取雷同syslog的信息,比方时间戳、主机名和程序名称。预解码阶段简化了日记布局,并为进一步分析做好准备。
可以利用Wazuh Logtest工具来查看预解码阶段分析效果,具体步骤为:
 (1)假设日记内容如下:
   Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh2
  (2)在Wazuh server端执行/var/ossec/bin/wazuh-logtest命令。
(3)将上面日记复制粘贴到终端,点击回车键。
下面是节选wazuh-logtest输出的分析日记中预解码阶段的信息,可以看到在预解码阶段可以从日记中乐成读取时间戳、主机名和日记天生程序名称。
  1. root@top:~# /var/ossec/bin/wazuh-logtest
  2. Starting wazuh-logtest v4.8.2
  3. Type one log per line
  4. Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh2
  5. **Phase 1: Completed pre-decoding.
  6.         full event: 'Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh2'
  7.         timestamp: 'Feb 14 12:19:04'
  8.         hostname: '192.168.1.1'
  9.         program_name: 'sshd'
复制代码


  • 解码阶段:在这个阶段,Wazuh 分析引擎应用与日记匹配的解码器。解码器提取用户名、IP 地址、错误代码、URL等字段以及日记中包含的任何其他相关信息。
下面是解码器与示例日记举行匹配的示例,示例中解码器位于Wazuh server系统中/var/ossec/rulesets/decoders/0310-ssh_decoders.xml文件中。
示例日记:
   Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh2
  解码器:
  1. <decoder name="sshd">
  2.   <program_name>^sshd</program_name>
  3. </decoder>
  4. <decoder name="sshd-success">
  5.   <parent>sshd</parent>
  6.   <prematch>^Accepted</prematch>
  7.   <regex offset="after_prematch">^ \S+ for (\S+) from (\S+) port (\S+)</regex>
  8.   <order>user, srcip, srcport</order>
  9.   <fts>name, user, location</fts>
  10. </decoder>
复制代码
名为"sshd"的解码器要求分析由"sshd"程序产生的日记信息,与当前实例日记匹配。名为"sshd-success"的解码器从当前示例日记中提取"Stepen"、"192.168.1.133"和"49765"信息。
可以利用Wazuh自带的Wazuh logtest工具演示解码阶段,操纵步骤可参考预解码阶段阐明。该工具解码阶段效果输出如下:
  1. **Phase 2: Completed decoding.
  2.         name: 'sshd'
  3.         parent: 'sshd'
  4.         dstuser: 'Stephen'
  5.         srcip: '192.168.1.133'
  6.         srcport: '49765'
复制代码
2.1.3.3 规则匹配与告警

解码日记后,Wazuh manager会将解码效果与规则集举行匹配。Wazuh规则集在XML格式文件中定义,也可以自定义格式以满意不同的监控需求。这些规则包含了触发告警的条件。下面示例中规则ID为5715规则可以示例日记举行匹配。
示例日记如下:
   Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh2
  示例规则如下:
  1. <rule id="5715" level="3">
  2.   <if_sid>5700</if_sid>
  3.   <match>^Accepted|authenticated.$</match>
  4.   <description>sshd: authentication success.</description>
  5.   <group>authentication_success,pci_dss_10.2.5,</group>
  6. </rule>
复制代码


  • <rule id="5715" level="3">注明规则ID为5715,规则等级为3。规则ID是规则的唯一标识符,而规则等级表示命中此规则局势件的严重等级。
  • <if_sid>5700</if_sid>注明了当前规则依赖于另一个ID为5700的规则,也就是说ID为5700的规则命中是执行当前规则匹配的前提条件。
  • <match>^Accepted|authenticated.$</match>注明匹配以"Accepted"开头大概以"authenticated"结尾的日记条目。
  • <description>sshd: authentication success.</description>形貌当前规则检测的内容。当前规则的作用是命中ssh身份验证通过的日记。
  • <group>authentication_success,pci_dss_10.2.5,</group>分配规则到authentication_success和pci_dss_10.2.5组中。
默认情况下,Wazuh 服务器会为级别高于 2 的任何规则天生告警。用户可以创建自定义解码器和规则来分析Wazuh原生不支持的日记。
2.2 索引集成

2.2.1 Wazuh indexer

Wazuh索引集成在Wazuh manager和Wazuh indexer之间架起一座桥梁。它将数据从Wazuh manager转发到Wazuh indexer中建立索引。Wazuh索引集成有两个部件组成,分别是Filebeat和 Wazuh indexer插头。
2.2.1.1 Filebeat

此组件是一个轻量级数据传输器,旨在将 Wazuh manager产生的告警和存档变乱安全地转发到 Wazuh indexer举行索引和存储。它读取Wazuh分析引擎的输出并实时发送变乱。
2.2.1.1.1 设置

下面是Wazuh server端默认的Filebeat设置信息,此设置文件默认位置为/etc/filebeat/filebeat.yml。
  1. # Wazuh - Filebeat configuration file
  2. output.elasticsearch.hosts:
  3.         - 127.0.0.1:9200
  4. #        - <elasticsearch_ip_node_2>:9200
  5. #        - <elasticsearch_ip_node_3>:9200
  6. output.elasticsearch:
  7.   protocol: https
  8.   username: ${username}
  9.   password: ${password}
  10.   ssl.certificate_authorities:
  11.     - /etc/filebeat/certs/root-ca.pem
  12.   ssl.certificate: "/etc/filebeat/certs/wazuh-server.pem"
  13.   ssl.key: "/etc/filebeat/certs/wazuh-server-key.pem"
  14. setup.template.json.enabled: true
  15. setup.template.json.path: '/etc/filebeat/wazuh-template.json'
  16. setup.template.json.name: 'wazuh'
  17. setup.ilm.overwrite: true
  18. setup.ilm.enabled: false
  19. filebeat.modules:
  20.   - module: wazuh
  21.     alerts:
  22.       enabled: true
  23.     Archives:
  24. logging.level: info
  25. logging.to_files: true
  26. logging.files:
  27.   path: /var/log/filebeat
  28.   name: filebeat
  29.   keepfiles: 7
  30.   permissions: 0644
  31. logging.metrics.enabled: false
  32. seccomp:
  33.   default_action: allow
  34.   syscalls:
  35.   - action: allow
  36.     names:
  37.     - rseq
复制代码


  • <output.elasticsearch.hosts>注明了可连接的Wazuh indexer节点IP地址列表。可以设置为IP地址大概主机名。默认情况下,该设置设置为localhost,即127.0.0.1:9200。假如现实场景中包含多个Wazuh indexer节点,可以利用逗号分割IP地址。
  • <protocol>注明了用于连接的协议。默认情况利用https,此设置允许的参数值为"http"和"https"。
  • <username> and <password>指定与Wazuh indexer举行身份验证时的用户名和暗码的环境变量名。
  • <ssl.certificate_authorities>指定用于 HTTPS 服务器验证的根证书的路径。默认值为/etc/filebeat/certs/root ca.pem。
  • <ssl.certificate>指定Filebeat SSL证书的路径。默认值为/etc/filebeat/certs/wazuh server.pem。
  • <ssl.key>指定Filebeat利用的SSL密钥的路径。默认值为/etc/filebeat/certs/wazuh server key.pem。
  • <setup.template.json.enabled>启用或禁用自定义模板,默认值为true。
  • <setup.template.json.path>指定模板JSON文件的文件路径。默认值为/etc/filebeat/wazuh template.json。
  • <setup.template.json.name>定义模板的名称。默认值为"wazuh"。
  • <setup.ilm.overwrite>设置为true时,全生命周期计谋会在启动时被覆盖。默认值为true。
  • <setup.ilm.enabled>对创建的任何新索引启用或禁用索引生命周期管理。默认值为false。
  • <filebeat.modules>指定Filebeat将利用的模块。
  • <module>定义要利用的模块。默认值为"vazuh"。
  • <alerts>启用或禁用将告警转发到Wazuh indexer。当设置选项<enabled>设置为true,告警将转发到indexer。
  • <archives>指定是否要归档处理惩罚和转发的日记。
  • <logging.level>定义日记级别。默认值为info,别的日记等级为debug、error和warning。
  • <logging.to_files>启用或禁用文件日记记录。默认值为true,当设置为true时,Filebeat将全部日记写入文件。
  • <logging.files.path>定日记文件将存储的目次。默认日记路径为/var/log/filebeat。
  • <logging.files.name>定存储日记的文件的名称。默认名称为"filebeat"。
  • <logging.files.keepfiles>指定要保留的近来轮换的日记文件数。默认值为7。此设置参数允许的值为1~1024。
  • <logging.files.permissions>设置日记文件的文件权限。默认值为0664,这意味着日记文件的全部者可以读取和写入日记文件,而其他人只能读取。
  • <logging.metrics.enabled>启用或禁用内部指标的日记记录。默认值为true。
  • <seccomp>指定一个SECOMP(安全计算模式)计谋,该计谋限定Filebeat历程可以发出的系统调用数量。
  • <default_action>将系统调用的默认操纵设置为Allow。这意味着默认情况下将允许syscalls 列表中未明白指定的任何系统调用。
  • <syscalls>定义系统调用名称和相应操纵的列表。
  • <action>指定任何在names列表中的系统调用执行时接纳相应的动作。默认值为allow。别的可设置值为errno、trace、trap、kill_thread、kill_process和log。
  • <names>定义系统调用名称列表。列表中必须至少定义一个system调用。resp(可重启序列)统调用用于跨多个线程加速对共享内存的用户空间操纵。
2.2.1.2 Wazuh indexer 连接器

Wazuh index 连接器负责从Wazuh indexer接收漏洞数据,并将其安全地转发到 Wazuh indexer。这些数据以 JSON 格式存在,并遵循 Elastic Common Schema (ECS),以确保数据的一致性和可靠性。
2.2.1.2.1 设置

index 连接器的设置默认在Wazuh server的/var/ossec/etc/ossec.conf中,如下所示:
  1. <ossec_config>
  2. <indexer>
  3.     <enabled>yes</enabled>
  4.     <hosts>
  5.       <host>https://127.0.0.1:9200</host>
  6.     </hosts>
  7.     <ssl>
  8.       <certificate_authorities>
  9.         <ca>/etc/filebeat/certs/root-ca.pem</ca>
  10.       </certificate_authorities>
  11.       <certificate>/etc/filebeat/certs/filebeat.pem</certificate>
  12.       <key>/etc/filebeat/certs/filebeat-key.pem</key>
  13.     </ssl>
  14.   </indexer>
  15. </ossec_config>
复制代码


  • <indexer>指定 Wazuh indexer 连接器的设置选项。
  • <enabled>启用或禁用Wazuh indexer连接器。此选项的允许值为"yes"和"no"。
  • <hosts>指定要连接到的Wazuh indexer节点的列表。
  • <host>指定要连接到的Wazuh indexer节点的URL或IP地址。比方http://172.16.1.11大概 192.168.3.2:9230。默认情况下,该值设置为localhost:http://127.0.0.1:9200。
  • <ssl>指定SSL参数的设置选项。
  • <certificate_authorities>指定要验证的根证书文件路径列表。利用ca选项设置每个CA证书文件路径。
  • <ca>指定用于 HTTPS 服务器验证的根CA证书。默认值为/etc/filebeat/certs/root ca.pem。
  • <certificate>指定Filebeat SSL证书的路径。默认值为/etc/filebeat/certs/filebeat key.pem。
  • <key>指定用于身份验证的证书密钥。默认值为/etc/filebeat/certs/filebeat key.pem
2.2.2 第三方索引

Wazuh manager可以将告警转发到第三方索引器。假如您仅将Wazuh manager用于日记分析,并盼望将告警转发到第三方解决方案举行索引和存储,则另有其他选择。Wazuh允许您在每个Wazuh manager节点上安装您选择的数据转发器,以将告警转发到您想要的解决方案。
解决方案
形貌
ELK stack
利用Logstash将Wazuh manager告警转发到ELK Stack。
OpenSearch
利用Logstash将Wazuh manager告警转发到OpenSearch。
Splunk
利用Splunk Universal Forwarder 将Wazuh manager告警转发到Splunk。
2.3 告警管理

告警是Wazuh管理器在处理惩罚从Wazuh代理和无代理装备收到的变乱后天生的通知。默认情况下,告警存储在/var/ossec/logs/alerts/alerts.log和/var/ossec/logs/alerts/alerts.json文件中。
默认情况下,Wazuh服务器利用Filebeat将天生的告警转发到Wazuh索引器中举行索引。别的,您还可以将Wazuh管理器设置为将告警转发syslog服务器、电子邮件系统和数据库等别的系统中。
2.3.1 告警阈值

警报阈值是触发警报必须超过的最低严重性级别。Wazuh管理器根据所命中规则集中的规则等级来判断变乱严重等级。默认情况下,只有等级大于即是3会触发告警。
2.3.1.1 设置

告警阈值在Wazuh server端/var/ossec/etc/ossec.conf文件中的标签中设置。下面示例中展示了如何设置告警阈值。
  1. <ossec_config>
  2.   <alerts>
  3.     <log_alert_level>3</log_alert_level>
  4.     <email_alert_level>12</email_alert_level>
  5.   </alerts>
  6. </ossec_config>
复制代码


  • <log_alert_level>标签设置了触发告警的最低严重等级,当变乱等级大于即是告警等级,告警信息将存储到/var/ossec/logs/alerts/alerts.log和/var/ossec/logs/alerts/alerts.json文件中。默认值为3。变乱等级范围为1~16。
  • <email_alert_level>该标签设置警报天生电子邮件通知的最低严重性级别。默认值为12。允许的值为1~16。
2.3.2 转发告警

假如需要将告警日记举行转发,默认情况下,Wazuh管理器将警报转发到Wazuh索引器。除此之外,Wazuh管理器支持通过设置,将告警转发到别的的系统用于分析和备份。
2.3.2.1 告警转发到syslog系统

用户可以利用syslog_output选项设置Wazuh服务器,使其将告警信息发送到syslog服务器。将警报转发到syslog服务器对于集中监控和自定义陈诉非常有用。
对于syslog_output选项的设置可在Wazuh服务器的/var/ossec/etc/ossec.conf文件中设置。如下所示:
  1. <ossec_config>
  2.   <syslog_output>
  3.     <level>9</level>
  4.     <server>192.168.1.241</server>
  5.   </syslog_output>
  6. </ossec_config>
复制代码


  • <level>该标签设置要转发到syslog服务器的警报的最低严重性级别。假如未定义此选项,Wazuh服务器会将全部警报转发到syslog服务器。
  • <server>改标签设置syslog服务器的IP地址大概主机名。
除此之外,用户也可以在设置文件中设置多个<syslog_output>块使得Wazuh服务器将告警转发到多个syslog服务器。
  1. <ossec_config>
  2.   <syslog_output>
  3.     <server>192.168.1.240</server>
  4.   </syslog_output>
  5.   <syslog_output>
  6.     <level>9</level>
  7.     <server>192.168.1.241</server>
  8.   </syslog_output>
  9. </ossec_config>
复制代码
在上面示例中Wazuh服务器将全部告警信息发送192.168.1.240所标识的syslog服务器中,而只将严重等级大于9的告警发送到192.168.1.241所标识的syslog服务器中。
2.3.2.2 告警转发到电子邮件系统

Wazuh提供了一项功能,可以将告警发送电子邮件系统中。用户可以将其设置为在触发规则时或根据自定义设置向一个或多个电子邮件地址发送电子邮件警报。此设置可以资助用户获取每日变乱陈诉等。
下面示例为Wazuh服务器匹配到规则ID为553时触发的将告警信息以邮件的形式发送的内容:
  1. Wazuh Notification.
  2.   2024 Apr 29 08:58:30
  3.   Received From: wazuh-server->syscheck
  4.   Rule: 553 fired (level 7) -> "File deleted."
  5.   Portion of the log(s):
  6.   File '/var/ossec/test_dir/somefile.
  7.   txt' deleted
  8.   Mode: realtime
  9.   Attributes:
  10.    - Size: 0
  11.    - Permissions: rw-r--r--
  12.    - Date: Mon Apr 29 08:46:12 2024
  13.    - Inode: 841858
  14.    - User: root (0)
  15.    - Group: root (0)
  16.    - MD5: d41d8cd98f00b204e9800998ecf8427e
  17.    - SHA1: da39a3ee5e6b4b0d3255bfef95601890afd80709
  18.    - SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  19. --END OF NOTIFICATION
复制代码
用户可以在Wazuh服务器的/var/ossec/etc/ossec.conf文件中设置email选项如下所示,包含发送者、担当者以及服务器名称等。
  1. <ossec_config>
  2.   <global>
  3.     <email_notification>yes</email_notification>
  4.     <email_to>me@test.com</email_to>
  5.     <smtp_server>mail.test.com</smtp_server>
  6.     <email_from>wazuh@test.com</email_from>
  7.   </global>
  8. </ossec_config>
复制代码
下面设置将告警转发到电子邮件系统。
  1. <ossec_config>
  2.   <alerts>
  3.     <email_alert_level>10</email_alert_level>
  4.   </alerts>
  5. </ossec_config>
复制代码


  • <email_alert_level>该标签设置要转发到电子邮件服务器的警报的最低严重性级别。默认情况下是12。
除此之外,针对将告警转发到电子邮件系统Wazuh提供更加精细的设置选项,具体设置信息可参考Wazuh官方文档。
2.3.2.3 告警转发到数据库

Wazuh支持将警报转发到数据库系统。可通过更改设置来指定Wazuh管理器将告警转发到数据库中。假如想要使设置生效,需要对支持数据库范例的Wazuh管理器举行源码编译安装。当前Wazuh支持MySQL和PostgreSQL数据库。具体设置信息可参考Wazuh官方文档。
2.4 变乱日记

日记是从Wazuh代理、外部API和网络装备接收的原始变乱。Wazuh服务器无限期地存储全部日记。为了最大限度地优化空间,Wazuh管理器会自动压缩日记文件。
Wazuh管理两种范例的日记,分别来自Wazuh服务器的内部日记和受监控终端节点的外部日记。这些日记无限期地存储在Wazuh服务器的/var/ossec/logs/目次中。
下表形貌了日记文件及其在 Wazuh 服务器上的存储位置。
日记文件
日记源
形貌
/var/ossec/logs/ossec.log
内部日记
存储Wazuh服务器天生的全部info级别的日记。
/var/ossec/logs/api.log
内部日记
存储Wazuh应用在与Wazuh服务API交互时天生的日记。
/var/ossec/logs/cluster.log
内部日记
存储Wazuh集群活动天生的日记。
/var/ossec/logs/integrations.log
内部日记
存储Wazuh集成模块在与第三方应用程序和系统交互时天生的日记。
/var/ossec/logs/active-responses.log
内部日记
存储Wazuh主动响应模块天生的日记。
/var/ossec/logs/firewall/firewall.log
内部日记
存储防火墙天生的日记。
/var/ossec/logs/archives/archives.log
外部日记
以明文形式存储从第三方应用程序和系统接收的日记。
/var/ossec/logs/archives/archives.json
外部日记
将从第三方应用程序和系统接收的日记存储在JSON中。
2.4.1 日记压缩与轮转

日记文件会迅速累积并占用系统中的大量磁盘空间。为了防止这种情况,Wazuh Manager在日记轮转过程中压缩日记,这有助于有用管理磁盘利用情况并保持系统性能。Wazuh管理器天天或在日记文件到达特定阈值(如文件巨细、时间等)时压缩日记文件并将其存档。在日记轮转过程中,Wazuh 会创建一个原始名称的新日记文件,以便于连续写入新变乱。
日记文件天天压缩一次,并利用MD5、SHA1和SHA256哈希算法举行数字签名。压缩的日记文件存储在嵌套目次中,此嵌套目次分别由原始日记名称、年、月组成。比方/var/ossec/logs/archives/archives.log在2024年4月13号执行压缩存储,则日记文件存储在...../archives/2024/Apr/文件夹下。比方:
  1. # ls -la /var/ossec/logs/archives/2024/Apr/
  2. total 0
  3. drwxr-x--- 2 wazuh wazuh 62 Apr 17 08:15 .
  4. drwxr-x--- 4 wazuh wazuh 28 Apr 12 07:30 ..
  5. -rw-r----- 1 wazuh wazuh  0 Apr 13 00:00 ossec-archive-13.log.gz
  6. -rw-r----- 1 wazuh wazuh  0 Apr 13 00:00 ossec-archive-13.log.sum
复制代码
日记文件名中包含压缩此日记文件时日期,ossec-archive-13.log.gz为压缩后的文件,ossec-archive-13.log.sum为包含压缩后文件校验码。
根据用户的需要,用户可以将压缩文件设置为在指定时间段后删除。别的,用户可以将它们移动到日记管理系统、备份服务器或基于云的存储装备以举行恒久保留。
2.4.2 变乱日记存档

变乱是由应用程序、终端节点和网络装备天生的日记)。Wazuh服务器存储它收到的全部变乱,无论它们是否触发规则。这些变乱存储在Wazuh服务器的/var/ossec/logs/archives/archives.log和/var/ossec/logs/archives/archives.json文件中。安全团队可利用存档日记来查看安全变乱的汗青数据、分析趋势并天生陈诉以搜寻威胁。
默认情况下,Wazuh存档处于禁用状态,因为它将日记无限期地存储在 Wazuh 服务器上。启用后,Wazuh 管理器会创建存档文件来存储和保留安全数据,以用于合规性和取证目的。
2.4.2.1 启用存档

执行以下步骤以在Wazuh服务器上启用存档。
(1)编辑Wazuh manager的设置文件/var/ossec/etc/ossec.conf,并且将下列设置标签设置为yes。
  1. <ossec_config>
  2.   <global>
  3.     <jsonout_output>yes</jsonout_output>
  4.     <alerts_log>yes</alerts_log>
  5.     <logall>yes</logall>
  6.     <logall_json>yes</logall_json>
  7. </ossec_config>
复制代码


  • <logall>启用或禁用全部日记消息的存档。启用后,Wazuh服务器以syslog格式存储日记。此标签允许的值为"yes"和"no"。
  • <logall_json>启用或禁用变乱日记记录。启用后,Wazuh服务器以JSON格式存储变乱。此标签允许的值为"yes"和"no"。
2.5 Wazuh服务器队列

Wazuh服务器实现一个队列机制,可简化从受监控终端节点收集变乱的过程。它保障从Wazuh 代理、syslog 端点和无代理装备到Wazuh服务器的数据流一连,防止event flooding。Wazuh服务器队列采用先进先出(FIFO)方法。Wazuh支持多个线程并行处理惩罚队列中的日记,使Wazuh可以或许有用地处理惩罚大量日记数据。
Wazuh服务器有两个用于管理变乱流的队列,分别是:


  • Wazuh agent通讯队列(queue_rd)
  • Wazuh分析引擎队列(queue_and)
2.5.1 Wazuh agent队列

queue_rd队列在Wazuh manager中的agent连接服务模块中实现,该服务负责接收Wazuh代理的变乱日记,并将变乱发送到Wazuh分析引擎举行解码和规则匹配。
2.5.1.1 设置

设置queue_rd属性,可以通过更改Wazuh server端/var/ossec/etc/ossec.conf设置文件中标签内容。如下所示:
  1. <remote>
  2.   <connection>secure</connection>
  3.   <port>1514</port>
  4.   <protocol>tcp,udp</protocol>
  5.   <queue_size>131072</queue_size>
  6.   <rids_closing_time>5m</rids_closing_time>
  7.   <connection_overtake_time>600</connection_overtake_time>
  8.   <agents>
  9.     <allow_higher_versions>no</allow_higher_versions>
  10.   </agents>
  11. </remote>
复制代码


  • <queue_size>:设置queue_rd队列的巨细。默认值是131072。此标签允许的队列值为1~262144。缓存队列只能存储agent event数据,不能缓存syslog event。别的,此选项只有在<connection>标签设置为"secure"时生效。
当观察到Wazuh出现变乱日记丢失时,可以适当增加queue_rd队列巨细,大概修改/var/ossec/etc/internal_options.conf设置文件中worker_pool对应的值来增加变乱处理惩罚线程。
2.5.2 Wazuh分析引擎队列

queue_and队列在Wazuh manager中的分析引擎中实现,分析引擎负责将变乱数据从队列中取出举行解码和规则匹配。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

郭卫东

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表