安全防护

场景

活动结束后,遭遇恶意攻击。

攻击特征:

  • 短时间内大量请求
  • 来自大量不同 IP
  • 请求模式相似
  • 目标:耗尽服务器资源

影响:

  • 服务器 CPU 100%
  • 数据库连接耗尽
  • 正常用户无法访问

攻击分析

日志分析:

  • 10 分钟内 100 万次请求
  • 来自 5000 个不同 IP
  • 大部分请求没有有效 API Key
  • 请求集中在几个接口

判断:DDoS 攻击

防护策略:多层防护

第 1 层:网络层防护

设计流程
第 1 层:网络层防护
  1. 步骤 1:识别流量来源、攻击特征和需要保护的入口
  2. 步骤 2:根据 QPS、错误率和核心接口压力调整保护动作
  3. 步骤 3:返回正常、排队或降级响应,并记录防护效果
关注点:入口保护、核心服务可用性、误伤率和容量余量。

第 2 层:应用层防护

设计流程
第 2 层:应用层防护
  1. 步骤 1:识别异常请求并执行防护策略
  2. 步骤 2:准备流量入口、防护规则、队列容量和降级开关
  3. 步骤 3:观察 QPS、错误率和核心接口可用性
  4. 步骤 4:识别异常请求并执行防护策略
关注点:入口保护、核心服务可用性、误伤率和容量余量。

第 3 层:验证码防护

设计流程
第 3 层:验证码防护
  1. 步骤 1:识别异常请求并执行防护策略
  2. 步骤 2:识别异常请求并执行防护策略
  3. 步骤 3:校验身份、密钥或权限
关注点:入口保护、核心服务可用性、误伤率和容量余量。

第 4 层:CDN 防护

使用 Cloudflare 等 CDN 服务:
- DDoS 防护
- Web 应用防火墙 (WAF)
- 全球加速
- 自动屏蔽攻击 IP

配置:
1. 域名接入 CDN
2. 启用 DDoS 防护
3. 配置防火墙规则
4. 启用缓存

监控和告警

实时监控

设计流程
实时监控
  1. 步骤 1:检查健康状态并触发告警
  2. 步骤 2:计算用量、账单或套餐状态
  3. 步骤 3:采集健康状态并触发告警
关注点:入口保护、核心服务可用性、误伤率和容量余量。

应急响应

自动防护策略

设计流程
自动防护策略
  1. 步骤 1:更新限流、排队、降级或防护策略
  2. 步骤 2:准备流量入口、防护规则、队列容量和降级开关
  3. 步骤 3:观察 QPS、错误率和核心接口可用性
  4. 步骤 4:观察 QPS、错误率和核心接口可用性
关注点:入口保护、核心服务可用性、误伤率和容量余量。