View a markdown version of this page

在中使用规则操作 AWS WAF - AWS WAF, AWS Firewall Manager, AWS Shield Advanced,以及 AWS Shield 网络安全总监

引入全新的主机体验 AWS WAF

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

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

在中使用规则操作 AWS WAF

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

当网络请求符合规则中定义的条件时,规则操作会告诉 AWS WAF 您如何处理该请求。您可以选择为每个规则操作添加自定义行为。

注意

规则操作可以是终止,也可以是非终止。终止操作会停止对请求的保护包(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 使用 CAPTCHA 谜题和静默挑战来验证请求不是来自机器人,并 AWS WAF 使用代币来跟踪最近成功的客户响应。

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

    注意

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

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

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

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

    有关更多信息,请参阅 CAPTCHA然后Challenge在 AWS WAF

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

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

有关保护包(web ACL)和规则设置如何交互的信息,请参阅 使用包含规则和规则组的保护包 (Web ACLs) AWS WAF

通过行动获利

Monetize 操作会向请求的客户端返回 HTTP 402 “需要付款” 的响应。响应包含机器可读的 x402 付款指令,客户使用这些指令来完成付款和访问资源。使用 “获利” 操作向人工智能机器人和代理收取内容访问费用。此操作仅适用于与 Amazon CloudFront 分配关联的网页 ACL,并且需要网 MonetizationConfig 上 ACL。

“变现” 行动是如何运作的

当带有 Monetize 操作的规则与请求匹配时:

  1. 如果请求中没有有效的payment-signature标头,则会 AWS WAF 发出 “需要付款质询”(带付款说明的 HTTP 402 响应)。

  2. 客户签署付款授权书并重新提交带有payment-signature标题的请求。

  3. AWS WAF 验证付款授权。

  4. 成功验证后,请求会继续发送到源站。

  5. 在 Origin 返回 2xx 响应后,付款将通过第三方便利服务在链上结算。

  6. 内容将通过结算确认提供给客户。

重要

为了实施您的 AI 流量盈利政策,我们使用多种检测技术(例如行为信号和基于风险的系统)来检查和分类入站流量。虽然这些方法旨在提供高可信度的分类,但它们是概率性的,可能无法在所有情况下正确识别或分类所有机器人流量。我们不断测试和更新我们的分析方法以提高准确性。我们建议在启用实时盈利之前,使用测试模式来验证您的保单是否产生了预期的结果。

通过操作参数获利

参数必需说明
PriceMultiplier应用于 Web ACL 中定义的基本价格的整数乘数 (1—100)。 MonetizationConfig请求的有效价格是基本价格乘以该值。指定为字符串。默认值:"1"

通过行动行为获利

  • 终止评估 — 与 Block 类似,Monetize 操作会终止匹配请求的规则评估。

  • CloudFront 仅限 — 仅支持保护亚马逊 CloudFront 分销的网页 ACL。

  • 指标 — 在和中MonetizeRequests发布指标 CloudWatch,BlockedRequests与分开。AllowedRequests

  • AWS WAF 日志 — 日志在触发时会包含特定于获利的字段。

示例:JSON 中的货币化规则

{ "Name": "MonetizeUnverifiedBots", "Priority": 5, "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:unverified" } }, "Action": { "Monetize": { "PriceMultiplier": "2" } }, "VisibilityConfig": { "CloudWatchMetricsEnabled": true, "MetricName": "MonetizeUnknownBotsMetric", "SampledRequestsEnabled": true } }

限制

  • 仅适用于亚马逊 CloudFront (全球范围)。

  • 需要网 MonetizationConfig 上 ACL。

  • Rate-based 规则不能使用 Monetize 作为其操作。