在 AWS WAF 中使用规则操作 - AWS WAF、AWS Firewall Manager、AWS Shield Advanced 和 AWS Shield 网络安全分析器

介绍 AWS WAF 的全新控制台体验

现在,您可以使用更新后的体验访问控制台中任意位置的 AWS WAF 功能。有关更多详细信息,请参阅 使用更新的控制台体验

在 AWS WAF 中使用规则操作

本节介绍了规则操作的工作方式。

规则操作向 AWS WAF 指示在 Web 请求与规则所定义的条件匹配时,应对该请求执行什么操作。您可以选择为每个规则操作添加自定义行为。

注意

规则操作可以是终止,也可以是非终止。终止操作会停止对请求的保护包(web ACL)评估,要么允许请求继续访问受保护的应用程序,要么将其阻止。

以下是规则操作选项:

  • Allow:AWS WAF 允许将请求转发到受保护的 AWS 资源以进行处理和响应。这是终止操作。在您定义的规则中,您可以在请求中插入自定义标头,然后再将其转发到受保护的资源。

  • Block:AWS WAF 阻止请求。这是终止操作。默认情况下,您的受保护 AWS 资源以 HTTP 403 (Forbidden) 状态代码进行响应。在您定义的规则中,您可以自定义响应。当 AWS WAF 阻止请求时,Block 操作设置将决定受保护资源发送回客户端的响应。

  • Count:AWS WAF 对请求进行计数,但不确定是允许还是阻止请求。这是一个非终止操作。AWS WAF 继续处理保护包(web ACL)中的其余规则。在您定义的规则中,您可以将自定义标头插入请求中,也可以添加其他规则可以匹配的标签。

  • CAPTCHA 和 Challenge:AWS WAF 使用验证码拼图和静默质询来验证请求并非来自机器人,并且 AWS WAF 使用令牌来跟踪最近成功的客户端响应。

    只有当浏览器访问 HTTPS 端点时,才能运行验证码拼图和静默质询。浏览器客户端必须在安全环境中运行才能获取令牌。

    注意

    当您在其中一个规则中使用 CAPTCHA 或 Challenge 规则操作或在规则组中将其作为规则操作覆盖时,您需要支付额外费用。有关更多信息,请参阅 AWS WAF 定价

    这些规则操作可以是终止操作,也可以是非终止操作,具体取决于请求中令牌的状态:

    • 对于有效的未过期令牌的非终止操作:如果根据配置的验证码或质询免疫时间,令牌有效且未过期,则 AWS WAF 处理与 Count 操作类似的请求。AWS WAF 继续基于保护包(web ACL)中的其余规则检查 web 请求。与 Count 配置类似,在您定义的规则中,您可以选择使用自定义标头配置这些操作以插入到请求中,也可以添加其他规则可以匹配的标签。

    • 对于无效或过期令牌的终止操作,请求被阻止 – 如果令牌无效或指定的时间戳已过期,则 AWS WAF 终止对 Web 请求的检查并阻止请求,与 Block 操作类似。AWS WAF 然后使用自定义响应代码响应客户端。对于 CAPTCHA,如果请求内容表明客户端浏览器可以处理它,则 AWS WAF 会在 JavaScript 插页式广告中发送验证码拼图,以区分人类用户和机器人。在 Challenge 操作中,AWS WAF 发送带有静默质询的 JavaScript 插页式广告,以区分普通浏览器与机器人运行的会话。

    有关更多信息,请参阅 AWS WAF 中的 CAPTCHA 和 Challenge

有关自定义请求和响应的信息,请参阅 AWS WAF 中的自定义 web 请求和响应

有关为匹配请求添加标签的信息,请参阅 AWS WAF 中的 Web 请求标签

有关保护包(web ACL)和规则设置如何交互的信息,请参阅 在 AWS WAF 中将保护包(web ACL)与规则和规则组配合使用