wazuh告警通过webhook推送到飞书
使用wazuh自带的shuffle脚本实现
步骤:
1. 进入:/var/ossec/integrations
复制shuffle、shuffle.py两个文件,并重命名为:custom-feishu、custom-feishu.py
备注:一定要按这个方式命名,自定义告警前,都要加custom
2. 编辑custom-feishu.py,修改generate_msg函数:
3. 如果想看告警处理信息(debug日志),可以设置debug_enabled=True后,从sudo tailf /var/ossec/logs/integrations.log 查看发送到飞书前的消息格式。
备注: debug日志在最后有用~
4. 编辑告警设置:
sudo vim /var/ossec/etc/ossec.conf
输入正确的webhook地址
需要发送告警的组(group)名称(也可以按其他字段筛选发送),我这边事件组的名称为天擎、IPS:
<integration> <name>custom-feishu</name> <hook_url>https://www.feishu.cn/flow/api/trigger-webhook/1188a6479258</hook_url> <group>天擎</group> <alert_format>json</alert_format> </integration> <integration> <name>custom-feishu</name> <hook_url>https://open.feishu.cn/open-apis/bot/v2/hook/6b3cbf</hook_url> <group>IPS</group> <level>6</level> <alert_format>json</alert_format> </integration>
5. 重启wazuh-manager后,触发告警,查看是否在飞书上能收到消息。
6. 如果能收到消息,证明网络通讯、配置都正确。
7.最后,从debug日志中拿到发送给飞书的原始消息,将他贴到飞书的机器人中,以json格式识别字段。就可以在机器人告警中调用事件字段展示了。
我发现飞书会自动将wazuh发送的utf-8编码消息转化成中文编码,导致直接贴到飞书机器人后,JSON格式不对。这里有点儿坑