CDN 与源站保护是什么
使用 CDN 或 WAF 时,真正的服务器(源站)不应直接对公网开放:回源请求要做白名单化,限制为 CDN 的回源地址段,或用校验头(内部 token)确认请求来自 CDN。否则攻击者只要拿到源站 IP,就能绕过全部防护直连源站,CDN 就只剩加速作用。
基本信息
| 保护对象 | 源站 IP 与端口(通常 80/443) |
|---|---|
| 手段一 | 防火墙或安全组仅放行 CDN 回源地址段 |
| 手段二 | 回源校验头:源站校验内部 token 后才响应 |
| 手段三 | 源站不对外解析真实域名,内外解析分离 |
源站保护配置思路
源站保护配置思路
1. 源站仅放行 CDN 回源 IP 段(防火墙/安全组维护清单)
2. 或回源增加校验头(如携带内部 token,源站校验后才响应)
3. 源站不对外解析真实域名;内部解析分离
4. CDN 节点段变更时同步更新白名单
5. 管理端口与源站业务端口分开,管理面走运维通道自查:源站是否可直接访问
自查:源站是否可直接访问
curl -sk -H 'Host: www.example.com' https://<源站IP>/ -o /dev/null -w '%{http_code}\n'
# 与经 CDN 访问的结果比对:直连也返回 200 说明源站未受保护
curl -sk --resolve www.example.com:443:<源站IP> https://www.example.com/ -o /dev/null -w '%{http_code}\n'典型使用场景
- 接入 CDN 时同步配置:上线的同时把源站收敛,而不是事后补
- 历史域名核查:确认旧域名与直连 IP 是否仍可访问源站
- 证书与回源核查:源站使用独立证书时,避免通过证书透明度日志暴露源站 IP
- 攻防演练复盘:确认蓝方的防护是否可被绕过
- 多云与多 CDN 场景:回源白名单需要维护多份厂商地址段
常见绕过路径
| 路径 | 说明 | 应对 |
|---|---|---|
| 历史 DNS 解析 | 旧记录仍指向源站 IP | 清理历史记录并轮换 IP |
| 证书透明度 | 源站证书带真实域名 | 源站使用内部证书或统一证书 |
| 邮件与其他服务 | 同 IP 上的其他服务暴露源站 | 源站 IP 只承载回源流量 |
| 直接 IP 访问 | Host 头不影响直连 | 网络层限制来源 |
回源白名单要跟随 CDN 厂商的地址清单更新,长期不更新会在节点扩容后出现间歇性 5xx,排查时容易误判为源站故障。
只靠「源站 IP 不公开」属于隐藏而非控制:IP 一旦泄露(历史解析、证书日志、同 IP 其他服务),绕过就是一次 curl 的事。