组件

Wazuh的主要组件是在每个受监控的主机上运行的代理程序,以及分析从代理程序和其他无代理程序源(如syslog)收到的数据的服务器。另外,服务器将事件数据转发到Elasticsearch集群,信息被索引和存储。

Wazuh代理

Wazuh代理运行在Windows,Linux,Solaris,BSD和Mac操作系统上。它用于收集不同类型的系统和应用程序数据。代理通过加密和认证通道将收集的数据转发到Wazuh服务器。为了建立这个安全信道,使用涉及唯一预共享密钥的注册过程。

代理可用于监控物理服务器,虚拟机和云实例(例如Amazon AWS,Azure或Google Cloud)。预编译的代理安装包已经可用于这些操作系统:Linux,AIX,Solaris,Windows和Darwin(Mac OS X)。

在基于Unix的操作系统上,代理运行多个进程,这些进程通过本地Unix域套接字相互通信。其中一个过程是负责通讯和数据发送到Wazuh服务器。在Windows系统上,只有一个代理进程使用互斥体运行多个任务。

不同的代理任务或进程用于以不同的方式监视系统(例如监视文件完整性,读取系统日志消息和扫描系统配置)。

下图表示代理级别发生的内部任务和流程:

所有代理程序都有不同的目的和设置。下面简要描述每个人所做的工作:

  • Rootcheck: 此过程执行与检测rootkit,恶意软件和系统异常有关的多个任务。 它还对系统配置文件运行某些基本的安全检查。

  • 日志收集器: 此代理组件用于读取操作系统和应用程序日志消息,包括平面日志文件,标准Windows事件日志,甚至Windows事件通道。 它也可以配置为定期运行并捕获特定命令的输出。

  • Syscheck: 此进程执行文件完整性监视(FIM)。 它还可以监视Windows系统上的注册表项。 它能够检测文件内容,所有权和其他属性的变化,以及注意文件的创建和删除。 虽然默认情况下是定期进行FIM扫描,但也可以配置为与操作系统内核进行通信,以实时检测文件变化,并实现文本文件的详细变化报告(差异)。

  • OpenSCAP: 该模块使用已发布的 OVAL (开放式漏洞评估语言)和 XCCDF (可扩展配置清单描述格式)基准安全配置文件,通过定期扫描系统可以发现易受攻击的应用程序或不符合已知标准在 独联体 (互联网安全中心)的基准。

  • 代理守护程序: 这是接收所有其他代理组件生成或收集的数据的过程。 它压缩,加密并通过认证通道将数据传送到服务器。 这个过程在一个孤立的“chroot”(改变根)环境中运行,这意味着它对受监视系统的访问受限。 这提高了代理的整体安全性,因为它是连接到网络的唯一进程。

Wazuh服务器

服务器组件负责分析从代理接收到的数据,当事件符合规则时触发警报(例如,检测到入侵,文件更改,配置不符合策略,可能的rootkit等)。

服务器通常运行在独立的物理机器,虚拟机或云实例上。它也可以在本地运行代理组件,目的是监控自己。以下是主要服务器组件的列表:

  • 注册服务: 这用于通过预配置和分配预共享的认证密钥来注册新的代理,这些密钥对每个代理都是唯一的。 此过程作为网络服务运行,并支持通过TLS / SSL和/或固定密码的身份验证。

  • 远程守护进程服务: 这是从代理接收数据的服务。 它使用预共享密钥来验证每个代理的身份并加密与他们的通信。

  • 分析守护进程: 这是执行数据分析的过程。 它利用解码器来识别正在处理的信息的类型(例如,Windows事件,SSHD日志,Web服务器日志等),然后从日志消息(例如源IP,事件ID,用户等)中提取相关数据元素。 接下来,通过使用规则,该过程可以识别解码的日志记录中的特定模式,其可以触发警报,甚至可能需要自动对抗(主动响应),如防火墙上的IP禁止。

  • RESTful API: 这提供了一个界面来管理和监视代理的配置和部署状态。 它也是由Wazuh Web界面使用的,它是一个Kibana应用程序。

弹性堆栈

Elastic Stack是统一的日志管理开源项目套件,包括Elasticsearch,Logstash,Kibana,Filebeat等。与Wazuh解决方案特别相关的部分是:

  • Elasticsearch: 高度可扩展的全文搜索和分析引擎。 Elasticsearch是分布式的,这意味着数据(索引)被分成碎片,每个碎片可以有零个或多个副本。

  • Logstash: 收集和解析日志以保存到存储系统(例如Elasticsearch)的工具。 收集的事件也可以通过输入,过滤和输出插件进行丰富和转换。

  • Kibana: 用于挖掘,分析和可视化数据的灵活和直观的Web界面。 它在Elasticsearch集群上索引的内容之上运行。

  • Filebeat: 一个轻量级转发器,用于在网络上传输日志,通常传递给Logstash或Elasticsearch。

Wazuh与Elastic Stack集成在一起,提供Elasticsearch已经解码的日志消息的索引,以及用于警报和日志数据分析的实时Web控制台。此外,Wazuh用户界面(在Kibana上运行)可用于管理和监控您的Wazuh基础架构。

Elasticsearch索引是具有相似特征的文档集合(如某些常见字段和共享数据保留要求)。Wazuh利用多达三个不同的指数,每天创建,以存储不同的事件类型:

  • wazuh-alerts: Wazuh服务器在每次事件触发规则时生成 的警报 索引。

  • wazuh-events: 从代理收到的所有事件(存档数据)的索引,无论它们是否违反规则。

  • wazuh-monitoring: 与代理状态相关的数据索引。 Web界面使用它来表示单个代理程序何时处于“活动”,“断开连接”或“从不连接”状态。

索引由文档组成。对于上面的索引,文档是单独的警报,存档事件或状态事件。

Elasticsearch索引被分成一个或多个分片,每个分片可以有一个或多个副本。每个主要和副本分片都是一个单独的Lucene索引。因此,Elasticsearch索引由许多Lucene索引组成。当在Elasticsearch索引上运行搜索时,将在所有碎片上并行执行搜索,并将结果合并。将Elasticsearch索引拆分为多个分片和复本用于多节点Elasticsearch集群,目的是扩大搜索范围并提高可用性。单节点Elasticsearch集群通常每个索引只有一个分片,没有副本。

results matching ""

    No results matching ""