本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中处理超大的 Web 请求组件 Amazon WAF
Amazon WAF不支持检查 Web 请求组件正文、标头或 Cookie 的超大内容。底层主机服务对转发给Amazon WAF检查的内容有数量和大小限制。例如,主机服务向发送的标头不超过 200 个Amazon WAF,因此对于包含 205 个标头的 Web 请求,Amazon WAF无法检查最后 5 个标头。
当Amazon WAF允许 Web 请求继续访问您的受保护资源时,将发送整个 Web 请求,包括任何超出可以检查的数量和大小限制的内容。Amazon WAF
组件检查尺寸限制
组件检查尺寸限制如下:
-
Body
并且JSON Body
— 对于区域 Web ACL,Amazon WAF可以检查请求正文的前 8 KB。对于 CloudFront Web ACL,默认情况下,Amazon WAF可以检查前 16 KB,您可以在 Web ACL 配置中将此限制增加到 32 KB、48 KB 或 64 KB。有关更改限制的信息,请参阅 CloudFront Web ACL 的身体检查大小限制。 -
Headers
— 最多Amazon WAF可以检查请求标头的前 8 KB(8,192 字节),最多可以检查前 200 个标头。在达到第一个限制之前Amazon WAF,内容可供检查。 -
Cookies
— 最多Amazon WAF可以检查请求的 cookie 的前 8 KB(8,192 字节),最多可以检查前 200 个 cookie。在达到第一个限制之前Amazon WAF,内容可供检查。
规则语句的处理选项过大
在编写检查其中一种请求组件类型的规则语句时,您可以指定如何处理超大组件。超大处理Amazon WAF告诉当规则检查的请求组件超过大小限制时,如何处理 Web 请求。
处理超大组件的选项如下:
-
Continue— 根据规则检查标准通常检查请求组件。 Amazon WAF将检查大小限制范围内的请求组件内容。
-
Match— 将 Web 请求视为与规则语句相匹配。 Amazon WAF将规则操作应用于请求,而不根据规则的检查标准对其进行评估。
-
No match— 如果不根据规则的检查标准对其进行评估,则将 Web 请求视为与规则声明不匹配。 Amazon WAF继续使用 Web ACL 中的其余规则检查 Web 请求,就像对待任何不匹配的规则一样。
在Amazon WAF控制台中,你需要选择其中一个处理选项。在控制台之外,默认选项为Continue。
如果您在操作设置为的规则中使用该Match选项Block,则该规则将阻止被检查组件过大的请求。对于任何其他配置,请求的最终处置取决于各种因素,例如 Web ACL 中其他规则的配置以及 Web ACL 的默认操作设置。
在您不拥有的规则组中处理过大
组件大小和数量限制适用于您在 Web ACL 中使用的所有规则。这包括您在托管规则组以及其他账户与您共享的规则组中使用但未管理的任何规则。
当您使用不管理的规则组时,该规则组可能有一条规则可以检查有限的请求组件,但不会按照您需要的方式处理超大内容。有关Amazon托管规则如何管理超大尺寸组件的信息,请参阅Amazon托管规则规则组列表。有关其他规则组的信息,请咨询您的规则组提供商。
管理 Web ACL 中超大组件的指导原则
处理 Web ACL 中超大组件的方式可能取决于多种因素,例如请求组件内容的预期大小、Web ACL 的默认请求处理以及 Web ACL 中的其他规则如何匹配和处理请求。
管理超大 Web 请求组件的一般准则如下:
-
如果您需要允许某些包含超大组件内容的请求,请添加规则以明确仅允许这些请求。确定这些规则的优先级,使其在 Web ACL 中检查相同组件类型的任何其他规则之前运行。使用这种方法,您将无法使用Amazon WAF来检查允许传递给受保护资源的超大组件的全部内容。
-
对于所有其他请求,您可以通过阻止超过限制的请求来防止任何额外的字节通过:
-
您的规则和规则组-在检查有大小限制的组件的规则中,配置超大处理方式,以便阻止超过限制的请求。例如,如果您的规则阻止具有特定标头内容的请求,请将超大处理设置为与标头内容过大的请求相匹配。或者,如果您的 Web ACL 默认会阻止请求,并且您的规则允许特定的标头内容,则将规则的超大处理配置为不匹配任何标头内容过大的请求。
-
您不管理的规则组-为了防止您不管理的规则组允许超大请求组件,您可以添加一个单独的规则来检查请求组件类型并阻止超出限制的请求。在 Web ACL 中设置规则的优先级,使其在规则组之前运行。例如,在任何身体检查规则在 Web ACL 中运行之前,您可以阻止正文内容过大的请求。以下过程描述了如何添加此类规则。
-
添加屏蔽超大内容的规则
-
创建或编辑 Web ACL 时,在规则设置中,选择添加规则、添加我自己的规则和规则组、规则生成器,然后选择规则可视化编辑器。有关创建或编辑 Web ACL 的指导,请参阅使用 Web ACL。
-
输入规则的名称,然后将 “类型” 设置保留为 “常规规则”。
-
将以下匹配设置更改为其默认设置:
-
在 St at ement 中,对于 Inspect,打开下拉列表并选择所需的网络请求组件,即正文、标题或 Cookie。
-
对于 “匹配类型”,选择 “大小大于”。
-
在 “大小” 中,键入一个至少等于该组件类型的最小大小的数字。对于区域 Web ACL 中的正文以及标题和 Cookie,请键入
8192
。对于 Web ACL 中保护 CloudFront 发行版的主体,如果您使用的是默认的主体大小限制,请键入16384
。否则,请键入您为 CloudFront Web ACL 定义的正文大小限制。 -
要处理超大尺寸,请选择匹配。
-
-
在 “操作” 中,选择 “阻止”。
-
选择 Add rule。
-
添加规则后,在 “设置规则优先级” 页面上,将其移至 Web ACL 中检查相同组件类型的所有规则或规则组上方。这使它具有较低的数字优先级设置,因此Amazon WAF需要先对其进行评估。有关更多信息,请参阅Web ACL 中规则和规则组的处理顺序: