本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
检查请求正文、标题和 Cookie
Amazon WAF不支持检查正文、标头或 Cookie 请求组件的超大内容。底层主机服务对转发给Amazon WAF检查的内容有数量和大小限制。例如,主机服务发送的标头不超过 200 个,因此对于包含 205 个标头的 Web 请求,Amazon WAF无法检查最后 5 个标头。Amazon WAF当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。
-
输入规则的名称,并将 “类型” 设置保留为 “常规”。
-
将以下匹配设置更改为默认设置:
-
在声明中,对于 Inspec t,打开下拉列表并选择所需的 Web 请求组件,即正文、标题或 Cookie。
-
对于匹配类型,选择大于的尺寸。
-
对于大小,键入一个至少为的数字
8192。 -
对于超大尺寸处理,请选择 “匹配”。
-
-
对于 “操作”,选择 “阻止”。
-
选择 Add rule。
-
添加规则后,在 “设置规则优先级” 页面上,将其移至 Web ACL 中检查相同组件类型的任何规则或规则组之上。这为其设置了较低的数值优先级,这会Amazon WAF导致首先对其进行评估。有关更多信息,请参阅Web ACL 中规则和规则组的处理顺序: