Wazuh集成Yara时主动响应功能未生效问题咨询
Wazuh YARA主动响应不触发故障排查
配置类错误
<command>块可执行文件名配置错误:当前配置中<executable>填写值为yara,但实际部署的主动响应脚本名为yara.sh,存放在/var/ossec/active-response/bin目录下,此处必须填写脚本全名yara.sh,否则Wazuh执行进程无法找到对应可执行文件,根本不会拉起主动响应流程,自然不会产生任何相关日志。<active-response>块配置缺失、规则ID不匹配:- 未开启实时触发支持,需添加
<realtime>yes</realtime>标签,默认主动响应仅响应FIM定时扫描产生的告警,不会响应实时监控捕获的新文件事件; - 缺少规则级别匹配配置,需添加对应FIM告警级别的
<level>标签(例如FIM新增文件默认告警级别为7,可填写<level>7</level>); - 配置中填写的触发规则ID为550、554,需到
/var/ossec/logs/alerts/alerts.log中确认FIM检测到恶意文件时实际触发的规则ID是否匹配,若ID填错,主动响应不会被关联触发。
- 未开启实时触发支持,需添加
- 脚本权限配置错误:
yara.sh默认权限不满足Wazuh运行要求,执行以下命令修正:
chmod 750 /var/ossec/active-response/bin/yara.sh chown ossec:ossec /var/ossec/active-response/bin/yara.sh
- 配置修改后未生效:所有agent.conf的配置修改完成后,必须重启wazuh-agent服务才能加载,执行
systemctl restart wazuh-agent即可。
脚本类错误
- JSON解析命令拼写错误:脚本中解析输入JSON时错误使用了不存在的命令
jg,正确命令为jq,拼写错误会导致所有从输入JSON提取的参数(YARA路径、规则路径、文件路径、执行命令)全部为空,脚本会直接走异常退出分支。 - 命令未使用绝对路径:Wazuh运行主动响应脚本时不会加载系统默认PATH环境变量,脚本中调用的
jq、yara命令必须写全绝对路径(例如/usr/bin/jq、/usr/local/bin/yara),否则会出现命令找不到的错误。 - 脚本退出码错误:脚本末尾执行
exit 1会被Wazuh判定为执行失败,正常执行完成需返回exit 0。
验证步骤
配置和脚本修正完成后,可在受监控目录下新建测试文件触发FIM告警,再查看/var/ossec/logs/active-responses.log确认主动响应执行日志。
内容的提问来源于stack exchange,提问作者doremi666
相关产品推荐
相关产品推荐

