/var/log/suricata/eve.json,Wazuh 自带的 Suricata 规则把每条 Suricata 告警变成 Wazuh 告警。再用 Wazuh 管理节点内置的 shuffle 集成把这些告警推送到 Flashduty 的 Wazuh 集成,就不需要单独的 Suricata 集成。
在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。集成类型都选择 Wazuh,不是 Suricata。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 Wazuh,点击 保存
- 打开生成的集成卡片,复制 推送地址,形如
https://api.flashcat.cloud/event/push/alert/wazuh?integration_key=<集成密钥>
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 Wazuh,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
数据流
- Suricata 把事件以 JSON 写入
/var/log/suricata/eve.json - 装在同一台主机上的 Wazuh Agent 读取该文件
- Wazuh 管理节点用规则
86601(规则组ids、suricata,等级 3,描述Suricata: Alert - <签名>)为每条event_type为alert的事件生成告警 - 管理节点的
shuffle集成把告警 POST 到 Flashduty
86601 只匹配 Suricata 的告警事件;同一份 eve.json 里的 http、dns、tls 等事件对应的规则等级是 0,不会产生告警。
在 Wazuh Agent 上采集 Suricata 日志
在运行 Suricata 的主机的 Wazuh Agent 配置
/var/ossec/etc/ossec.conf 中加入:
location 一致。
在 Wazuh 管理节点上推送到 Flashduty
在管理节点的
/var/ossec/etc/ossec.conf 中加入 shuffle 集成,只转发 Suricata 告警规则,并把 hook_url 换成 Flashduty 推送地址:
- 这里用
<rule_id>过滤,不用<level>:规则86601的等级是 3,任何 3 以上的<level>都会把它挡掉 <alert_format>json</alert_format>必须配置- 不要配置
<api_key>,Flashduty 通过地址中的integration_key认证
触发并验证
Wazuh 官方 Suricata 示例用从另一台主机向被监控主机发 ICMP 来触发 Suricata 规则:
rule.groups:suricata 过滤看到告警,Flashduty 中应出现标题为 Suricata: Alert - <签名> 的告警。没有收到时,查看管理节点的 /var/ossec/logs/integrations.log 和 /var/ossec/logs/ossec.log。
事件与恢复
Suricata 和 Wazuh 都只在事件发生时产生一次告警,没有恢复通知。每条 Wazuh 告警有唯一 ID,Flashduty 以它作为 Alert Key,因此每条 Suricata 告警对应一条独立的 Flashduty 告警,不会自动关闭。 请在接收该集成的协作空间开启 超时自动关闭,建议 24 小时;同一签名反复触发时,可以在协作空间中配置降噪规则合并成一个故障。
告警等级
规则
86601 的等级是 3,Flashduty 按 Wazuh 规则等级映射为 Info(0-6 为 Info,7-11 为 Warning,12-15 为 Critical)。Flashduty 不读取 Suricata 自己的 alert.severity,如果需要区分严重程度,用 告警处理 Pipeline 按标题中的签名或 rule_id 标签调整。
注意事项
- Suricata 事件包含源、目的 IP 和可能的载荷内容。Flashduty 不读取也不保存原始日志(
full_log),但shuffle会把整条 Wazuh 告警发到hook_url,请只转发需要人工响应的规则。 - 想只转发特定签名或类别时,在 Wazuh 中为它们写自定义规则并提高等级,再用
<rule_id>或<level>过滤。