AWS WAF 如何在 Web ACL 中处理规则和规则组操作
本节介绍了 AWS WAF 如何使用规则和规则组来处理操作。
配置规则和规则组时,您可以根据您的意愿选择 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 终止评估并向客户端发送验证码拼图或静默的后台客户端会话质询,以解决问题。
如果规则评估未导致任何终止操作,则 AWS WAF 将 Web ACL 默认操作应用于请求。有关信息,请参阅在 AWS WAF 中设置 Web ACL 默认操作。
在 Web ACL 中,您可以覆盖规则组内规则的操作设置,也可以覆盖规则组返回的操作。有关信息,请参阅在 AWS WAF 中覆盖规则组操作。
操作和优先级设置之间的交互
AWS WAF 对 Web 请求应用的操作受规则在 Web ACL 中的数字优先级设置影响。例如,假设您的 Web ACL 有一条规则具有 Allow 操作且数字优先级为 50,另一条规则具有 Count 操作且数字优先级为 100。AWS WAF 按优先级顺序评估 Web ACL 中的规则,从最低设置开始,因此在评估计数规则之前,它将先评估允许规则。同时匹配两个规则的 Web 请求将首先匹配允许规则。由于 Allow 是终止操作,AWS WAF 将停止对该匹配进行评估,并且不会根据计数规则评估请求。
如果您只想在计数规则指标中包含与允许规则不匹配的请求,则可以采用规则的优先级设置。
另一方面,如果您想要计数规则中的计数指标,即使请求与允许规则匹配也是如此,则需要为计数规则指定比允许规则更低的数字优先级设置,以便首先运行计数规则。
有关优先级设置的更多信息,请参阅 在 Web ACL 中设置规则优先级。