为什么我在2026年把部分流量从 Cloud WAF 移走

发布: (2026年3月5日 GMT+8 15:59)
8 分钟阅读
原文: Dev.to

Source: Dev.to

(请提供需要翻译的正文内容,我将为您翻译成简体中文并保持原有的格式。)

大多数人使用的默认架构

如果你现在运行的是典型的网络服务,架构大概是这样的:

Internet


Cloud WAF / CDN


Origin server


Application

好处

  • 隐藏了源站 IP
  • 大规模 DDoS 防护
  • 全球缓存
  • 自动 WAF 规则

云 WAF 也很容易部署,因为流量只需经过代理网络——通常只需要一次 DNS 更改。对于公共网站和 API 来说,这种便利性很难被超越。

然而,在使用这种架构运行了多个服务后,我开始遇到一些模型并不理想的边缘情况。

问题 1 – 并非所有服务都应放在 CDN 后面

首个问题出现在我们开始处理 非传统网络流量 时:

  • 通过 VPN 暴露的内部仪表盘
  • 开发者工具
  • webhook 端点
  • 大文件上传
  • 内部 API

这些工作负载的行为与公共网站不同。它们通常涉及:

  • 已认证的客户端
  • 大请求体
  • 长连接
  • 异常的请求头或协议

针对 CDN 优化的 WAF 可能会显得不太合适。例如,许多 WAF 引擎仅检查到一定大小的请求体(取决于套餐)。这对普通网页流量来说没问题,但如果你的应用经常处理 大负载,你可能会发现安全层只进行部分检查或绕过某些检查。

问题 2 – “黑盒子”问题

云安全平台功能强大——但它们也 抽象化。你通常只能看到:

  • 仪表盘
  • 规则切换
  • 聚合日志

……但很少能看到 原始请求行为 的细节。在调试攻击流量时,我经常需要回答以下问题:

  • 是哪个精确的负载触发了规则?
  • 请求体是什么样的?
  • 是哪个扫描器生成的?
  • 请求被阻止前发生了什么?

云仪表盘通常只显示 决策结果,而不是完整的上下文。这种抽象是有意为之——它让事情更简单——但有时你想要更多的控制。

问题 3 – 将所有流量通过单一网络的成本

当所有流量都通过云 WAF 时,以下组件会紧密耦合:

  • DNS
  • 流量路由
  • 安全
  • 缓存
  • (有时)负载均衡

大多数情况下这样没问题,但有时你需要灵活性,例如:

  • 临时暴露某项服务
  • 直接路由特定流量
  • 运行私有端点
  • 在没有代理层的情况下测试基础设施

当单一边缘网络拥有所有这些部分时,这些实验就会变得更困难。

我最终采用的混合方案

与其完全移除云端 WAF,我最终采用了 分层架构

Internet ─────► Cloud WAF / CDN ─────► Public Web Apps


               Internal Gateway


               Self‑Hosted WAF Layer


                    Services

公共流量仍然走边缘网络,而部分服务则绕过该网络,直接通过本地安全层。该方案保留了云边缘的优势——全球性能、强大的 DDoS 防护、便捷的缓存——同时为 专用服务 提供了更多的控制权。

本地自托管 WAF 仍然出彩的地方

当我再次开始尝试本地过滤层时,我想起了在云 WAF 取代之前它们为何如此受欢迎。自托管的 WAF 直接位于你的基础设施中:

Internet


Reverse Proxy + WAF


Application

这种部署方式为你提供了云平台并不总能提供的优势:

完整请求可视化

  • 原始负载
  • 请求头
  • 请求体
  • 完整流量日志

这使得调试攻击要容易得多。

精细化控制

因为它运行在你的环境中,你可以实现如下规则:

  • 针对特定端点的策略
  • 按服务的速率限制
  • 基于内部逻辑的行为规则

云 WAF 支持自定义规则,但通常受限于平台约束。自行部署一层可以消除这些限制。

本地流量过滤

许多攻击根本不需要到达你的应用程序。常见的探测包括:

GET /.env
GET /.git/config
GET /wp-login.php
GET /phpmyadmin

本地 WAF 可以立即拦截这些请求,而无需经过上游服务。

我在自托管 WAF 中寻找的特性

在尝试了几种方案后,我发现对小团队来说最有用的功能其实相当简单:

  • 机器人挑战
  • 请求过滤
  • 速率限制
  • 良好的流量可视性

你并不一定需要企业级的安全设备;只需要一个能够位于服务前端、帮助降低噪音的工具即可。

最近我在实验 SafeLine WAF,它将这些功能打包成一个相对易于运行的自托管系统。有趣的地方并不是它取代了云 WAF,而是它能够很好地融入上文描述的 混合模型,为那些不适合通过 CDN 的流量提供安全层。

如果你感兴趣,可以查看他们的网站

Safepoint Cloudline 已上线:

当你绝对应该坚持使用云 WAF 时

明确地说,云 WAF 在许多情况下仍然是最佳选择。

如果你的应用是:

  • 公开网站
  • 全球 SaaS 产品
  • 高度可缓存
  • 全球范围内对延迟敏感

那么边缘网络的优势是巨大的。像 Cloudflare 这样的提供商的全球规模是本地无法复制的。

最终思考

从运行生产服务中得到的最大教训是 安全架构很少保持静态。对小型 Web 应用有效的方案未必适用于:

  • 内部工具
  • APIs
  • 大文件上传
  • 专用基础设施

云 WAF 为开发者解决了许多问题,但它们也引入了一种新模式: 所有流量都通过边缘网络

  • 有时这很完美。
  • 有时则不尽如人意。

对我而言,解决方案并不是在两种模型之间做出选择,而是 在适当的地方同时使用两者

0 浏览
Back to Blog

相关文章

阅读更多 »