本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
基于速率的规则语句
基于速率的规则会跟踪每个源 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