源站IP这东西,藏不住的后果比很多人想的严重。CC攻击打过来的时候,CDN后台的拦截记录刷得挺勤快,可网站该转圈还是转圈、该502还是502——问题往往不在规则写得烂,而在于对方压根没从CDN进来,直接照着源站敲。CC攻击防不住,多半是源站IP没藏好,这句话我跟不少人念叨过。前面防盗门装得再厚,后墙开着,谁都拦不住。下面这些坑,有的是我自己踩的,有的是看别人踩的,顺序不太讲究,你看着哪条像自己就先查哪条。

CC攻击防不住多半是源站IP没藏好,先认几个信号
怎么判断是不是被绕过了?几个现象挺典型。CDN控制台的请求数、带宽都平平无奇,源站的CPU和连接数却顶到天花板;源站访问日志里冒出一堆Host直接写IP的请求,User-Agent整齐得像复制出来的;同一个页面走域名访问是正常的,直接拼IP访问反而刷得飞起。还有种隐蔽的,看着像节点在正常转发,回源那一段却已经被打穿了。碰上这些,先别忙着调CC规则,去把源站的入口堵上更实在。
漏IP的出口,比你想的多
DNS历史解析记录是头号漏勺。换CDN的时候很多人只改了主域名的A记录,可历史记录这东西是留底的——一些公开的被动DNS、历史解析查询平台里,几年前的A记录还挂着。那个IP要是还在服役、还没换,藏了等于没藏。免费CDN换付费、中途取消过、临时切回源站测过,这几种操作都容易留痕。
第二个是子域名。主站上了CDN,mail、test、dev、旧版站、m站忘了,随便挑一个解析到源站同一个IP,人家反查一下域名和IP的对应关系就串起来了。这层关系本来就是公开的,压根藏不住。
第三个是邮件。自己搭邮件服务发信,邮件头里的Received字段会把真实出口IP一路带出去,对方收信一看就明白。
再一个是扫描。公网IPv4就那么多,Shodan、FOFA、Censys这类资产测绘平台不靠猜,靠指纹比对——你源站上一张自签证书、一个默认首页、一个特征鲜明的favicon,都可能被关联回你的域名。这活儿天天有人在干,不是玄学。
零碎的还有一堆:报错页面把绝对路径和IP打出来了,客服系统的回调地址填的是IP,监控探针从IP探测,站长自己在群里贴张监控截图没打码。单看都不起眼,凑一块儿够用了。
证书和指纹,别自己给自己挂标记
给源站单独签一张只包含IP的证书,看着省事,等于在公网上举了个牌子。同一张证书既出现在CDN节点、又出现在某个陌生IP上,测绘平台一配对就成。要么老老实实用域名证书,要么回源这段干脆走带白名单的验证,别图方便。favicon、默认404页、Server头里的版本号,一个道理——单看都不致命,都是线索。
换IP只是止血,回源这条路要收紧
换掉源站IP是止血,不是治本。最终目标是让源站只认CDN。做法上:源站防火墙或安全组只放行CDN的回源IP段,其余一律拒绝;节点段以服务商官方页面公布的为准,它隔段时间会更新,得定期对一遍。有条件的上回源鉴权——有的服务商叫回源双向认证,有的叫回源鉴权,总之是CDN回源时带上密钥或者走mTLS,源站验不过的直接掐掉。
源站上不该开的端口顺手关掉,数据库、Redis、管理面板、SSH别对全网敞着。日志也要配,套了CDN之后,nginx日志里记的默认全是节点IP,不写set_real_ip_from和real_ip_header X-Forwarded-For,你分不清哪个是真用户。程序里取IP取X-Forwarded-For最左边那个,别直接拿REMOTE_ADDR,这坑调过的人都懂。
换IP的收尾活,顺序别搞反
顺序很重要。先在源站把新IP配好、白名单加上、回源鉴权跑通,确认CDN能正常回源,再去动DNS。反过来先改解析,中间那段时间网站是空的。改完还得做几件事:老解析该清的清,能不能清掉看DNS服务商,历史库里的记录删不掉,只能靠换IP让它失效;子域名全部过一遍;邮件服务挪走或者改用第三方发信;旧监控和回调地址挨个更新。过一阵再拿公开测绘平台搜一遍自己的域名和证书,看看还有没有漏出来的资产,这个动作适合做成定期的。
也不是所有卡顿都赖IP漏了
得说句公道话。CC打过来网站慢,有一部分真跟IP暴露没关系:首页和列表页不缓存,每个请求都压数据库;搜索接口没做分页上限,人家带个参数就能拉全表;登录、发短信、查订单这些接口没有频率限制和验证码;程序里趴着一条慢查询,平时没事,并发一上来就雪崩。这些情况下IP藏得再好,走CDN照样能把你打趴。所以排查得两条腿走,外面看源站有没有被绕过,里面看应用自己扛不扛得住。
上手能查的几件事
按这个顺序过一遍:公开的DNS历史查询平台搜自己的域名,看有没有旧A记录还指着一个活着的IP;把所有子域名列出来逐个解析,对一遍IP;翻源站防火墙的放行规则,看有没有0.0.0.0/0这种大开门;翻访问日志找Host写成IP的请求;拿测绘平台按证书指纹和favicon搜一遍,看能搜出几个IP。哪条中了先处理哪条,别一次全改,改完没验证反而更乱。
这事没有一劳永逸。CC的玩法隔一阵换一批,源站IP也一样,今天藏好了不代表明年还藏得住——换个开发、加个测试环境、临时开个端口联调,都可能重新漏出去。当成定期复查的日常活来做,比出事之后抢救划算。真腾不出人手,就拉着服务商的技术支持一起看回源配置,比自己瞎试省时间。
【版权声明】:本站内容若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!