如何 AWS WAF 处理 Web ACL 中的规则和规则组操作 - AWS WAFAWS Firewall Manager、和 AWS Shield Advanced

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

如何 AWS WAF 处理 Web ACL 中的规则和规则组操作

配置规则和规则组时,您可以选择 AWS WAF 如何处理匹配的 Web 请求:

  • Allow 和 Block 正在终止操作 – Allow 操作 Block 会停止对匹配的 Web 请求进行 Web ACL 的所有其他处理。如果 Web ACL 中的规则找到了与请求的匹配项,并且规则操作为Allow或Block,则该匹配将确定 Web ACL 的 Web 请求的最终处置。 AWS WAF 不处理 Web ACL 中匹配规则之后的任何其他规则。对于直接添加到 Web ACL 的规则和添加的规则组中的规则,此原理同样适用。通过 Block 操作,受保护的资源将无法接收或处理 Web 请求。

  • Count 是非终止操作 – 当具有 Count 操作的规则与请求匹配时, AWS WAF 会对请求进行计数,然后继续处理 Web ACL 规则集中的后续规则。

  • CAPTCHA并且Challenge可以是非终止或终止操作 — 当具有其中一个操作的规则与请求匹配时, AWS WAF 会检查其令牌状态。如果请求具有有效的令牌,则将匹配项 AWS WAF 视为Count匹配项,然后继续处理 Web ACL 规则集中遵循的规则。如果请求没有有效的令牌,则 AWS WAF 终止评估并向客户端发送验证码拼图或静默的后台客户端会话挑战来解决。

如果规则评估未导致任何终止操作,则将 Web ACL 默认操作 AWS WAF 应用于请求。有关信息,请参阅 Web ACL 默认操作

在 Web ACL 中,您可以覆盖规则组内规则的操作设置,也可以覆盖规则组返回的操作。有关信息,请参阅 规则组的操作覆盖选项

操作和优先级设置之间的交互

AWS WAF 适用于 Web 请求的操作受到 Web ACL 中规则的数字优先级设置的影响。例如,假设您的 Web ACL 有一条规则具有 Allow 操作且数字优先级为 50,另一条规则具有 Count 操作且数字优先级为 100。 AWS WAF 按优先级顺序评估 Web ACL 中的规则,从最低设置开始,因此在评估计数规则之前,它将先评估允许规则。同时匹配两个规则的 Web 请求将首先匹配允许规则。因为Allow是终止操作, AWS WAF 将停止对这场比赛的评估,并且不会根据计数规则评估请求。

  • 如果您只想在计数规则指标中包含与允许规则不匹配的请求,则可以采用规则的优先级设置。

  • 另一方面,如果您想要计数规则中的计数指标,即使请求与允许规则匹配也是如此,则需要为计数规则指定比允许规则更低的数字优先级设置,以便首先运行计数规则。

有关优先级设置的更多信息,请参阅 Web ACL 中规则和规则组的处理顺序