CDN+WAF联合部署:从架构到规则的最佳实践

CDN+WAF联合部署:从架构到规则的最佳实践

拆解CDN与WAF联合部署的流量路径、源站保护、规则分层和故障降级方法,帮助金融、电商、游戏等业务兼顾性能、安全与可用性。文章还提供画出包含响应方向的完整流量路径、为CDN与WAF划分清晰检测职责、限制源站仅接受受信回源等检查方法,并说明验证指标、常见误区与事件处置顺序,适合安全、运维和开发团队用于上线评审及持续治理。

某电商站点开启WAF后,攻击确实少了,但结算接口的P95时延增加了近一倍。复盘发现,同一请求先在CDN做一次解密,又被转发到独立WAF再次解密,日志字段还无法对应。问题不是WAF无效,而是两套系统被简单串在一起,没有按业务重新设计流量路径。

CDN与WAF联合部署的目标,应是让明显异常流量尽早结束,让缓存请求少走弯路,让动态敏感接口得到更深检测,同时确保源站不可绕过。下面从架构、策略、证书、日志和降级五个方面说明如何落地。

先确定WAF部署在哪一层

常见方案有边缘内置WAF、CDN后独立云WAF、源站前本地WAF。边缘内置路径短、扩展快,适合大多数互联网流量;独立云WAF便于集中管理复杂规则;本地WAF能结合内部网络,但必须保证入口带宽不会先被打满。选择时应看动态请求比例、合规边界、规则复杂度和运维能力。

不要让同一流量无意义地重复检测。可以让边缘负责协议异常、已知攻击、Bot和速率,深度业务规则由后端WAF处理。若需要多层检测,应统一请求ID并清楚定义每层职责。

CDN WAF:CDN+WAF联合部署架构
CDN+WAF联合部署架构

一条请求应如何经过CDN、WAF与源站

请求首先完成DNS调度和TLS握手,再进入网络层清洗与访问控制。静态公开资源在必要检查后可直接命中缓存;动态请求进入WAF,完成规范化、规则匹配和会话判断,最后通过受信回源连接到应用。源站只接受CDN或WAF出口,并验证Host、证书或签名。

响应方向同样需要设计。带有Set-Cookie、账号信息或个性化内容的响应不应被公共缓存;安全头、内容类型和缓存指令要在最终出口复核,避免中间系统覆盖应用原意。

规则分层比规则数量更重要

第一层处理协议和格式异常,第二层覆盖SQL注入、XSS、路径遍历等通用攻击,第三层约束登录、下单、查询等业务动作,第四层结合Bot和账号风险。规则越靠后,越需要业务上下文,不能只依赖通用特征。

上线新规则时先观察再阻断。记录命中请求、用户影响和源站结果,排除搜索引擎、合作方回调和移动端旧版本。对于高风险接口,可先要求挑战或提高验证,而不是立刻封禁整个IP段。

CDN WAF:完整请求与响应路径
完整请求与响应路径

证书、真实IP与日志最容易出错

证书应有明确托管边界和自动续期告警。真实客户端IP只能从可信代理写入的字段读取,并在最后一个可信节点覆盖外部同名请求头。否则攻击者可伪造IP绕过限速或污染审计。

CDN、WAF和源站日志至少共享请求ID、时间、客户端地址、Host、路径、状态码和规则结果。没有统一关联键,故障时只能人工拼接,既慢又容易误判。敏感字段在入库前应脱敏,并按用途控制保留期限。

故障与攻击同时发生时如何降级

WAF不可用时直接旁路看似能恢复业务,却可能让攻击流量直达源站。更稳妥的做法是按业务分级:静态资源继续缓存,已知安全接口使用上一版策略,支付和后台保持严格校验,非核心动态接口限速或暂停。

演练应覆盖规则误杀、证书异常、回源链路中断、控制面不可用和大流量攻击。每种场景都需要负责人、触发阈值、降级动作和回滚条件。联合部署是否成熟,最终看的是异常时能否保持可预测。

CDN WAF:行业防护侧重点
行业防护侧重点

落地检查清单

  • 画出包含响应方向的完整流量路径
  • 为CDN与WAF划分清晰检测职责
  • 限制源站仅接受受信回源
  • 统一真实IP规则与请求ID
  • 新规则先观察、再灰度、最后阻断
  • 演练WAF故障与攻击并发场景

结语

CDN+WAF不是两款产品叠加,而是一条需要共同设计的交付链路。职责分层、源站封闭、日志贯通和可控降级同时成立,才能在提高安全性的同时避免新的性能与可用性问题。

参考来源

延伸阅读