Cloudflare
WAF
Rate Limiting
Bot Management
Segurança

WAF + 速率限制 + 机器人管理:边缘保护三重奏

WAF、速率限制和机器人管理如何在 Cloudflare 中相互补充、每一层实际拦截的内容以及 Pro 计划组合在哪些方面涵盖了每月 20 美元的大部分风险。

刚刚启用 Cloudflare WAF 的团队最常见的假设是应用程序现在受到保护。这个结论在技术上是不正确的 - 不是因为 WAF 不起作用,而是因为它阻止的攻击只是您将收到的攻击的子集。另外两个子集具有不同的产品,具有完全不同的检测逻辑,并且三者从一开始就很少配置在一起。

每层实际看到的内容

理解这种划分的最清晰方法是考虑请求的三个维度:请求包含什么、到达的数量以及发送请求的人。

WAF 对内容进行操作 — 检查请求负载并检查其是否与已知的攻击模式匹配。查询参数中的0、表单字段中的脚本标记、路径中的1序列:这些是引擎识别并阻止的签名。 WAF 在 que 维度中是外科手术,而在其他两个维度中则是盲目的。

速率限制对速度起作用。请求包含什么并不重要——如果一个 IP 在 10 秒内发送 50 次登录尝试,则说明出现了问题。 WAF 无法检测到这一点,因为每个单独的请求都是正式有效的:SQL 查询正确,没有恶意有效负载,HTTP 请求将被任何服务器毫无异议地接受。问题不在于格式,而在于频率。

机器人管理基于行为身份进行操作。一个复杂的机器人会随机化请求之间的间隔,使用旋转的 IP 池,并将速率维持在速率限制中配置的限制内,它将毫无摩擦地通过前两层。提供此类流量的是行为指纹:人类会话中不存在的导航模式、提交前不存在鼠标事件、没有真实浏览器将加载的辅助资产的请求序列、与自动化堆栈关联的 TLS 指纹的使用。机器人管理在此行为维度中对每个会话进行评分,并根据分数采取行动,无论有效负载和速度如何。

撞库如何通过 WAF 以及速率限制为何流行

最能说明三层需求的攻击是具有受控节奏的撞库攻击。攻击者拥有从其他服务泄露的凭据列表,并针对应用程序的登录端点测试每一对 - 不是突发,而是有条不紊地进行,每个 IP 每分钟尝试 3 到 5 次。它使用住宅代理来分配尝试,并确保没有任何单个 IP 超出明显的限制。

从WAF的角度来看,这种攻击是不可见的。登录请求是一个带有电子邮件和密码字段的 POST,其结构与任何合法用户发送的内容相同。不正确的密码不是恶意负载,它只是会失败的文本[身份验证4。没有WAF可以识别的签名。

通过速率限制,您可以在端点 2 上配置一条规则,其中包含时间窗口和每个 IP 的尝试限制。十秒内五个请求会触发阻止。十五分钟内对密码恢复端点发出三个请求,同上。将您的机器人校准为低于此阈值的攻击者仍然可以通过,但您已经消除了最便宜的凭证填充层 - 无需节奏控制即可简单触发的脚本。

速率限制无法解决的问题是攻击者将其分布在足够多的 IP 上,以使其保持在每个 IP 的限制以下。这就是机器人管理的用武之地:即使每个单独的 IP 仅进行两次尝试,会话的行为分数也将表明自动化。

产品架构以及每个计划解锁的内容

速率限制是与 WAF 不同的产品——它们不是同一系统内的规则,而是具有独立逻辑和配置的系统。这种区别在配置时很重要,因为过去只使用 WAF 规则的团队经常在界面中的错误位置寻找速率限制。

Rate Limiting 中可用的控制维度包括 IP、IP 和路径的组合、特定 cookie 和 user-agent。这些操作包括“阻止”、“挑战”和“日志”,其中“日志”相当于 WAF 的监视模式,可用于在生产中激活阻止之前校准阈值。

Cloudflare 的免费计划允许单个速率限制规则。 Pro(20 美元/月)最多有 5 条规则。生意停百。 Enterprise 删除了规则限制并解锁了完整的机器人管理,包括访问 3 作为规则表达式中的变量 - 0 到 99 之间的数字,其中较低的值表示自动化流量更高。

在专业版上,机器人管理相当于超级机器人战斗模式:一种简化的设置,可以阻止绝对自动化的机器人,挑战可能自动化的机器人,并让经过验证的流量通过。您无法访问数字分数或基于它编写规则,但针对最常见机器人类别的覆盖范围处于活动状态。

Pro 计划组合在实践中涵盖的内容

每月花费 20 美元,只需很少关注配置的 Web 应用程序就可以覆盖大部分自动化攻击面。 WAF 在 OWASP 级别 1 的块模式下使用 Cloudflare 托管规则集拦截 SQLi、XSS、路径遍历和已知 CVE 的利用。五个速率限制规则涵盖关键端点:每个 IP 10 秒内限制 5 个请求的登录、15 分钟内限制 3 个请求的密码恢复、1 小时内 10 个请求的帐户注册、1 小时内 10 个请求的支付端点以及每分钟 100 个请求的 API 根。主动超级机器人战斗模式可以阻止那些没有足够复杂程度来伪装行为的机器人。

这种组合不包括具有真正人类行为的机器人——以合理的速度进行浏览的会话,具有合成但令人信服的鼠标和键盘模式,使用具有干净历史记录的家庭IP。这种复杂程度对于攻击者来说代价高昂,并且在针对非高价值目标的应用程序的攻击中很少见。对于大多数 Web 应用程序来说,Pro 中留下的差距是可以接受的。

扩展到商业或企业的意义何在

升级的决定是风险和成本的等式,而不是技术野心。商业上证明了这一飞跃是合理的,特别是如果您需要五个以上的速率限制规则 - 具有数十个敏感端点的应用程序将很快耗尽 Pro 限制。商业中的一百条规则解决了这个问题,但没有达到企业的投资。

当威胁概况包含能够绕过简化检测的对手时,企业就有意义了:复杂的金融欺诈、竞争对手通过模仿人类行为的机器人系统性地降低价格,或者针对高价值服务的高度分布式的凭证填充。通过访问机器人管理的数字分数,您可以创建超级机器人战斗模式所不提供的粒度规则 - 阻止 30 以上、挑战 30 到 60 之间、允许 60 以上,并通过路径或 HTTP 方法提供附加逻辑。这种表现力是有成本的,只有当风险降低成比例时,成本才是合理的。

具体的评估方法:将欺诈成功时面临的风险收入、第 7 层 DDoS 中断的成本以及大规模撞库攻击的事件响应工作量相加。如果这个数字大于专业版和企业版之间的年度差异,那么与供应商的对话就值得花时间。

另请阅读

  • [Cloudflare WAF:托管保护实际上会阻止什么,什么会通过55
  • [速率限制、功能标志和分布式配置的 KV:它在哪里起作用以及在哪里失效6
  • [DNS 代理与仅 DNS:有何变化以及每种模式何时有意义7
  • [DNSSEC 与 Cloudflare:它保护什么、不保护什么以及如何顺利激活88
  • [Cloudflare Durable Objects:边缘的一致状态 - 真正改变的是什么9
  • [电子邮件路由+工作人员:在边缘以编程方式处理电子邮件10