基于速率的规则语句 - Amazon WAF、Amazon Firewall Manager 和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

基于速率的规则语句

基于速率的规则会跟踪每个源 IP 地址的请求速率,并针对速率超出限制的 IP 触发规则操作。可以将限额设置为每 5 分钟时间范围内的请求数。您可以使用这种规则来临时阻止来自发送过多请求的 IP 地址的请求。默认情况下,Amazon WAF根据来自 Web 请求源的 IP 地址聚合请求,但您可以将规则配置为使用 HTTP 标头中的 IP 地址,如X-Forwarded-For,而不是。

当规则操作触发时,Amazon WAF将该操作应用于来自该 IP 地址的其他请求,直至请求速率降至限制以下。动作更改可能需要一两分钟的时间才能生效。

您可以缩小 Amazon WAF 计算的请求的范围。为此,可以在基于速率的语句中嵌套另一个范围缩小语句。然后,Amazon WAF仅计算与范围缩小语句匹配的请求。有关范围缩小语句的信息,请参阅范围缩小语句.

例如,根据您最近发现的来自美国的某个攻击者的请求,您可以创建一个基于速率的规则,包含以下范围缩小语句:

  • 包含以下第二层嵌套语句的 AND 规则语句:

    • 指定源自美国的请求的地理匹配语句。

    • 字符串匹配语句,用于在User-Agent字符串的标头BadBot.

假设您还设置了 1000 的速率限制。对于每个 IP 地址,Amazon WAF 会计算同时满足两个条件的请求数。没有同时满足这两个条件的请求将不计算在内。如果某个 IP 地址在任何 5 分钟时间范围内的请求数超过 1000 个,则会针对该 IP 地址触发该规则的操作。

另一个例子是,您可能想要限制发送到网站登录页面的请求数。为此,您可以使用以下嵌套字符串匹配语句创建基于速率的规则:

  • 这些区域有:请求选项URI.

  • Match Type (匹配类型)Starts with

  • A要匹配的字符串login.

通过向 Web ACL 中添加此基于速率的规则,您可以将请求限制在登录页面,而不影响网站其余部分。

不可嵌套— 您不能将此语句类型嵌套在其他语句中。您可以将其直接包含在 Web ACL 中。您不能将其包含在规则组中。

(可选)范围缩小语句— 此规则类型采用可选范围缩小语句,用于缩小基于速率的语句跟踪的请求范围。有关更多信息,请参阅范围缩小语句

世界协调单位— 2 个,另加用于嵌套语句的任何附加 WCU。

此语句使用以下可选设置:

  • (可选)转发 IP 配置— 默认情况下,Amazon WAF聚合在 Web 请求源中的 IP 地址上,但您可以将规则配置为在 HTTP 标头中使用转发的 IP,如X-Forwarded-For相反。Amazon WAF使用标头中的第一个 IP 地址。使用此配置,您还可以指定回退行为,以应用于指定标头中具有格式错误 IP 地址的 Web 请求。回退行为将请求的匹配结果设置为匹配或不匹配。有关更多信息,请参阅转发的 IP 地址

此语句的查找位置

  • 规则生成器,在控制台上 — 在Rule, 用于类型中,选择基于速率的规则.

  • API 语句RateBasedStatement