1. 网络拓扑总览
1) 客户端发起请求经过公共Internet。
2) 推荐将CDN(如Cloudflare/Akamai)放置在最前端以做缓存与基础DDoS防护。
3) CDN之后接入
云WAF(托管WAF或自建WAF服务),进行HTTP/HTTPS层的规则拦截。
4) WAF后面放公网负载均衡器(LB),再分发到私有VPC内的Web主机或VPS集群。
5) 后端主机采用内网私有IP,直接暴露给WAF/LB,避免公网上的直接暴露。
6) 管理通道与监控链路与业务流量隔离,使用专用VPN或跳板主机管理后端服务器。
2. 常见拓扑模式及优劣
1) CDN + CloudWAF(托管):延迟最低,DDoS吸收能力高,但证书需在CDN与WAF间同步。
2) 纯CloudWAF(无CDN):规则更灵活,适合需要精细控制的场景,但需要更强的WAF带宽。
3) WAF在负载均衡前端(边缘WAF):易于日志集中,适合多域名、多主机场景。
4) 双层WAF(CDN边缘+源站WAF):最高安全性,增加延迟和成本,适合重要资产。
5) 选择依据:访问QPS、峰值带宽、容灾与合规要求,结合成本评估选择合适拓扑。
3. 证书类型与部署位置
1) 使用证书类型:RSA 2048/4096、ECDSA P-256/P-384。推荐ECDSA P-256以减少握手延迟。
2) 公网终端(CDN边)使用CA签发公信证书(Let's Encrypt/商业CA)。
3) CDN到WAF可选“完全加密(保留证书)”或“源站证书验证”,建议启用源站证书校验。
4) 内网WAF到后端可使用自签或私有CA证书,并开启OCSP Stapling与TLS1.2+配置。
5) 证书示例:Let's Encrypt RSA2048,域名:example.com,www.example.com,SAN含子域。
4. 证书配置示例与参数
1) 证书密钥算法:ECDSA P-256;证书有效期:90天(自动续期)、或1年(商业证)。
2) Nginx反向代理配置要点:listen 443 ssl; ssl_protocols TLSv1.2 TLSv1.3; ssl_certificate/ssl_certificate_key路径。
3) 开启OCSP Stapling:ssl_stapling on; ssl_stapling_verify on; resolver配置上游DNS。
4) 推荐开启HSTS(max-age=31536000; includeSubDomains; preload)并慎重设置。
5) 自动化:使用certbot/ACME实现证书自动签发与续期,配合hooks重载WAF/NGINX。
5. CDN 与 DDoS 防御联动
1) CDN负责缓存与基础DDoS吸收,WAF聚焦应用层规则。
2) 在高峰期使用CDN限流与WAF速率限制配合,设置IP信誉黑白名单。
3) 配置真实客户端IP:CDN→WAF需保留X-Forwarded-For或CF-Connecting-IP,并在WAF恢复真实IP。
4) WAF应记录完整请求体(大小限制可设置为10MB),用于溯源攻击。
5) 针对DDoS峰值,准备弹性扩缩容策略:自动增加WAF实例或提升LB带宽。
6. 真实案例与服务器配置示例
1) 案例背景:电商网站双11峰值QPS 12k、带宽峰值 3.6 Gbps。
2) 拓扑:Cloudflare(缓存)→ 托管WAF → LB(Nginx)→ 后端VPS池(私有子网)。
3) 后端配置(示例表):见下表。
7. 部署检查清单与建议
1) 检查证书链完整性并启用OCSP Stapling。
2) 确认CDN与WAF之间的TLS策略一致(协议与加密套件)。
3) 验证X-Forwarded-For真实IP回写与日志记录完整性。
4) 模拟DDoS与流量突增演练(负载测试QPS与带宽)。
5) 定期审计规则集、自动化续期与备份WAF配置。