第四章 告警规则调整策略:从筛选到优先级设置

做密码改造日志监控,最头疼的不是日志量太大,而是告警太多。我见过一个项目,上线第一天告警系统直接崩了——因为规则没调优,每个错误的密码尝试都发一条短信。运维小哥差点骂娘。

这一章咱们就聊聊告警规则怎么调整。说白了,就是从一堆现有规则里挑出有用的,再补上密码改造特有的规则,最后处理冲突、排好优先级。走一遍这个流程,你的告警系统才能正常干活。

告警规则调整策略核心流程 第一步:现有规则筛选 去重·去无效·合并同类 第二步:新增密码规则 弱口令·爆破·凭证泄露 第三步:冲突处理 抑制·合并·覆盖 第四步:优先级设置 P0-P3·事件级别映射 持续迭代调优 ⚠ 核心原则: 不产生无效告警 不错过真实威胁

4.1 现有规则的筛选:清理旧债

大部分团队接手时已经有一堆告警规则。我建议先别急着加新规则,花半天时间把现有的捋一遍。

  • 去重:同一个场景重复配置多条规则很常见。比如“密码错误超过5次”和“连续登录失败5次”可能是同一件事,只保留一条。
  • 去无效:有些规则触发条件写得太宽,比如“每分钟日志量超过1000条”,结果业务高峰期天天告警,成了噪音。直接禁用或调高阈值。
  • 合并同类:把针对同一类告警源的规则合并成一条,用条件分组。我在项目里见过一个客户有17条规则覆盖同一台堡垒机的密码错误,后来合并成3条。

筛选后的两种状态:

  • 启用:规则有效、能反映真实安全问题。
  • 禁用/归档:规则过时、重复、或阈值不合理,暂时保留历史但不触发。

4.2 新增密码相关规则:补缺口

密码改造后,新出现的告警场景必须补上。我自己整理了一份必备清单,你直接参考这张表:

规则名称 触发条件 建议阈值
弱口令使用告警 用户使用的密码匹配弱密码字典 即时触发
暴力破解检测 同一IP 连续密码错误超过阈值 5次/分钟
凭证泄露告警 日志中出现以明文形式出现的密码 即时触发
密码过期未修改 用户密码过期后首次登录失败 每天汇总一次
批量重置密码 同一管理员短时间内多次修改密码 10次/5分钟
系统默认密码告警 检测到使用默认密码(如admin/admin123)登录 即时触发

经验之谈: 暴破检测别只设频率阈值。我还喜欢加上“错误密码特征”分析——如果错误密码里出现了“test”、“123456”这类常用词,大概率是脚本在跑字典。

4.3 规则冲突处理:别让规则打架

新老规则叠加很容易产生冲突。我遇到过最典型的情况:旧规则说“密码错误>3次触发告警”,新规则说“同一IP错误>5次触发告警”,结果同一个事件发了两条告警。

冲突处理有三种策略:

  • 抑制(Suppression):一个告警触发后,相同源短时间内不再重复告警。比如5分钟内同一IP的密码错误只发一次。
  • 合并(Aggregation):把多条相关告警合并成一个告警事件,带上聚合计数。我在处理SSH爆破时常用,把几百条告警压缩成一条“检测到来自IP x.x.x.x 的暴破攻击,共尝试xxx次”。
  • 覆盖(Override):高优先级的规则直接覆盖低优先级规则的行为。比如全局“密码错误”告警阈值为5次,但针对堡垒机的规则可以覆盖为3次。

注意: 覆盖策略要谨慎使用。一旦覆盖多了,规则逻辑就乱了。我建议只对关键资产(如VPN、核心数据库)使用覆盖,其余走统一阈值。

4.4 规则优先级设置:谁该先被看到

优先级决定了告警的响应方式。我个人习惯把告警分为三级:

  • P0(紧急):密码泄露、暴破攻击进行中、系统默认密码被使用。需要立即电话通知。
  • P1(高):弱口令使用、批量密码重置、异常登录时间。钉钉/企微群通知,15分钟内响应。
  • P2(中):密码过期、单次密码错误。日报汇总,次日处理。
  • P3(低):信息类告警,比如“密码策略变更记录”。归档或周报查看。

优先级映射示例:

规则优先级通知方式响应时间
弱口令告警P1群通知15分钟
暴破检测P0电话+群通知即时
密码过期P2日报邮件次日
默认密码登录P0电话+群通知即时

优先级设置的核心原则就一条:让人最疲惫的告警优先级最高。你想想,半夜电话响了,肯定是真有攻击,不是系统抽风。

曾经有个甲方把所有密码相关告警都设成P0,结果运维团队一周内就疲劳了,真出事反而没人接电话。后来我帮他们把“密码过期”降成P2,大家才愿意认真看告警。

4.5 调整后的验证:别调完就跑

规则调完一定要验证。我一般做三步:

  1. 回放测试:用前一周的历史日志跑一遍新规则,看告警数量是否可控,有没有漏报。
  2. 红蓝对抗:找同事模拟弱口令、暴破、默认密码登录,确认告警能正确触发。
  3. 静默期观察:上线后前三天只记录不通知,确认规则稳定后再放开通知。

嗯,这个流程走下来,告警系统基本能乖乖干活了。