Wazuh无法向Slack WebHook发送通知,请求技术协助
Wazuh Slack集成连接超时问题排查与解决
问题概述
在虚拟实验室测试Wazuh部署时,配置Slack告警通知后无法收到消息。已按官方文档完成配置并重启服务器,服务器采用桥接网络排除基础网络问题;Slack入站WebHook已通过curl测试确认可用,但通过Wazuh GUI发送测试消息失败,错误信息如下:
[status_exception] {"event_status_list": [{"config_id":"6UMBuo8B8SZDmi29UMr4","config_type":"slack","config_name":"temp-qwsd","email_recipient_status":[],"delivery_status":{"status_code":"500","status_text":"Failed to send webhook message Connect to hooks.slack.com:443 [hooks.slack.com/65.2.117.88, hooks.slack.com/13.126.138.201, hooks.slack.com/13.127.99.68] failed: Connect timed out"}}]}
排查与解决步骤
1. 检查Wazuh服务进程的网络访问限制
服务器基础网络正常,但Wazuh服务可能受防火墙、SELinux或代理规则限制:
- 临时关闭防火墙测试:CentOS/RHEL执行
systemctl stop firewalld,Ubuntu执行ufw disable,之后重新发送测试消息。 - 检查SELinux状态:执行
sestatus,若启用可临时设置为宽容模式:setenforce 0,再测试连通性。 - 确认代理配置:查看
/var/ossec/etc/ossec.conf中是否有<proxy>节点,若存在需确保代理可访问Slack;若无则检查系统全局代理是否影响Wazuh服务进程。
2. 验证ossec用户的网络权限
curl测试用当前用户执行,但Wazuh服务以ossec用户运行,可能存在环境差异:
- 切换到ossec用户执行WebHook测试:
su - ossec -s /bin/bash -c 'curl -X POST -H "Content-Type: application/json" -d "{\"text\":\"Test from ossec user\"}" YOUR_SLACK_WEBHOOK_URL' - 若测试失败,说明ossec用户网络受限,需排查用户权限或环境变量中的代理设置。
3. 检查Wazuh集成脚本配置与权限
- 确认
/var/ossec/integrations/slack脚本中的WebHook URL无多余空格或错误字符。 - 修复脚本权限:
chown ossec:ossec /var/ossec/integrations/slack && chmod 750 /var/ossec/integrations/slack - 查看集成日志获取细节:
发送测试消息后查看日志中的具体报错信息。tail -f /var/ossec/logs/integrations.log
4. 排查虚拟实验室网络策略限制
虚拟环境可能存在出站流量过滤:
- 测试端口连通性:执行
telnet hooks.slack.com 443,若无法连接则说明网络层面阻断了443端口,需联系管理员开放出站权限。 - 确认DNS解析:执行
nslookup hooks.slack.com,确保解析到正确的Slack IP地址。
内容的提问来源于stack exchange,提问作者Ishan Sathe
相关产品推荐
相关产品推荐

