检查请求正文、标题和 Cookie - Amazon WAF、Amazon Firewall Manager 和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

检查请求正文、标题和 Cookie

Amazon WAF不支持检查正文、标头或 Cookie 请求组件的超大内容。底层主机服务对转发给Amazon WAF检查的内容有数量和大小限制。例如,主机服务发送的标头不超过 200 个,因此对于包含 205 个标头的 Web 请求,Amazon WAF无法检查最后 5 个标头。Amazon WAF当Amazon WAF允许 Web 请求继续访问您的受保护资源时,将发送整个 Web 请求,包括能够检查的超出数量和大小限制的任何Amazon WAF内容。

限制如下:

  • BodyJSON 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 中运行任何正文检查规则之前,阻止正文内容过大的请求。以下过程介绍如何添加此类型的规则。

添加阻止超大内容的规则
  1. 创建或编辑 Web ACL 时,在规则设置中,选择添加规则、添加我自己的规则和规则组、规则生成器,然后选择规则可视化编辑器。有关创建或编辑 Web ACL 的指导,请参阅使用 Web ACL

  2. 输入规则的名称,并将 “类型” 设置保留为 “常规”。

  3. 将以下匹配设置更改为默认设置:

    1. 声明中,对于 Inspec t,打开下拉列表并选择所需的 Web 请求组件,即正文标题Cookie

    2. 对于匹配类型,选择大于的尺寸

    3. 对于大小,键入一个至少为的数字8192

    4. 对于超大尺寸处理,请选择 “匹配”。

  4. 对于 “操作”,选择 “阻止”。

  5. 选择 Add rule

  6. 添加规则后,在 “设置规则优先级” 页面上,将其移至 Web ACL 中检查相同组件类型的任何规则或规则组之上。这为其设置了较低的数值优先级,这会Amazon WAF导致首先对其进行评估。有关更多信息,请参阅Web ACL 中规则和规则组的处理顺序