
本文概述了攻击者常用的手段来发现已经使用CDN的真实服务器地址(即源IP)和常见的泄露场景,并给出可操作的防护建议:包括DNS配置、CDN回源设置、服务器防火墙、证书和日志管理,以及持续监测和应急处置,帮助减少套了CDN的网站暴露源站的风险。
攻击者通常通过多渠道收集线索来定位源IP,常见方法有被动DNS/历史DNS查询(如SecurityTrails、VirusTotal)、证书透明日志(crt.sh)、历史快照与备份(Wayback)、以及在代码或脚本中发现硬编码的接口或资源链接。还会使用Shodan/Censys等资产搜索对目标域名或可能的IP段进行端口和服务探测。
很多泄露源站的情况来自运维或业务端的失误:子域未走CDN留下A记录、邮件或API调用中包含源IP、页面或脚本中引用了源站资源、第三方服务备份或错误日志中暴露IP、以及证书中登记了真实域名并被证书透明日志记录。
可以用dig/nslookup查看DNS记录,crt.sh查证书历史,Passive DNS服务查看历史解析,Shodan/Censys搜索IP端口,VirusTotal与SecurityTrails做资产关联,使用curl/浏览器直接访问IP并检查Host头返回,或用nmap进行端口扫描来确认源站是否对外可达。
CDN主要负责流量转发和缓存,但如果源站配置不当(如允许任意IP直连、未限定回源IP、错误的DNS记录或未关闭备用域名),攻击者仍可通过旁路访问或信息泄露找到真实服务器;此外,第三方服务与历史数据也会保留可追溯线索。
DNS上应只保留被CDN代理的记录,删除或隐藏指向真实IP的A/AAAA记录;对管理子域严格分离,使用CNAME指向CDN;避免在公开记录中留下备用或开发域名,必要时可使用私有命名或内部DNS。
在源服务器上采用白名单方式,仅允许CDN提供商的回源IP段访问(定期同步CDN官方IP列表);启用回源鉴权(如签名、HTTP头密钥或TLS客户端证书);关闭不必要端口,仅保留HTTPS/必要服务端口;对管理接口绑定内网或安全通道。
避免在证书中包含直接指向源站的域名,尽量在证书和SNI中使用通过CDN的域名;若必须使用源站证书,可采用私有CA或限制证书公开信息。监控证书透明日志,对异常证书或新证书快速响应是关键。
使用云端或机房防火墙限制入站流量,只允许来自CDN的回源IP;对常见探测端口进行阻断和蜜罐引诱,启用WAF拦截异常请求;对管理端口使用VPN或跳板机,避免直接暴露在公网。
不要在前端代码、静态资源或API中硬编码带IP的回源地址;第三方集成时避免在回调URL、Webhook或日志中记录源IP;对日志进行脱敏并控制日志上报范围,避免把源站信息传给外部分析平台。
持续监控被动DNS、证书透明、Shodan/Censys结果,建立告警策略;一旦发现泄露,立即更新防火墙规则、废弃泄露IP并迁移源站,或在CDN层启用“只通过CDN回源”下发新策略;必要时更换证书与域名,并评估是否有历史数据泄露。
很多泄露发生在开发或第三方集成环节,定期审计可以及时发现未走CDN的子域、错误发布或第三方备份。制定发布前检查清单(DNS、证书、回源白名单、日志脱敏)能在源头减少暴露源站的概率。
将CDN回源安全纳入SOP:自动化同步CDN回源IP、CI/CD检查避免裸IP提交、定期被动资产扫描和红队演练;配合业务制定应急预案和快速切换流程,确保在发现泄露后能迅速隔离和恢复。