测试 Web ACL - Amazon WAF、Amazon Firewall Manager 和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

测试 Web ACL

为了确保您不会在无意中将 Amazon WAF 配置为阻止要允许的请求或允许要阻止的请求,建议您在网站或 Web 应用程序中开始使用 Web ACL 之前先对其进行全面测试。

对与 Web ACL 中的规则匹配的 Web 请求计数

在向 Web ACL 添加规则时,需指定您希望 Amazon WAF 对与该规则中所有条件匹配的 Web 请求进行允许、阻止还是计数。建议您首先进行以下配置:

  • 将 Web ACL 中的所有规则配置为对 Web 请求计数。有关如何为 Web ACL 中的规则组执行此操作的信息,请参阅将规则操作设置为在规则组中计数.

  • 将 Web ACL 的默认操作设置为允许请求。

在这种配置中,Amazon WAF会根据第一个规则中的匹配语句检查每个 Web 请求。如果 Web 请求匹配规则,Amazon WAF为该规则增加一个计数器。然后Amazon WAF将根据下一个规则中的匹配语句检查 Web 请求。如果 Web 请求与规则匹配,Amazon WAF增加规则的计数器。这将持续到Amazon WAF已根据所有规则中的匹配语句检查了请求。

在将 Web ACL 中的所有规则配置为对请求计数并将 Web ACL 与一个或多个Amazon资源(Amazon CloudFront 分配、Amazon API Gateway REST API、Application Load Balancer 或Amazon AppSyncGraphQL API),您可以在亚马逊云监视图中查看结果的计数。对于 Web ACL 中的每个规则以及关联资源转发给的所有请求。Amazon WAF对于 Web ACL,CloudWatch 可让您执行以下操作:

  • 查看前一个小时或前三个小时的数据

  • 更改数据点之间的间隔

  • 更改 CloudWatch 对数据执行的计算,如最大值、最小值、平均值或求和

注意

Amazon WAF是一个全局性服务和指标,仅当您选择美国东部(弗吉尼亚北部)中的区域Amazon Web Services Management Console. 如果您选择其他区域,则无法使用Amazon WAF指标将显示在 CloudWatch 控制台中。

查看 Web ACL 中规则的数据

  1. 登录到 Amazon Web Services Management Console 并通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中的指标中,选择AWS/WAFV2.

  3. 选中要查看其数据的 Web ACL 对应的复选框。

  4. 更改适用的设置:

    统计数据

    选择 CloudWatch 对数据执行的计算。

    时间范围

    选择您要查看前一个小时还是前三个小时的数据。

    周期

    选择图表中的数据点之间的间隔。

    Rule

    选择要查看其数据的规则。

    请注意以下几点:

    • 如果您最近将 Web ACL 与 Amazon 资源关联,您可能需要等待几分钟时间,数据才会显示在图表上,Web ACL 的指标才会显示在可用指标的列表中。

    • 如果您将多个资源与 Web ACL 关联,CloudWatch 数据将包含对所有资源的请求。

    • 您可以将鼠标光标悬停在数据点上方,以获取更多信息。

    • 该图表不会自动自行刷新。要更新显示,请选择刷新 ( Icon to refresh the CloudWatch graph ) 图标。

  5. (可选)查看关联的各个请求的详细信息Amazon资源已转发到Amazon WAF. 有关更多信息,请参阅查看 Web 请求示例

  6. 如果您确定规则正在截获您不想截获的请求,请更改相应设置。有关更多信息,请参阅管理和使用 Web 访问控制列表 (Web ACL)

    如果您对所有规则只截获正确的请求感到满意,则将每个规则的操作改为 AllowBlock。有关更多信息,请参阅编辑 Web ACL

查看 Web 请求示例

在 Amazon WAF 控制台中,如果启用了请求采样,则可以查看关联资源转发到 Amazon WAF 以供检查的请求的示例。对于每个示例请求,您可以查看关于该请求的详细数据,例如来源 IP 地址和请求中包含的标头。您还可以查看请求匹配哪个规则,以及该规则配置为允许还是阻止请求。

请求采样包含多达 100 个与每个规则中的所有条件都匹配的请求,还有用于默认操作的 100 个请求,该默认操作适用于未与任何规则中的所有条件匹配的请求。采样中的请求来自已在前 15 分钟内收到内容请求的所有受保护资源。

查看关联资源转发到 Amazon WAF 的 Web 请求的示例

  1. 登录到Amazon Web Services Management Console并打开Amazon WAF控制台https://console.aws.amazon.com/wafv2/.

  2. 在导航窗格中,选择 Web ACL

  3. 选择要查看其请求的 Web ACL。

  4. Overview (概述) 选项卡中,Sampled requests (采样请求) 表显示每个请求的以下值:

    源 IP

    该请求来自的 IP 地址或 (如果查看者使用 HTTP 代理或应用 Application Load Balancer 发送请求) 代理或应用程序负载均衡器的 IP 地址。

    URI

    URL 中标识资源的部分 (例如 /images/daily-ad.jpg)。

    Matches rule

    确定 Web ACL 中 Web 请求匹配其所有条件的第一个规则。如果 Web 请求与 Web ACL 中任何规则的所有条件均不匹配,则 Matches rule 的值为 Default

    请注意,当 Web 请求匹配一个规则中的所有条件并且该规则的操作是 Count (计数) 时,Amazon WAF 继续基于 Web ACL 中的后续规则检查该 Web 请求。在此情况下,一个 Web 请求会在采样的请求列表中出现两次;一次是出于具有 Count 操作的规则,一次是出于后续规则或默认操作。

    操作

    指示相应规则的操作是 AllowBlock 还是 Count

    Time

    时间Amazon WAF从 Amazon CloudFront、Amazon API Gateway、Application Load Balancer 或Amazon AppSync.

  5. 要显示有关请求的更多信息,请选择位于该请求的 IP 地址左侧的箭头。Amazon WAF 将显示以下信息:

    源 IP

    与表中 Source IP 列的值相同的 IP 地址。

    国家/地区

    请求来源国家/地区的双字母国家/地区代码。如果查看器使用 HTTP 代理或应用 Application Load Balancer到发送请求时,这是 HTTP 代理或 Application Load Balancer 所在国家/地区的双字母国家/地区代码。

    有关双字母国家/地区代码及其对应的国家/地区名称的列表,请参阅维基百科条目 ISO 3166-1 alpha-2

    方法

    请求的 HTTP 请求方法:GETHEADOPTIONSPUTPOSTPATCHDELETE

    URI

    与表中 URI 列的值相同的 URI。

    Request headers

    请求中的请求标头和标头值。

  6. 要刷新示例请求列表,请选择 Get new samples