Wazuh自定义Windows EventChannel规则无法触发问题求助
Wazuh自定义规则问题排查与配置指南
一、规则不触发及Signature ID警告问题
检查规则加载顺序与依赖
Wazuh按文件名排序加载规则,确保自定义规则文件(如Sysmon_EID1_rules.xml)在基础规则之后加载,否则关联规则依赖的父规则会缺失,触发Signature ID未找到警告。同时确认ossec.conf中规则集配置正确包含所有文件:<ruleset> <rule_dir>etc/rules</rule_dir> <include>Base_rules.xml</include> <include>Base_windows_rules.xml</include> <include>Base_sysmon_rules.xml</include> <include>Sysmon_EID1_rules.xml</include> </ruleset>验证自定义规则的
parent_id引用是否正确,确保父规则存在于已加载的文件中。校验规则匹配条件
用wazuh-logtest-legacy测试时,核对日志解析后的字段(如win.eventdata.EventID、event.code),确认规则的field和value条件完全匹配。同时注意规则level不能过低,避免被优先级更高的规则覆盖。检查XML语法正确性
用xmllint工具验证规则文件语法,排查未闭合标签、属性拼写错误等问题:xmllint /var/ossec/etc/rules/Sysmon_EID1_rules.xml
二、仅匹配规则ID1的问题
规则ID1是默认的“所有事件”规则,说明后续关联规则要么条件不匹配,要么依赖的父规则未加载:
- 确认关联规则的
if_sid引用的父规则存在且已加载,比如针对Sysmon Event 1的规则需引用对应的Sysmon基础规则ID。 - 核对规则的
match或field条件,确保字段取值与日志解析结果一致,示例:<rule id="100001" level="5"> <if_sid>61603</if_sid> <field name="win.eventdata.EventID">1</field> <description>Sysmon Process Creation (EID 1)</description> </rule>
三、解码器名称不一致问题
wazuh-logtest-legacy显示json解码器是因为日志先被json解码器解析原始格式,之后再被windows_eventchannel解码器二次识别。Kibana/Elasticsearch中显示的windows_eventchannel是最终匹配的解码器,对应字段decoder.name存储的是最终结果。
四、配置规则仅匹配Windows EventChannel日志
有两种方式实现:
- 指定解码器名称:
<rule id="100002" level="6"> <decoder name="windows_eventchannel"/> <field name="win.eventdata.EventID">1</field> <description>Windows EventChannel Sysmon EID 1 Alert</description> </rule> - 匹配日志分组:Windows EventChannel日志会被归类到
windows组,可通过if_group限制:<rule id="100002" level="6"> <if_group>windows</if_group> <field name="win.eventdata.EventID">1</field> <description>Windows EventChannel Sysmon EID 1 Alert</description> </rule>
内容的提问来源于stack exchange,提问作者Lauri
相关产品推荐
相关产品推荐

