加油
努力

如何正确组合使用WAF、CDN和DDoS高防以避免配置冲突?

正确组合使用 WAF(Web 应用防火墙)、CDN(内容分发网络)和 DDoS 高防(抗 DDoS 服务)是构建企业级 Web 安全防护体系的关键。三者功能有重叠(如流量清洗、IP 黑白名单、TLS 终止),若配置不当易引发请求链路中断、证书冲突、源站暴露、规则失效或性能劣化等严重问题。以下是经过生产环境验证的最佳实践组合方案与避坑指南


✅ 一、推荐部署架构(黄金顺序)

用户 → DDoS 高防 → WAF → CDN(可选前置)→ 源站
但更常见且推荐的生产级串联顺序为:

用户  
  ↓  
[DDoS 高防] ←—(承载 4/7 层混合攻击清洗,首道流量入口)  
  ↓ (仅放行清洗后合法流量)  
[WAF]        ←—(深度应用层防护:SQLi/XSS/CC/爬虫/0day 规则)  
  ↓ (可选:WAF 后接 CDN 缓存静态资源)  
[CDN]        ←—(仅缓存静态内容;*不建议 WAF 前置 CDN*)  
  ↓  
[源站服务器]

🔑 核心原则:按攻击层级由外向内分层防御

  • DDoS 高防:处理海量 SYN Flood、UDP Flood、HTTP Flood(L3/L4 + L7 基础 Flood)
  • WAF:专注应用层威胁(L7),需看到完整 HTTP 头、Body、Cookie 等
  • CDN:提速 & 基础缓存,非安全设备(其 WAF 功能较弱,规则更新慢,日志不可控)

✅ 二、关键配置协同要点(避免冲突)

配置项 DDoS 高防 WAF CDN(纯提速用途) ✅ 协同要求
回源 IP 提供固定高防回源 IP 段(如 100.64.0.0/10 必须仅允许高防 IP 段 + WAF 自身 IP 回源 若 CDN 在 WAF 后,CDN 回源 IP 应加入 WAF 白名单 ❌ 禁止源站直接暴露公网 IP;所有回源必须经高防/WAF X_X;源站防火墙只放行可信回源段
HTTPS 终止 建议 L4 透传(不终止 TLS),避免证书管理复杂化 推荐在 WAF 终止 HTTPS(集中管理证书、HSTS、OCSP Stapling) 若 CDN 在 WAF 后,CDN 使用 HTTP 回源(避免双重加密) ✔️ 统一在 WAF 终止 TLS:简化证书轮换、支持 SNI、获取真实 Client IP(通过 X-Forwarded-For + X-Real-IP
真实 IP 传递 开启 X-Forwarded-For / True-Client-IP 必须识别并信任高防头(如 X-Forwarded-For),禁用 CDN 添加的重复头 若 CDN 在 WAF 后,CDN 必须关闭 X-Forwarded-For 覆盖(保留上游头) ✔️ 源站 Nginx/Apache 需配置 set_real_ip_from 仅信任 WAF IP,并用 real_ip_header X-Forwarded-For;
缓存策略 不参与缓存 禁用动态内容缓存(或仅缓存公开静态资源) ✅ 仅缓存 Cache-Control: public, max-age=3600 类资源 ❌ WAF 前禁止 CDN 缓存(否则绕过 WAF 规则);CDN 缓存键中勿包含敏感头(如 Cookie、Authorization)
自定义 Header 可添加 X-DDoS-Protected: 1 添加 X-WAF-Status: OK, X-RateLimit-Remaining 若启用,确保 WAF 能识别并透传(不丢弃) ✔️ 所有中间件需透传必要业务头(如 Authorization, X-User-ID),WAF 规则可基于这些头做精细化控制

✅ 三、典型错误配置(务必规避)

错误做法 风险 正确做法
CDN 直连源站(绕过 WAF/高防) 源站 IP 泄露 → 被直接攻击;WAF 规则完全失效 ✅ 强制所有流量经高防 → WAF → 源站;源站绑定私有 IP 或云内网,公网 DNS 解析指向高防 VIP
WAF 和 CDN 都开启 HTTPS 终止 双重加解密 → 性能下降;证书管理混乱;X-Forwarded-Proto 冲突导致跳转死循环 ✅ 仅 WAF 终止 HTTPS;CDN 到 WAF 使用 HTTP(或私有证书 HTTPS);WAF 设置 X-Forwarded-Proto: https
WAF 回源白名单未限制高防 IP 攻击者伪造 X-Forwarded-For 直接访问 WAF(绕过高防) ✅ WAF 防火墙只允许高防提供的固定回源 IP 段(非所有公网 IP);拒绝非高防 IP 的直接连接
CDN 缓存了含 Set-Cookie 的响应 用户会话错乱、登录态丢失、CSRF 风险 ✅ CDN 缓存策略严格限制:Set-Cookie / Vary: Cookie / Authorization 响应永不缓存
未同步黑白名单 高防封禁的 IP,WAF 仍放行(应用层攻击) ✅ 使用云厂商联动能力(如阿里云 Anti-DDoS Pro + WAF 共享 IP 黑名单);或通过 API 定期同步

✅ 四、进阶协同建议

  1. 日志与溯源统一

    • 启用三者全链路 TraceID(如 X-Request-ID),在日志中串联请求路径,快速定位拦截环节。
    • 将高防攻击日志、WAF 访问日志、CDN 日志统一接入 SIEM(如 ELK/Splunk),关联分析攻击手法。
  2. 弹性扩容联动

    • 当高防检测到流量突增(>80%阈值),自动触发 WAF CC 防护等级提升 + CDN 缓存预热,避免雪崩。
  3. 灰度发布机制

    • 新 WAF 规则上线前,先在高防后、WAF 前镜像流量(不阻断),验证规则误杀率 < 0.001% 后再启用。
  4. 源站最小化暴露

    • 源站仅监听内网 IP(如 10.0.0.10:8080);
    • 云上源站安全组:仅放行 WAF 回源 IP 段 + 运维跳板机
    • 源站 Web Server 配置:allow from 100.64.0.0/10; deny all;(Nginx)。

✅ 五、云厂商配置示例(以阿里云为例)

服务 关键设置
DDoS 高防(Anti-DDoS Pro) – 接入模式:七层X_X
– 回源地址:填写 WAF 的 CNAME(如 waf-xxx.aliyuncs.com
– 开启 X-Forwarded-For 传递
– 关闭“HTTPS 终止”(选择“透传”)
WAF(Web Application Firewall) – 接入方式:CNAME 接入(非 IP)
– 回源地址:源站内网 IP + 端口
– 回源协议:HTTP(若高防透传 HTTPS)
– 白名单:仅添加高防回源段 100.64.0.0/10
– TLS 设置:上传证书,在 WAF 终止 HTTPS
CDN(Content Delivery Network) 仅用于静态资源提速(JS/CSS/IMG)
– 源站类型:自定义源站 → 填写 WAF 的 CNAME
– 回源协议:HTTP
– 缓存规则:*.js, *.css, *.pngmax-age=3600/api/*, /loginno-cache
– 关闭“自动添加 X-Forwarded-For”(由高防/WAF 提供)

💡 总结:一句话口诀

“高防扛洪流,WAF守大门,CDN只提速;证书在WAF终,回源靠白名单,IP头要透传,日志带TraceID。”

如需进一步落地,可提供您的具体技术栈(如 Nginx/OpenResty、Cloudflare/Aliyun/Tencent Cloud、源站框架),我可为您定制配置模板与检测脚本(如验证真实 IP 是否被正确传递)。

云服务器