结论先行:把告警自动处置当成一个开关,是这类项目最常见的起点错误。它实际上是四档能力:只记录并标注、只开单不动手、执行可逆动作、执行不可逆动作。四档的授权方式、回退窗口、误判代价完全不同,混在一起讨论,结果通常是两头都不满意——全开则担心误封生产流量,全关则回到人工一条条点。可行的做法是按档位分别定授权与回退条件,先开前两档,第三档选误判代价低的动作先试,第四档原则上不开。
本文只谈自动处置能开到哪一档、每一档需要什么前提,不谈误报率怎么降,也不谈日志平台该收哪些数据源。
四档能力,先分清
| 档位 | 系统做什么 | 典型动作 | 误判的代价 |
|---|---|---|---|
| 一档:标注 | 把告警与相关上下文聚合成一条事件,给人看 | 关联同一源的多条告警、附上资产与账号信息 | 几乎没有,最多是多看一条 |
| 二档:开单 | 自动生成工单并派给对应团队 | 按资产归属派单、按级别设定响应时限 | 低,最坏情况是多一张可以关掉的单 |
| 三档:可逆动作 | 自动执行,但可以撤销 | 临时封禁来源地址、临时锁定账号、临时下线会话 | 中,取决于影响面与恢复速度 |
| 四档:不可逆动作 | 自动执行且难以撤回 | 删除文件、清理账号、批量改配置、重装 | 高,可能造成不可恢复的损失 |
多数团队在讨论「要不要上自动化」时,脑子里想的是第三档,谈的却是整个自动化。把四档拆开之后,前两档几乎没有争议——它们不改变任何系统状态,只是把人的搬运工作省掉。
前两档的价值被低估了
行业里经常看到的情况是:一个团队有几百条告警规则,每天产生上千条告警,值班的人大部分时间在做三件事——把同一条故障的多条告警合并、判断该派给谁、然后手动建单。这三件事全部属于前两档。
它们省下的是人力,暴露的是一致性。同一类告警,换一个人值班,合并方式和派单对象可能就不一样;派错了团队,中间要转几次手,时间就过去了。把这两步固化下来,处置时间的变化往往比想象中明显,而且几乎没有风险。
所以自动化应当从前两档开始,理由不是保守,而是这两档能立刻减轻值班负担,同时不影响生产系统。等到值班的人从搬运工作里腾出来,才有精力去做第三档的判断。
第三档:先选误判代价低的动作
第三档里的动作差别很大,排序的依据是两件事:影响面有多大、恢复有多快。
封禁来源地址通常是这一档里最适合先试的。影响面是「某个外部来源访问不了」,恢复方式是解封,两者都可以量化。需要注意的是内网来源——如果来源地址是内部网段或者是共享出口地址,一封可能连带影响一批正常访问,这时候它就不再是「低代价」了。所以同一类动作要按来源区分,外部来源可以直接封,内部来源只提示不开自动。
锁定账号的影响面比封禁地址大。一个账号被锁,背后是一个人在等着干活,而且往往是最需要立刻处理的时刻。这类动作适合在特定条件下自动执行,比如「同一账号短时间内多次失败后突然成功」,同时对高权限账号与普通账号分档处理。
临时下线会话的影响面最大。它打断的是正在进行的工作,而且如果是运维人员正在处理故障,下线会导致现场丢失。这一类动作建议只做提示,不做自动执行。
回退窗口与自动回退
第三档能不能放心开,取决于回退设计。
两个要素:回退窗口有多长、回退是自动还是手动。
可行的做法是给每个自动动作配一个时长上限,到点自动解除,而不是等人来解。这样做有两个好处:一是即使没人看,影响也会自行终止;二是它把一个「持续到有人处理」的未知时长,变成了一个已知的时长。
时长设多长,按动作类型分。封禁地址可以短一些,因为重新攻击会再次触发;账号锁定可以长一些,因为需要走核实流程。关键在于每个动作都要有一个写下来的时长,而不是「视情况」。
第四档:原则上不开,除非有隔离环境
不可逆动作在误判之后没有补救路径。这类动作即使准确率很高,也不适合放在无人值守的自动链路里。
有一类例外值得考虑:在隔离的测试环境或演练环境里,可以放开第四档,用来验证剧本本身是否写对。这类环境里误判没有业务代价,反而能提前暴露剧本的逻辑漏洞。
三个前提,缺一个就不要开第三档
其一,判定依据可追溯。系统做出这个动作时依据的是哪几条日志、哪个规则、哪一次关联,都要能在事后还原出来。没有这一步,误封之后连原因都说不清。
其二,动作可回退。回退方式要写成可执行的动作,而不是文档里的一句说明。删不掉的、改不回来的动作,不属于第三档。
其三,结果可核对。动作执行之后是否真的生效、影响了多少对象,要能被查出来。否则「封了」只是系统里的一个状态,不代表流量真的断了。
三个前提里,第三条最常缺。很多平台的封禁动作只在自身的策略表里写一条记录,实际下发到设备是否成功、是否被后续变更覆盖,没有反馈。这种「看起来封了」的状态,比没封更危险——因为它会让人相信风险已经处置完毕。
审批放在哪一步
常见两种做法:事前审批与事后复核。
事前审批的好处是安全,代价是慢——审批走完,攻击可能已经扩散。事后复核的好处是快,代价是需要有人真的去复核。
可行的组合是按档位分开:第三档里影响面小的动作走事后复核,要求在一定时间内由值班主管确认;影响面大的动作走事前审批。同时保留一个紧急通道——值班人员在确认紧急时可以先行处置,事后补审批记录。紧急通道要有次数统计,因为它一旦成为常规,审批就失效了。
深圳市奇摩计算机有限公司在做日志与安全运营类项目时,自动化部分一般按「标注与开单先上、可逆动作小步试、不可逆动作不开」的顺序推进。这样做的理由不是保守,而是这套顺序能让每个档位都有独立的验证期——前一档稳定了,再动下一档,出问题时也好定位是哪一步引入的。
落地清单
- 把自动处置拆成四档,逐档定义动作清单与误判代价,不要整体讨论。
- 前两档(标注、开单)先行上线,先解决值班的搬运工作。
- 第三档按影响面与恢复速度排序,先开影响面小、可自动解除的动作。
- 同一动作按对象分档:外部来源可自动,内部来源只提示。
- 每个自动动作配一个到点自动解除的时长上限,不用「视情况」。
- 第四档只在隔离环境开放,用于验证剧本逻辑。
- 开第三档前确认三个前提:依据可追溯、动作可回退、结果可核对。
- 紧急通道要统计使用次数,次数上升即说明审批环节出了问题。
若您正在规划告警自动处置的范围与授权方式,欢迎 预约咨询。
