id 作为 Alert Key,同一个检测的多次更新合并为同一条告警。
ExtraHop 的文档没有说明检测被关闭或解决时会发送通知,所以 Flashduty 不会自动恢复这些告警。请开启协作空间的超时自动关闭(见下文检测与恢复),或在处理完成后手动关闭。
在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 ExtraHop,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 ExtraHop,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 ExtraHop 中配置
需要 NDR 或 NPM 模块权限,并拥有完全写入(full write)及以上权限。Webhook 通过 TCP 443(HTTPS)发送,ExtraHop 需要能访问 Flashduty 推送地址。
1
创建通知规则
- 使用
https://<extrahop 主机名或 IP>登录 ExtraHop,点击 System Settings 图标,选择 Notification Rules,点击 Create - NDR 模块选择 Security Detection,NPM 模块选择 Performance Detection
- 填写规则名称,在 Criteria 中添加触发通知的条件,例如 Minimum Risk Score、Category、Site
2
配置 Custom Webhook
- 在 Target 中选择 Custom Webhook
- 在 Payload URL 中粘贴 Flashduty 集成的完整推送地址,地址中需包含
integration_key。认证依靠该参数,Show Advanced Connection Options 中的自定义请求头和 Basic、Bearer 认证都可以留空 - Notification Behavior 选择 Send for every detection update,Payload Options 选择 Default payload。默认 payload 包含
id、title、type、description、url、risk_score、src、dst等字段,Flashduty 直接识别 - 点击 Save
id 的请求会被拒绝);risk_score 和 site 可选,用于告警等级和标签:3
保存并验证
- 点击 Test Connection,ExtraHop 会向 Payload URL 发送一条标题为 Test Notification 的消息。ExtraHop 文档没有说明该消息的内容,Flashduty 没有为它做专门处理,缺少检测
id的测试消息会返回参数错误,这只说明地址可达,不代表配置有误 - 等待一个满足条件的检测产生,确认 Flashduty 收到告警
Alert Key
Flashduty 使用
id(ExtraHop 文档定义为 “The unique identifier for the detection”)作为 Alert Key。同一个检测每次更新推送的 id 相同,会合并到同一条告警;标题、描述、风险分和时间变化不会改变 Alert Key。缺少 id 的请求会被拒绝。
检测与恢复
ExtraHop 的检测通知只有”创建”和”更新”两种情形,文档没有描述检测关闭或解决时的通知。Flashduty 收到的每条通知都是触发状态,不会自动恢复。 请在协作空间中开启超时自动关闭,建议 24 小时;也可以在检测处理完成后手动关闭告警。
告警等级
告警等级取自
risk_score,分段与 ExtraHop 控制台的颜色一致:
标签
告警标题取自
title,为空时依次取 type 和 ExtraHop detection <id>。描述为检测描述加上检测详情链接。
排查问题
- Flashduty 返回参数错误:确认 URL 完整且包含
integration_key,并且 payload 中有id - 告警一直未关闭:ExtraHop 没有恢复通知,请开启协作空间的超时自动关闭,或手动关闭
- 同一个检测收到多次通知:选择 Send for every detection update 时,检测每次更新都会推送,这些通知合并到同一条 Flashduty 告警;不需要更新通知时选择 Send once per detection