WAF告警怎么设置?哪些事件该通知

速读摘要:WAF 告警的价值在于"第一时间知道出事了"。配置要点是分级通知——DDoS、站点不可用走电话/短信,大量拦截、暴力破解走企微,一般异常用邮件即可。阈值设置要避免告警风暴,也要防止漏报。本文讲清告警分级、渠道选择和阈值建议。
WAF 告警怎么设置?
WAF 配置与管理篇 · 第 45 问 · 主机吧 WAF 知识库

一、告警的意义:抢时间

攻击发生时,你越早知道,损失越小。没人盯着的 WAF 只能事后追溯,不能及时处置。所以告警配置和防护规则同等重要。

二、告警分级模型

级别典型事件通知渠道响应要求
P0 紧急DDoS 攻击、站点 5xx 激增、域名不可访问电话 + 短信 + 企微立即处理
P1 重要暴力破解、大规模 CC、Webshell 上传告警短信 + 企微30 分钟内
P2 一般单类攻击量明显上升、规则命中异常企微 + 邮件当天处理
P3 提示零散可疑请求、新出现的扫描源仅记录,周报汇总按周复盘

分级的核心目的是避免告警疲劳——如果所有事件都发短信,你会很快开始忽略它们,真正重要的告警反而被淹没。

三、必设的几类告警

3.1 可用性告警(最高优先级)

监控项:
  ├─ 网站返回码 5xx 比例 > 5%
  ├─ 网站平均响应时间 > 5 秒
  ├─ 站点无法访问(连续 3 次探测失败)
  └─ SSL 证书剩余有效期 < 15 天
动作:电话 + 短信

3.2 攻击量告警

监控项:
  ├─ 单分钟拦截数 > 500 次
  ├─ 单 IP 被拦次数 > 100 次 / 分钟
  ├─ 某攻击类型(如 SQL 注入)突增 300%
  └─ 流量带宽突增 > 基线 3 倍
动作:短信 + 企微

3.3 业务安全告警

监控项:
  ├─ 登录失败次数激增(可能被爆破)
  ├─ 后台登录来自非常用 IP
  ├─ 检测到 Webshell 上传尝试
  └─ 敏感文件被访问(.env/.git/.sql)
动作:企微 + 邮件

四、阈值怎么定

阈值没有标准答案,要根据自己的业务量来定。方法是:统计正常情况下的峰值,把阈值设在峰值的 2-3 倍。

# 先统计基线:连续 7 天每小时的请求量峰值
awk '{print $4}' /www/wwwlogs/access.log | cut -d: -f1,2 \
  | sort | uniq -c | sort -rn | head -10

# 假设正常峰值是 5000 次/小时
# 则告警阈值可设为 12000-15000 次/小时
指标阈值建议
请求量正常峰值 × 2.5
单 IP 频率正常用户 × 5
拦截比例拦截数 > 总请求数 20%
5xx 比例> 5% 持续 1 分钟
响应时间> 3 秒持续 2 分钟

五、通知渠道的选择

渠道优点缺点适用级别
电话必达,无法忽略打扰性强P0
短信必达性较好有成本P0/P1
企业微信/钉钉免费、可富文本、有群可能被静音P1/P2
邮件可归档、可长文及时性差P2/P3
Webhook可对接自建系统需开发任意

建议至少配两个渠道互为备份。

六、避免告警风暴

  1. 设置”抑制期”:同一事件 5 分钟内只通知一次
  2. 设置”聚合”:多个相似事件合并成一条通知
  3. 分级投递:P3 只进日报,不进实时通道
  4. 定期复盘:把长期不处理的告警降级或关闭
  5. 设置值班轮转:避免所有人都以为”别人会看”

七、小结

告警配置的核心是”分级 + 精准 + 不过载”。P0 事件走电话保证必达,P1 走短信,其余走企微和邮件。阈值定在正常峰值的 2-3 倍,并设置抑制期避免刷屏。定期复盘告警有效性,才能让每一条通知都值得你睁眼看一眼。

给TA打赏
共{{data.count}}人
人已打赏
在线客服
在线客服
热线电话
QQ客服
电子邮箱
suduwangluo