一句话版本
监控系统最常见的两种失败,一种是告警太多:每天几百条,绝大多数是误报,真正重要的那条被淹没了;另一种是告警系统自己坏了却没人知道:没有告警,大家以为一切正常,其实是监控早已停止工作。 好的告警只发给人"需要现在采取行动"的事,并按严重程度分级;同时用心跳证明监控本身还活着:"没有消息"不能等于"好消息"。
全文分三层:
- 通俗理解:狼来了,和睡着的哨兵
- 实际用处:Target 和 Equifax 两起数据泄露
- 原理与工程要点:什么值得告警、分级与路由、心跳、降低误报
第一层:通俗理解
1.1 两个寓言
| 寓言 | 监控中的对应 |
|---|---|
| 狼来了:喊了太多次假警报,真狼来时没人理 | 告警太多、误报太多,人学会了忽略 |
| 睡着的哨兵:哨兵睡着了,营地以为一夜平安 | 监控程序挂了、告警渠道断了,没有告警被当成"一切正常" |
两种情况的结果一样:真正的事故发生时,没有人采取行动。
1.2 一条好告警的标准
一条告警应该同时满足:
- 需要人去做点什么(否则就只是一条日志);
- 需要现在做(否则可以放进每日报告);
- 收到的人知道该做什么(否则只会制造焦虑)。
第二层:实际用处
- Target(2013):攻击者通过一家暖通空调供应商的凭证进入 Target 的网络,在收银系统中植入恶意软件,最终约 4000 万张支付卡信息被盗。事后调查显示,Target 部署的恶意软件检测系统确实发出了告警,并被转给了安全团队,但没有人采取行动。这成了"告警疲劳"最常被引用的案例。
- Equifax(2017):约 1.47 亿美国人的个人信息被盗。调查发现,用于检查加密流量的一台监控设备,其 SSL 证书已经过期了 19 个月,在这段时间里它根本看不到加密流量里的内容。证书更新后,团队几乎立刻就发现了可疑流量。这是"哨兵睡着了"的典型案例。
- 普遍现象:安全行业的调查长期显示,安全运营团队每天要面对大量告警,其中相当比例从未被调查过,误报率高是团队最主要的痛点之一。
第三层:原理与工程要点
3.1 什么值得告警
| 值得立即告警 | 放进日志或日报即可 |
|---|---|
| 生产环境页面内容和预期不符 | 一次登录失败 |
| 出现了未登记的部署版本 | 单个请求超时 |
| 审计日志的哈希链断裂(见《哈希链审计日志》) | 磁盘使用率 70% |
| 管理员账号在陌生地点登录 | 正常的部署完成 |
| 多个数据源结果不一致导致交易被拒绝 | 被正常拦截的扫描器流量 |
| 登录失败率是平时的 10 倍(见《限流与抗滥用》) |
原则:告警针对症状和后果(用户受影响了、安全不变量被打破了),而不是针对每一个底层指标的波动。
3.2 分级与路由
| 级别 | 含义 | 渠道 |
|---|---|---|
| 紧急 | 正在发生的安全事件或资金风险 | 电话 / 推送,半夜也要叫醒人 |
| 高 | 需要当天处理 | 即时消息、邮件 |
| 低 | 需要关注,可以排期 | 工单、日报 |
还要考虑:
- 去重和聚合:同一个问题触发了 100 次,只发一条,并附上次数;
- 状态变化才通知:从"正常"变为"异常"时告警,持续异常期间按固定间隔提醒,恢复时再通知一次;
- 抖动保护:网络偶尔失败一次不告警,连续几次失败才告警;但内容不符这类强信号应立即告警。
3.3 心跳:证明哨兵醒着
| 方法 | 说明 |
|---|---|
| 定期心跳消息 | 监控系统每隔一段时间主动发一条"我还活着"的消息;如果到期没收到,就说明它出问题了 |
| 死人开关(dead man's switch) | 由一个独立的外部服务等待心跳,超时没收到就告警 |
| 金丝雀 | 故意制造一个已知应该触发告警的事件(比如访问一个蜜罐地址),确认告警真的会到达 |
| 证书和凭证到期监控 | Equifax 的教训:监控工具自己的证书、令牌过期,会让它悄悄失明 |
关键是心跳的检查方必须独立于被检查的系统,否则两者可能同时失效。
3.4 降低误报
- 每条告警规则都要有负责人和处理手册(收到后第一步做什么);
- 定期回顾:上个月哪些告警从来没人处理?要么改规则,要么删掉;
- 误报也是数据:每次标记误报,都是调整阈值的依据;
- 新规则先以"只记录不告警"的模式运行一段时间,观察误报率。
3.5 告警之后
告警只是开始。收到紧急告警后的流程(谁负责、怎么判断、怎么止损、怎么沟通)属于事故响应,见《事故响应与复盘》。
总结
| 层次 | 要点 |
|---|---|
| 两种失败 | 狼来了(告警疲劳,Target)、睡着的哨兵(监控失明,Equifax) |
| 好告警 | 需要行动、需要现在、知道怎么做 |
| 工程 | 分级路由、去重聚合、状态变化通知、抖动保护 |
| 心跳 | 独立的死人开关;监控自身的证书和凭证也要监控 |