Skip to content

Daily Study

更新: 11/27/2025 字数: 0 字 时长: 0 分钟

Daily Plan

#todo

DDOS 防护

HTTP和HTTPs Flood的防护

HTTP Flood 和 HTTPS Flood 都属于应用层拒绝服务(DDoS)攻击,旨在耗尽服务器的资源(CPU、内存、带宽、进程/线程)或应用本身的资源(数据库连接、业务逻辑处理能力)。HTTPS Flood 增加了 SSL/TLS 加密和解密的开销,它对服务器 CPU 的消耗通常比纯 HTTP Flood 更高。

防护的话主要分为三个层次:网络流量清洗、中间件/WAF、应用层防护

网络流量清洗和过滤

  • DDos清洗服务(CDN、WAF),使用专业的DDos高防服务
  • 边界流量速率限制:在负载均衡器 (LB) 或防火墙上,对来自单个 IP 地址、单个地理区域或特定特征的请求设置请求速率限制
  • SYN Flood链接限制:HTTP Flood 通常会建立完整的 TCP 连接,但基础设施应该针对 SYN/TCP 连接进行硬性限制,防止连接数本身被耗尽。
  • HTTP/2 请求限制:限制客户端每个连接允许的最大请求数、头大小、帧速率等,以防止利用 HTTP/2 的多路复用特性进行攻击。

中间件和WAF

  • 行为分析:使用 AI 或机器学习模型,分析请求的频率、User-Agent、Referer、请求头顺序等特征,对可疑流量进行评分并阻止。
  • 限制并发连接:在 Nginx/Apache/Envoy 等代理上,限制单个 IP 或会话的最大并发连接数,防止攻击者建立大量连接占用资源。
  • 强制执行HTTP规范:拒绝任何不符合 RFC 规范的请求,如异常长度的 Header、畸形的 URL 或非标准的 HTTP 方法。
  • Header检查和白名单

应用层保护

  • 验证码:对于登录、注册等高价值或易受攻击的端点,引入验证码挑战。虽然会影响用户体验,但能有效区分人和脚本。
  • 会话、业务速率限制:在应用代码层面,限制已认证用户在特定时间窗口内执行某项操作(如发帖、搜索)的次数,防止业务滥用。
  • 连接池限制:限制数据库连接池和线程池的大小。即使请求到达应用,也要确保资源(如 DB)不会被过度消耗而崩溃,而是平稳地返回 503 错误
  • 页面缓存策略:对静态内容和不常更新的动态内容使用 CDN 缓存。攻击流量打到缓存层,不会触及后端应用服务器。

菜就多练

本站访客数 人次 本站总访问量