Kibana FIM 模块中不存在用于 WAZUH 文件完整性监控的自定义规则(但存在于所有事件中)

Custom rules for WAZUH File integrity monitoring not present in Kibana FIM module (but are present under all events)

我在 Changing severity 事件中以 Wazuh FIM 为例。 应用该规则后,我开始在新规则 ID 下接收 Kibana 事件:100345,这是我想要的(在所有事件部分下)。但是我停止接收原始事件,例如规则 550 的事件(校验和已更改)我假设是因为该新规则。因此,Kibana FIM 模块也不会显示任何事件。

所以我的问题是:

为同一事件发出两个警报是不正确的,因为它可能会造成混淆(重复的警报可能看起来像是两个不同的安全事件,而不是一个)。

Wazuh 文档中提出的示例会覆盖与给定模式匹配的所有 FIM 事件。这意味着将所有可能的 FIM 事件统一到一个单一的、常见的 high-level 警报中。

发生这种情况是因为该示例使用具有值 syscheck 的字段 if_group 并将所有 FIM 事件分组。

如果您想保留不同 FIM 警报的含义(例如,在您的自定义关键路径上区分“完整性校验和已更改”与“文件已删除”),则最好的解决方案是您需要编写自定义high-level 为每个不同的事件发出警报,并使用 if_sid 字段而不是 if_group 使它们成为原始事件的子项。

例如,如果您希望 /my/important/path 文件的级别为 12 的“完整性校验和已更改”警报,您可以创建自定义警报:

<rule id="100345" level="12">
  <if_sid>550</if_sid>
  <match>/my/important/path</match>
  <description>CRITICAL: Integrity checksum changed for an important file!</description>
</rule>

当路径与您的关键路径匹配时,这将修改警报“完整性校验和已更改”,并将所有其他 FIM 警报保留为默认值。

如果你想添加另一个,例如,对于已删除的文件,你可以检查 ossec rules at Wazuh official ruleset 并使用 if_sid (父 ID)值和在原始文件的基础上创建新的为他们提供您要改进的规则的 ID。当然,如果事件与您定义的路径不匹配,默认规则仍会为这些文件生成具有默认级别的警报。

此解决方案还允许您为不同的事件甚至不同的警报级别定义不同的描述。


编辑

如果您希望新警报显示在 FIM Kibana 仪表板中,您只需向它们添加所需的组,例如,通过复制父规则的组。

<rule id="100345" level="12">
  <category>ossec</category>
  <if_sid>550</if_sid>
  <match>/tmp</match>
  <description>CRITICAL: Integrity checksum changed for an important file! $(syscheck.path)</description>
  <group>syscheck,pci_dss_11.5,gpg13_4.11,gdpr_II_5.1.f,hipaa_164.312.c.1,hipaa_164.312.c.2,nist_800_53_SI.7,tsc_PI1.4,tsc_PI1.5,tsc_CC6.1,tsc_CC6.8,tsc_CC7.2,tsc_CC7.3,</group>
</rule>