网站被打了才想起防护?聊聊 Cloudflare 之外那层兜底

2026-09-27 21:42 1004 次浏览

很多人对网站安全的第一反应是挂个 Cloudflare 免费版,觉得有人打就有人挡。真被打的时候才发现,攻击者绕过 CDN 直接怼源站 IP,或者流量一上来免费版直接给你回源,服务器照样躺。安全这件事不是装一个插件就结束的,得先搞清楚你面对的是什么攻击、哪一层在挡、哪一层其实没挡。

下面按攻击类型、Cloudflare 的能力边界、源站兜底三层来说,最后给出一个能直接照着做的组合方案。

先分清你被什么打:CC 和 DDoS 不是一回事

CC 攻击打的是应用层,模拟大量正常请求,把你的 PHP、数据库连接池占满。一个几百块的小站,几十个并发就能拖垮。这类攻击流量不大,但特征像真人,CDN 的 WAF 规则、频率限制、人机验证能挡掉相当一部分。

DDoS 打的是带宽和连接数。常见的是 UDP 反射、SYN Flood,动辄几十 G 上百 G 往你 IP 上灌。这种量级不是靠规则能解决的,得靠机房入口的清洗设备硬扛。Cloudflare 免费版本身有基础的三层四层防护,但它的免费清洗额度有限,一旦攻击持续且流量大,回源流量照样能把你 100M 带宽的服务器打满。

Cloudflare 能帮你挡多少,免费版的天花板在哪

免费版最实用的三件事:隐藏源站 IP、缓存静态资源、基础 WAF 拦常见注入和 CC。对个人博客、小型企业站,这套配置能解决大部分日常骚扰。

但有几个地方它替不了你:

  • 免费版不承诺清洗容量,大流量攻击时可能直接回源,源站带宽瞬间跑满
  • 如果你服务器上跑的是非 HTTP 服务,比如游戏、SSH、自定义端口,Cloudflare 默认根本不走
  • 源站 IP 一旦因为邮件头、历史 DNS 记录、子域名泄露,攻击者直接打 IP,CDN 形同虚设

按我的经验,日 IP 一万以内、没被人盯上的站,免费版加一台正经服务器就够。但你要是做游戏、支付、或者竞争对手明显在搞你,光靠 CDN 那层是不够的。

真正兜底的那层:源站要不要换成高防服务器

关键判断标准是:攻击能不能绕过 CDN 摸到你的真实 IP。能摸到,就必须在源站这一层有抗打能力。

高防服务器和普通服务器的差别不在 CPU,在机房入口有没有清洗。流量进机房先过一遍清洗设备,正常请求放行,攻击流量丢弃。国内常见的是 60G、100G、200G 几档,海外机房给到 100G 以上的方案也不少。

选的时候我一般先看两点:一是防御是共享还是独享,共享池在别人被打时你可能被牵连;二是清洗后的回源线路,CN2 还是普通 BGP,这决定正常用户访问延迟。美国洛杉矶一带的高防机型里,像 美国洛杉矶高防服务器6 这种 E3-1230 / 16G / 100M 的配置,月付 $439,适合中小站做源站兜底;流量更大、需要更强单机处理能力的,可以看 美国洛杉矶高防服务器22,E5-2683v4 双路 / 64G / 100M,月付 $219。

这里有个取舍:高防服务器比同配置普通服务器贵出来的那部分,本质是买清洗带宽和机房冗余。你要是从来没被打过,这笔钱可以先省,但源站 IP 必须藏好;被打过一次之后再补,往往是在业务已经中断的情况下匆忙下单,代价更高。

能落地的组合:CDN 在前面,高防在后面

比较稳的做法是两层配合。Cloudflare 或者别的 CDN 放前面挡 CC 和缓存,源站换成高防服务器接回源流量。这样即使攻击者拿到源站 IP,直接打过去也有清洗兜底。

具体动作:

  • 把源站所有子域名、邮件服务、历史解析记录排查一遍,别留泄露 IP 的口子
  • CDN 回源只允许来自 CDN 节点 IP 段,其他来源直接拒绝
  • 源站开日志和告警,带宽、连接数异常时能第一时间知道
  • 准备一个备用 IP 和切换流程,真被打死时不至于干等

预算上,个人站一台普通服务器加免费 CDN 就够了;中小商业站建议源站上 60G~100G 档高防,月付大致在 $200 到 $500 之间;游戏、金融这类高风险业务,直接上 200G 以上独享清洗。别在没被打的时候觉得贵,也别在被打之后指望免费方案救场。