本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
检查请求正文、标头和 Cookie
Amazon WAF不支持检查正文、标头或 Cookie 请求组件的大量内容。底层主机服务对转发到的内容有数量和大小限制Amazon WAF供检查。例如,宿主服务发送的标头不超过 200 个Amazon WAF,所以对于一个包含 205 个标头的 Web 请求,Amazon WAF无法检查最后 5 个标头。当Amazon WAF允许 Web 请求继续访问您的受保护资源,将发送整个 Web 请求,包括超出数量和大小限制的任何内容Amazon WAF能够检查。
限制如下:
-
Body和JSON Body— 您可以检查请求正文的前 8 KB(8,192 字节)。 -
Headers— 您最多可以检查请求标头的前 8 KB(8,192 字节),最多可以检查前 200 个标头。内容可通过以下方式进行检查Amazon WAF直至达到第一个限制。 -
Cookies— 您最多可以检查请求 cookie 的前 8 KB(8,192 字节),最多可以检查前 200 个 cookie。内容可通过以下方式进行检查Amazon WAF直至达到第一个限制。
当您添加或更新检查任何受限请求组件的规则时,应在组件规范中指定超大内容处理。有关信息,请参阅请求组件的处理量过大。
当您使用托管规则组或其他账户与您共享的规则组时,该规则组可能有一条检查有限请求组件的规则,但该规则无法按照您需要的方式处理过大的内容。有关的信息Amazon托管式规则,请参阅Amazon托管规则规则组列表. 有关其他规则组的信息,请咨询您的规则组提供商。
处理 Web ACL 中超大组件的方式可能取决于多种因素,例如请求组件内容的预期大小、Web ACL 的默认请求处理以及 Web ACL 中的其他规则如何匹配和处理请求。
以下是管理超大 Web 请求组件的一般准则:
-
如果您需要允许某些包含过大组件内容的请求,请尽可能添加规则,明确只允许这些请求。确定这些规则的优先级,以便它们在 Web ACL 中检查相同组件类型的任何其他规则之前运行。使用此方法,您将无法使用Amazon WAF检查您允许传递到受保护资源的超大组件的全部内容。
-
对于所有其他请求,您可以通过阻止超过限制的请求来防止任何额外字节通过:
-
您的规则和规则组— 在检查大小受限组件的规则中,配置超大处理,以便阻止超过限制的请求。例如,如果您的规则屏蔽了具有特定标头内容的请求,则可以将超大处理设置为与标头内容过大的任何请求相匹配。再举一个例子,如果您的 Web ACL 默认阻止请求,而您的规则允许特定的标头内容,则您可以配置规则的过大处理,使其与任何具有过大标头内容的请求不匹配。有关处理选项的信息,请参阅请求组件的处理量过大.
-
您不管理的规则组— 为了防止不在您管理范围内的规则组允许使用过大的请求组件,您可以添加一条单独的规则来检查请求组件类型并阻止超过限制的请求。确定您的 Web ACL 中规则的优先级,使其在规则组之前运行。例如,您可以在 Web ACL 中运行任何身体检查规则之前,阻止正文内容过大的请求。以下过程将介绍如何添加此类规则。
-
添加屏蔽超大内容的规则
-
创建或编辑 Web ACL 时,请在规则设置中选择添加规则,添加我自己的规则和规则组,规则生成器,那么规则可视化编辑器. 有关创建或编辑 Web ACL 的指导,请参阅使用 Web ACL.
-
输入规则的名称,然后保留类型设置时间常规规则.
-
将以下匹配设置更改为其默认值:
-
开启Statement,对于检查,打开下拉列表并选择您需要的 Web 请求组件Body,标头,或Cookies.
-
对于比赛类型,选择大小大于.
-
对于Size,键入一个至少为
8192. -
对于超大处理,SELECTMatch.
-
-
对于操作,SELECTBlock(阻止).
-
选择 Add rule。
-
添加规则后,在设置规则优先级页面,将其移至您的 Web ACL 中检查相同组件类型的任何规则或规则组之上。这会为其设置较低的数字优先级,这会导致Amazon WAF先对其进行评估。有关更多信息,请参阅 Web ACL 中规则和规则组的处理顺序。