Wazuh 管理器 该标题的永久链接
Wazuh 管理器负责数据分析和警报。它可以通过 syslog、电子邮件或集成的外部 API 转发警报。有关 Wazuh 如何执行数据分析的更多信息,请参阅数据分析文档。
Wazuh 管理器由多个服务和组件组成,负责各种功能。这些功能包括注册新的 Wazuh 代理、聚合安全事件、解码日志、评估规则和警报。它还负责其他功能,如验证 Wazuh 代理的身份和加密 Wazuh 代理与 Wazuh 服务器之间的通信。
代理注册服务 该标题的永久链接
代理注册服务用于将 Wazuh 代理注册到 Wazuh 管理器。注册服务简化了 Wazuh 代理的注册过程,并确保它们经过适当的身份验证和配置,以便与 Wazuh 管理器安全地通信。
当 Wazuh 代理在终端上安装并启动时,它会自动联系 Wazuh 管理器以启动注册过程。Wazuh 管理器生成一个唯一的身份验证密钥,用于加密与 Wazuh 代理的通信。您可以为注册过程配置其他安全措施,例如密码身份验证、Wazuh 管理器身份验证和 Wazuh 代理身份验证。有关注册过程的更多信息,请参阅 Wazuh 代理注册的文档。
配置永久链接到此标题
下面的 <auth>
块是 Wazuh 服务器 /var/ossec/etc/ossec.conf
文件上的默认代理注册服务配置:
<auth>
<disabled>no</disabled>
<remote_enrollment>yes</remote_enrollment>
<port>1515</port>
<use_source_ip>no</use_source_ip>
<force>
<enabled>yes</enabled>
<disconnected_time enabled="yes">1h</disconnected_time>
<after_registration_time>1h</after_registration_time>
<key_mismatch>yes</key_mismatch>
</force>
<purge>yes</purge>
<use_password>no</use_password>
<ciphers>HIGH:!ADH:!EXP:!MD5:!RC4:!3DES:!CAMELLIA:@STRENGTH</ciphers>
<!-- <ssl_agent_ca></ssl_agent_ca> -->
<ssl_verify_host>no</ssl_verify_host>
<ssl_manager_cert>etc/sslmanager.cert</ssl_manager_cert>
<ssl_manager_key>etc/sslmanager.key</ssl_manager_key>
<ssl_auto_negotiate>no</ssl_auto_negotiate>
</auth>
在哪里:
<disabled>
启用或禁用 Wazuh 代理与 Wazuh 管理器进行注册和认证的过程。默认值为no
。允许的值为yes
和no
。
<remote_enrollment>
使 Wazuh 管理器能够通过默认的 1515 端口使用 TLS 加密接受来自新 Wazuh 代理的连接。默认值为yes
。允许的值为yes
和no
。
<port>
指定用于监听连接的 TCP 端口号。默认值为1515
。允许的值是介于0
和65535
之间的任何端口号。
<use_source_ip>
定义是否使用客户端的源 IP 地址或使用“任何”来添加 Wazuh 代理。允许的值是yes
和no
。当值为否时,即使用于注册的源 IP 地址发生变化,Wazuh 代理仍然可以连接到 Wazuh 管理器。然而,当值为是时,如果源 IP 地址发生变化,Wazuh 代理将无法连接到 Wazuh 管理器。
<force>
指定了在其标签内为 Wazuh 代理重新注册配置的选项。为了使重新注册成功,必须满足所有条件。以下选项定义了force
选项的设置:
<enabled>
指定是否强制插入 Wazuh 代理,如果存在重复的名称或 IP 地址。如果是enabled
,则会删除具有相同名称或 IP 地址的旧 Wazuh 代理。默认值为yes
。可能的值为yes
和no
。
<disconnected_time>
指定是否仅对已断开连接超过设置中配置的值的 Wazuh 代理执行替换。默认值为1h
(一小时)。允许的值是大于或等于零的任何数字。它允许使用后缀如s
、h
、m
和d
来表示秒、小时、分钟和天。属性设置enabled
的默认值为yes
,这意味着替换仅在超过指定的断开连接时间后发生。启用属性有两种可能性:yes
和no
。
<after_registration_time>
指定只有在 Wazuh 代理注册后的时间超过设置中配置的值时,才会执行 Wazuh 代理替换。默认值为1h
。允许的值是大于或等于零的任何数字。它允许使用后缀如s
、h
、m
和d
来表示秒、小时、分钟和天。
<key_mismatch>
定义了当 Wazuh 代理持有的密钥与管理器注册的密钥不同时,Wazuh 代理的替换将发生。默认值为yes
。可能的值为yes
和no
。
<purge>
指定当 Wazuh 代理被移除时,客户端密钥是否会被删除。当值为no
时,已移除的 Wazuh 代理将保留在客户端密钥文件中,并标记为已移除。当值设置为yes
时,客户端密钥文件将被清除。默认值为yes
。可能的值为yes
和no
。
<use_password>
决定了共享密码认证的使用。当值为no
时,此选项被禁用。当值设置为yes
时,将从/var/ossec/etc/authd.pass
文件中读取共享密码。如果该文件不存在,将生成一个随机密码并存储在 Wazuh 服务器上的/var/ossec/logs/ossec.log
文件中。有关更多信息,请参阅使用密码认证的文档。
<ciphers>
设置用于网络通信的 SSL 密码列表。默认值为HIGH:!ADH:!EXP:!MD5:!RC4:!3DES:!CAMELLIA:@STRENGTH
。
<ssl_agent_ca>
指定用于验证客户端的 CA 证书的路径。它可以被称为 Wazuh 安装目录下的相对路径或完整路径。可能的值是任何有效路径。
<ssl_verify_host>
在指定 CA 证书时切换源主机验证的开启和关闭。客户端源 IP 地址将使用通用名称字段进行验证。默认值为no
。允许的值为yes
和no
。
<ssl_manager_cert>
指定服务器 SSL 证书的路径。它可以被视为 Wazuh 安装目录下的相对路径或完整路径。默认值为 etc/sslmanager.cert。可能的值是任何有效路径。
<ssl_manager_key>
指定服务器 SSL 密钥的路径。它可以被称为 Wazuh 安装目录下的相对路径或完整路径。默认值是 etc/sslmanager.key。可能的值是任何有效路径。
<ssl_auto_negotiate>
切换是否自动选择 SSL/TLS 方法。默认情况下,仅允许 TLS v1.2。当设置为yes
时,系统将与客户端协商最安全的共同方法。在不支持 TLS v1.2 的旧系统中,此选项将自动启用。默认值为no
。允许的值为yes
和no
。
通过命令行界面使用以下命令重新启动 Wazuh 管理器,每当您对配置文件进行更改时:
# systemctl restart wazuh-manager
# service wazuh-manager restart
代理连接服务 该标题的永久链接
代理连接服务监听来自 Wazuh 代理的事件,以建立和维护一个持久且安全的通信通道。Wazuh 代理使用此安全通道将安全数据发送到 Wazuh 管理器进行分析。默认情况下,该服务使用 TCP
协议来确保 Wazuh 代理与 Wazuh 管理器之间的通信安全。
配置永久链接到此标题
以下块是 Wazuh 服务器 /var/ossec/etc/ossec.conf
配置文件中的默认连接服务配置:
<ossec_config>
<remote>
<connection>secure</connection>
<port>1514</port>
<protocol>tcp</protocol>
<queue_size>131072</queue_size>
</remote>
</ossec_config>
在哪里:
<connection>
指定要接受的传入连接类型。默认值为安全。允许的值为secure
和syslog
。
<port>
指定用于监听事件的端口。默认端口值为1514
用于安全连接,514
用于 syslog 连接。允许的值是介于1
和65535
之间的任何端口号。
<protocol>
指定用于连接的协议。默认值为tcp
。允许的值为tcp
和udp
。
<queue_size>
允许您设置远程守护进程队列的容量,以 Wazuh 代理事件的数量为单位。默认值为131072
。允许的值是介于1
和262144
之间的整数。远程队列仅适用于 Wazuh 代理事件,而不适用于 syslog 事件。此选项仅在连接设置为安全时有效。要了解有关此配置设置的更多信息,请查看我们关于 Wazuh 队列的文档。
在 Wazuh 文档的远程部分可以找到更多选项。
通过命令行界面使用以下命令重启 Wazuh 管理器,以实施更改(如果进行了更改):
# systemctl restart wazuh-manager
# service wazuh-manager restart
例如,您可以在将 Wazuh 代理注册到 Wazuh 管理器(IP 地址为 192.168.71.203)时,通过 netstat 验证连接服务的操作,Wazuh 代理运行在 Windows 终端(IP 地址为 192.168.71.125)上。此外,运行在任何 Wazuh 支持的终端上的 Wazuh 代理会通过 1514
端口将安全事件转发到 Wazuh 管理器。它使用上述代理连接服务配置部分中详细说明的配置。
执行以下步骤以验证 Wazuh 管理器与 Wazuh 代理之间连接服务的操作:
在 Windows 终端上启动命令提示符,并运行netstat -a
命令以列出终端上的连接:netstat -a
我们可以看到,IP 地址为192.168.71.125
的 Windows 端点已发送一个 TCPSYN_SENT
数据包,并正在等待在1514
端口与 IP 地址为192.168.71.203
的 Wazuh 服务器建立连接。
运行netstat
命令以查看 Wazuh 服务器何时与 Windows 10 端点建立连接。netstat
我们可以看到,IP 地址为192.168.71.125
的 Windows 终端已通过端口1514
连接到 IP 地址为192.168.71.203
的 Wazuh 服务器。
分析引擎 该标题的永久链接
Wazuh 分析引擎分析多种日志类型的数据,例如 Windows 事件、SSH 日志、Web 服务器日志等。它使用解码器来识别正在处理的信息类型,并使用规则来识别解码事件中的特定模式。这些规则可以触发警报和响应措施,例如阻止 IP 地址和删除恶意软件。
数据源 该标题的永久链接
Wazuh 从各种来源收集日志,允许全面监控您 IT 基础设施的各个方面。这使 Wazuh 能够检测复杂威胁,减少漏洞暴露,确保遵守安全政策,并迅速响应已识别的安全事件。以下是 Wazuh 支持的一些常见数据源:
操作系统日志:Wazuh 收集由多个操作系统生成的日志,如 Windows、Linux 和 macOS。它可以从 Linux 终端收集各种日志,包括 syslog、auditd、应用程序日志等。在 Windows 终端上,Wazuh 默认从系统、应用程序和安全事件通道收集 Windows 事件日志。Wazuh 通过使用 macOS 统一日志系统 (ULS) 在 macOS 终端上收集日志。macOS ULS 集中管理和存储所有系统级别的日志。
系统日志事件:Wazuh 从各种启用 syslog 的设备收集日志,包括 Linux/Unix 系统和不需要安装 Wazuh 代理的网络设备。
无代理监控:Wazuh 的无代理监控功能监控不支持代理安装的终端。它需要终端与 Wazuh 服务器之间的 SSH 连接。此功能可以监控文件、目录或配置,并在终端上运行命令。
云服务提供商日志:Wazuh 通过直接从 AWS、Azure、Google Cloud 和 Office 365 等云服务提供商收集日志和事件来监控云基础设施。这些包括来自云服务的日志,例如 EC2 实例、S3 存储桶、Azure 虚拟机等。
自定义日志:您可以配置 Wazuh 收集和解析来自多个应用程序和第三方安全工具的日志,包括 VirusTotal、Windows Defender、ClamAV 等。
解码此标题的永久链接
解码是分析结构化或非结构化数据的过程,例如来自不同数据源的日志,以提取可用于监控和警报的有意义信息。在 Wazuh 中,解码的主要目的是将原始数据转换为 Wazuh 管理器可以解释和处理的格式。它涉及两个过程:
预解码阶段:在此阶段,日志分析引擎从日志头中提取类似 syslog 的信息,例如时间戳、主机名和程序名称。预解码阶段简化了日志结构,并为进一步分析做好准备。考虑以下示例日志条目以说明预解码的过程:Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh2
我们使用 Wazuh Logtest 工具来演示预解码阶段。在 Wazuh 服务器上执行以下步骤:
在 Wazuh 服务器上从命令行运行/var/ossec/bin/wazuh-logtest
复制并粘贴上面的示例日志,然后按回车键。
预解码阶段提取的信息如下:Starting wazuh-logtest v4.8.0 Type one log per line Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh **Phase 1: Completed pre-decoding. full event: 'Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh' timestamp: 'Feb 14 12:19:04' hostname: '192.168.1.1' program_name: 'sshd'
解码:在此阶段,Wazuh 分析引擎应用与日志匹配的解码器。解码器提取字段,例如用户名、IP 地址、错误代码、URL 以及日志中包含的任何其他相关信息。下面的解码器与示例日志匹配。这些解码器位于 Wazuh 服务器上的/var/ossec/rulesets/decoders/0310-ssh_decoders.xml
文件中:<decoder name="sshd"> <program_name>^sshd</program_name> </decoder> <decoder name="sshd-success"> <parent>sshd</parent> <prematch>^Accepted</prematch> <regex offset="after_prematch">^ \S+ for (\S+) from (\S+) port (\S+)</regex> <order>user, srcip, srcport</order> <fts>name, user, location</fts> </decoder>
解码器sshd
匹配程序名称sshd
,而解码器ssh-success
从样本日志中提取Stephen
、192.168.1.133
和49765
。
我们使用 Wazuh Logtest 工具来演示解码阶段。在 Wazuh 服务器上执行以下步骤:
在 Wazuh 服务器上从命令行运行/var/ossec/bin/wazuh-logtest
。
复制并粘贴上面的示例日志,然后按回车键。
解码阶段提取的信息如下所示:Starting wazuh-logtest v4.7.5 Type one log per line Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh **Phase 1: Completed pre-decoding. full event: 'Feb 14 12:19:04 192.168.1.1 sshd[25474]: Accepted password for Stephen from 192.168.1.133 port 49765 ssh' timestamp: 'Feb 14 12:19:04' hostname: '192.168.1.1' program_name: 'sshd' **Phase 2: Completed decoding. name: 'sshd' parent: 'sshd' dstuser: 'Stephen' srcip: '192.168.1.133' srcport: '49765'
规则评估和警报 链接到此标题
一旦日志被解码,Wazuh 管理器会将其与规则集进行比较。Wazuh 规则集在 XML 文件中定义,可以根据不同的监控需求进行自定义。这些规则指定了条件,当满足时会触发警报。下面的规则 5715
与前面部分的示例日志匹配。此规则位于 Wazuh 服务器上的 /var/ossec/ruleset/rules/0095-sshd_rules.xml
文件中。
<rule id="5715" level="3">
<if_sid>5700</if_sid>
<match>^Accepted|authenticated.$</match>
<description>sshd: authentication success.</description>
<group>authentication_success,pci_dss_10.2.5,</group>
</rule>
在哪里:
<rule id="5715" level="3">
指定规则 ID 为5715
,规则级别为3
。规则 ID 是规则的唯一标识符,而级别表示规则匹配时事件的严重性级别。
<if_sid>5700</if_sid>
指定了对另一个规则 ID5700
的依赖。只有在规则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 的规则生成警报。在这种情况下,日志触发了警报,因为规则级别为 3,这将在 Wazuh 仪表板上可见。
您可以创建自定义解码器和规则来分析默认不支持的日志。要了解如何创建自定义规则和解码器,请参考自定义规则和自定义解码器文档。