网站被刷了才想起防护?聊聊Cloudflare之外的那层兜底
很多站长第一次认真考虑网站安全,是在某个早上打开监控发现502,或者收到一封来自机房的流量异常邮件。平时网站跑得好好的,谁也不会主动去想防护这件事。等到被打的时候,第一反应往往是去Cloudflare后台把安全等级调到「I'm Under Attack」,然后盯着图表看曲线什么时候下来。问题在于,这套动作对付扫描器和普通CC还有用,碰上直接打源站IP的流量,CDN那一层根本看不到。
这篇文章想聊的是:Cloudflare这类CDN到底能解决什么,什么东西它解决不了,以及预算有限的时候钱应该花在哪一层。
Cloudflare挡得住什么,挡不住什么
先把它的能力边界说清楚。Cloudflare的免费版和Pro版,主要工作在应用层(七层)和部分网络层(三、四层)。它能做的事情大致是这些:
- 过滤掉大量已知恶意IP和爬虫,减少后台登录爆破
- 缓存静态资源,攻击流量打在缓存上,回源压力小很多
- 隐藏你的真实源站IP,前提是源站只允许Cloudflare的回源IP访问
挡不住的部分同样明确。大流量的UDP反射、SYN Flood这类三、四层攻击,Cloudflare免费版基本不接,要上到企业级才有真正的清洗能力。更常见的坑是源站IP早就泄露了——域名历史解析记录、邮件头、SSL证书透明度日志,都能把真实IP翻出来。攻击者绕过CDN直接打源站,这时候你在Cloudflare后台调什么等级都没用。
我一般会先确认一件事:源站IP有没有暴露。暴露了,先把源站迁走或者换IP,再谈别的。
源站那层才是真正要花钱的地方
CDN是前哨,源站是最后一道墙。前哨再厚,墙塌了也没用。所以防护预算的大头,我觉得应该放在源站本身扛不扛得住。
源站的防护分两块。一块是机房侧的高防能力,也就是机房有没有清洗设备、能扛多大的攻击量。另一块是服务器本身的配置——被打的时候CPU和内存会不会先被自己拖死,这跟防护规则关系不大,纯粹是硬件底子问题。
拿西雅图机房的 美国西雅图高防服务器59 来说,Platinum-8176*2、64G内存、100M带宽、月付559美元。这个配置的价值不在于参数多好看,而在于被打的时候,双路铂金CPU和64G内存能让你在应用层过滤规则还没生效的几分钟里,网站不至于直接卡死。100M带宽配高防清洗,中小型站点扛住常见量级的攻击是够的。
如果预算再紧一点,西雅图物理服务器3(E5-2620 / 32G / 100M / 月付109美元)也能做源站兜底,只是抗压余量小一些。换我我会先把源站从共享环境挪到独享物理机上,这一步的收益比在Cloudflare后台折腾规则大得多。
一套不花冤枉钱的组合打法
把上面的判断串起来,实际可执行的方案大概是这样:
- Cloudflare继续用,免费版对付日常扫描足够,别急着升级套餐
- 源站换独立IP,只放行Cloudflare回源段,把真实IP藏住
- 源站放在带高防清洗的机房里,硬件配置留出抗压余量
- 后台登录加二次验证,管理端口改掉默认路径,这些零成本
这套组合里最容易被忽略的是第三点。很多人CDN套餐买得很贵,源站却还跑在一台1核2G的VPS上,攻击一来源站先崩,CDN再强也回不了源。防护是个链条,最短的那块板决定整体水平。
费用上,Cloudflare免费版加一台100美元出头的源站物理机,就能覆盖大部分中小站点的需求。真遇到持续大流量攻击,再考虑上更高防御等级的高防机,比如前面提到的559美元那档。至于防御等级选多少,看你的业务能承受多长的停机——电商和游戏不能停,博客停两小时无所谓,判断标准不一样,花的钱也不一样。
最后给个直接结论:个人博客和小企业站,Cloudflare免费版加一台独立IP的源站物理机,月成本控制在100到150美元之间就够用,别一上来就买企业级防护。如果你的站已经被人盯上、源站IP确定暴露了,优先做的是迁源站换IP,而不是加钱买CDN套餐。