在 Amazon WAF 中创建保护包(web ACL) - Amazon WAF、Amazon Firewall Manager、Amazon Shield Advanced 和 Amazon Shield 网络安全分析器
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

介绍 Amazon WAF 的全新控制台体验

现在,您可以使用更新后的体验访问控制台中任意位置的 Amazon WAF 功能。有关更多详细信息,请参阅 使用更新的控制台体验

在 Amazon WAF 中创建保护包(web ACL)

Using the new console

本节介绍通过新 Amazon 控制台创建保护包(web ACL)的过程。

要创建新的保护包(web ACL),请按照本页上的步骤使用保护包(web ACL)创建向导。

生产流量风险

在保护包(web ACL)中为生产流量部署更改之前,请在暂存或测试环境中对其进行测试和调整,直到您对流量可能产生的影响感到满意。然后,在启用之前,在计数模式下使用生产流量对更新后的规则进行测试和调整。有关指南,请参阅测试和调整您的 Amazon WAF 保护

注意

在保护包(web ACL)中使用超过 1500 个 WCU 所产生的成本超出了基本保护包(web ACL)的价格。有关更多信息,请参阅 Amazon WAF 中的 Web ACL 容量单位(WCU)数Amazon WAF 定价

  1. 登录到新的 Amazon Web Services 管理控制台,然后打开 Amazon WAF 控制台,网址为:https://console.aws.amazon.com/wafv2-pro

  2. 在导航窗格中,选择资源和保护包(web ACL)

  3. 资源和保护包(web ACL)页面上,选择添加保护包(web ACL)

  4. 向我们介绍您的应用程序下,对于应用程序类别,选择一个或多个应用程序类别。

  5. 对于流量源,选择应用程序使用的流量类型:APIWebAPI 和 Web 兼具

  6. 要保护的资源下,选择添加资源

  7. 选择要与此保护包(web ACL)关联的 Amazon 资源类别,即 Amazon CloudFront 分配或区域资源。有关更多信息,请参阅 将保护与 Amazon 资源关联或取消关联

  8. 选择初始保护下,选择您的首选保护级别:推荐基本自行构建

  9. (可选)如果选择自行构建,请构建您的规则。

    1. (可选)如果要添加您自己的规则,请在添加规则页面上,选择自定义规则,然后选择下一步

      1. 选择规则类型。

      2. 对于操作,选择您希望规则在与 web 请求匹配时执行的操作。有关您的选择的信息,请参阅 在 Amazon WAF 中使用规则操作在 Amazon WAF 中将保护包(web ACL)与规则和规则组配合使用

        如果您使用的是 CAPTCHAChallenge 操作,请根据规则需要调整免疫时间配置。如果您未指定设置,则规则将从此保护包(web ACL)继承设置。要修改保护包(web ACL)免疫时间设置,请在创建保护包(web ACL)后对其进行编辑。有关免疫时间的更多信息,请参阅 在 Amazon WAF 中设置时间戳过期和令牌免疫时间

        注意

        当您在其中一个规则中使用 CAPTCHA 或 Challenge 规则操作或在规则组中将其作为规则操作覆盖时,您需要支付额外费用。有关更多信息,请参阅 Amazon WAF 定价

        如果您想自定义请求或响应,请选择相应选项并填写自定义的详细信息。有关更多信息,请参阅 Amazon WAF 中的自定义 web 请求和响应

        如果您想让您的规则为匹配的 web 请求添加标签,请选择相应选项并填写标签详细信息。有关更多信息,请参阅 Amazon WAF 中的 Web 请求标签

      3. 对于 名称,输入要用于标识此规则的名称。不要使用以 AWSShieldPreFMPostFM 开头的名称。这些字符串要么是保留字符串,要么可能与其他服务所管理的规则组混淆。

      4. 根据您的需求输入您的规则定义。您可以在逻辑 ANDOR 规则语句中组合规则。该向导将根据上下文指导您学习每个规则的选项。有关规则选项的信息,请参阅 Amazon WAF 规则

      5. 选择创建规则

        注意

        如果将多个规则添加到一个保护包(web ACL),Amazon WAF 按规则在保护包(web ACL)中的列出顺序来评估规则。有关更多信息,请参阅 在 Amazon WAF 中将保护包(web ACL)与规则和规则组配合使用

    2. (可选)如果要添加托管规则组,请在添加规则页面上,选择 Amazon 托管规则组Amazon Marketplace 规则组,然后选择下一步。对要添加的每个托管规则组执行以下操作:

      1. 添加规则页面上,展开 Amazon 托管规则组或 Amazon Web Services Marketplace 卖家的列表。

      2. 选择规则组的版本。

      3. 要自定义保护包(web ACL)使用规则组的方式,请选择编辑。以下是常见的自定义设置:

        • 通过在检查部分添加范围缩小语句,缩小规则组检查的 web 请求范围。有关此选项的更多信息,请参阅在 Amazon WAF 中使用范围缩小语句

        • 规则覆盖中,覆盖部分或全部规则的规则操作。如果您没有为规则定义覆盖操作,则评估将使用规则组中定义的规则操作。有关此选项的更多信息,请参阅在 Amazon WAF 中覆盖规则组操作

        • 某些托管规则组要求您提供其他配置。请参阅您的托管规则组提供程序所提供的文档。有关 Amazon 托管规则的规则组的具体信息,请参阅 适用于 Amazon WAF 的 Amazon 托管规则

      4. 选择下一步

    3. (可选)如果要添加您自己的规则组,请在添加规则页面上,选择自定义规则组,然后选择下一步。对要添加的每个规则组执行以下操作:

      1. 名称中,输入要用于此保护包(web ACL)中规则组规则的名称。不要使用以 AWSShieldPreFMPostFM 开头的名称。这些字符串要么是保留字符串,要么可能与其他服务所管理的规则组混淆。请参阅 识别其他服务提供的规则组

      2. 从列表中选择您的规则组。

      3. (可选)在规则配置下,选择规则覆盖。您可以将规则操作改写为任何有效的操作设置,这与托管规则组的操作相同。

      4. (可选)在添加标签下,选择添加标签,然后输入要添加到匹配规则的请求的任何标签。稍后在同一保护包(web ACL)中评估的规则可以引用此规则添加的标签。

      5. 选择创建规则

  10. 名称和描述下,为您的保护包(web ACL)输入名称。(可选)输入描述。

    注意

    保护包(web ACL)在创建之后无法更改名称。

  11. (可选)在自定义保护包(web ACL)下,配置默认规则操作、配置和日志记录目标:

    1. (可选)在默认规则操作下,选择保护包(web ACL)的默认操作。当保护包(web ACL)中的规则未明确采取这项操作时,Amazon WAF 会对请求采取这项操作。有关更多信息,请参阅 Amazon WAF 中的自定义 web 请求和响应

    2. (可选)在“规则配置”下,自定义保护包(web ACL)中规则的设置:

      • 默认速率限制:设置速率限制,以阻止可能影响可用性、危及安全性或消耗过多资源的阻断服务(DoS)攻击。此规则速率会阻止超过应用程序允许速率的每个 IP 地址的请求。有关更多信息,请参阅 在 Amazon WAF 中使用基于速率的规则语句

      • IP 地址:输入要阻止或允许的 IP 地址。此设置会覆盖其他规则。

      • 国家/地区特定来源:阻止特定国家/地区的请求或计数所有流量。

    3. 日志记录目标中,配置日志记录目标类型和存储日志的位置。有关更多信息,请参阅 Amazon WAF 日志记录目标

  12. 查看您的设置,并选择添加保护包(web AC)

Using the standard console

本节介绍了通过 Amazon 控制台创建 web ACL 的过程。

要创建新的 web ACL,请按照本页上的步骤使用 web ACL 创建向导。

生产流量风险

在 web ACL 中为生产流量部署更改之前,请在暂存或测试环境中对其进行测试和调整,直到您对流量可能产生的影响感到满意。然后,在启用之前,在计数模式下使用生产流量对更新后的规则进行测试和调整。有关指南,请参阅测试和调整您的 Amazon WAF 保护

注意

在保护包(web ACL)中使用超过 1500 个 WCU 所产生的成本超出了基本保护包(web ACL)的价格。有关更多信息,请参阅 Amazon WAF 中的 Web ACL 容量单位(WCU)数Amazon WAF 定价

创建 web ACL
  1. 登录到 Amazon Web Services 管理控制台,然后打开 Amazon WAF 控制台,网址为:https://console.aws.amazon.com/wafv2/homev2

  2. 请在导航窗格中选择 web ACL,然后选择创建 web ACL

  3. 对于 名称,输入要用于标识此 web ACL 的名称。

    注意

    web ACL 在创建之后无法更改名称。

  4. (可选)对于 描述 - 可选,如果需要,请输入 web ACL 的较长描述。

  5. 对于 CloudWatch 指标名称,更改默认名称(如果适用)。按照控制台上的指导进行有效字符操作。该名称不能包含为 Amazon WAF 保留的特殊字符、空格或指标名称,包括“All”和“Default_Action”。

    注意

    创建 web ACL 之后,无法更改 CloudWatch 指标名称。

  6. 资源类型下,选择要与此 web ACL 关联的 Amazon 资源类别,即 Amazon CloudFront 分配或区域资源。有关更多信息,请参阅 将保护与 Amazon 资源关联或取消关联

  7. 对于区域,如果您选择了区域资源类型,请选择您希望 Amazon WAF 存储 web ACL 的区域。

    您只需要为区域资源类型选择此选项。对于 CloudFront 分配,针对全局 (CloudFront) 应用程序,将该区域硬编码成了美国东部(弗吉尼亚州北部)区域 us-east-1

  8. (CloudFront、API Gateway、Amazon Cognito、App Runner 和 Verified Access)对于 Web 请求检查大小限制 - 可选,如果要指定不同的正文检查大小限制,请选择此限制。如果检查正文大小是否超过默认值 16 KB,可能会产生额外费用。有关此选项的更多信息,请参阅在 Amazon WAF 中管理正文检查的注意事项

  9. (可选)对于关联Amazon资源(可选),如果您想立即指定资源,请选择添加 Amazon 资源。在对话框中,选择要关联的资源,然后选择添加。Amazon WAF 返回到描述 web ACL 和关联的 Amazon 资源页面。

    注意

    当您选择将应用程序负载均衡器与 web ACL 关联时,将启用资源级 DDoS 保护。有关更多信息,请参阅 Amazon WAF 分布式阻断服务(DDoS)防护

  10. 选择下一步

  11. (可选)如果要添加托管规则组,请在 添加规则和规则组 页面上,选择 添加规则,然后选择 添加托管规则组。对要添加的每个托管规则组执行以下操作:

    1. 添加托管规则组 页面上,展开 Amazon 托管规则组或所选 Amazon Web Services Marketplace 卖家的列表。

    2. 对于要添加的规则组,在操作列中,打开添加到 web ACL切换选项。

      要自定义 web ACL 使用规则组的方式,请选择编辑。以下是常见的自定义设置:

      • 覆盖部分或全部规则的规则操作。如果您没有为规则定义覆盖操作,则评估将使用规则组中定义的规则操作。有关此选项的更多信息,请参阅在 Amazon WAF 中覆盖规则组操作

      • 通过添加范围缩小语句,缩小规则组检查的 web 请求的范围。有关此选项的更多信息,请参阅在 Amazon WAF 中使用范围缩小语句

      • 某些托管规则组要求您提供其他配置。请参阅您的托管规则组提供程序所提供的文档。有关 Amazon 托管规则的规则组的具体信息,请参阅 适用于 Amazon WAF 的 Amazon 托管规则

      完成设置后,选择保存规则

    选择 添加规则 以完成托管规则的添加,然后返回 添加规则和规则组 页面。

    注意

    如果将多个规则添加到一个 web ACL,Amazon WAF 按规则在 web ACL 中的列出顺序来评估规则。有关更多信息,请参阅 在 Amazon WAF 中将保护包(web ACL)与规则和规则组配合使用

  12. (可选)如果要添加您自己的托管规则组,请在 添加规则和规则组 页面上,选择 添加规则,然后选择 添加我自己的规则和规则组。对要添加的每个规则组执行以下操作:

    1. 添加我自己的规则和规则组 页面上,选择 规则组

    2. 名称中,输入要用于此 web ACL 中的规则组规则的名称。不要使用以 AWSShieldPreFMPostFM 开头的名称。这些字符串要么是保留字符串,要么可能与其他服务所管理的规则组混淆。请参阅 识别其他服务提供的规则组

    3. 从列表中选择您的规则组。

      注意

      如果您要覆盖自己的规则组的规则操作,请先将其保存到 web ACL 中,然后在 web ACL 的规则列表中编辑 web ACL 和规则组参考语句。您可以将规则操作改写为任何有效的操作设置,这与托管规则组的操作相同。

    4. 选择添加规则

  13. (可选)如果要添加您自己的规则,请在 添加规则和规则组 页面上,依次选择 添加规则添加我自己的规则和规则组规则生成器,然后选择 规则可视化编辑器

    注意

    控制台 规则可视化编辑器 支持一个嵌套级别。例如,您可以使用单个逻辑 ANDOR 语句,并在其中嵌套一个级别的其他语句,但不能在逻辑语句中嵌套逻辑语句。要管理更复杂的规则语句,请使用 规则 JSON 编辑器。有关规则的所有选项的信息,请参阅 Amazon WAF 规则

    此过程涵盖 规则可视化编辑器

    1. 对于 名称,输入要用于标识此规则的名称。不要使用以 AWSShieldPreFMPostFM 开头的名称。这些字符串要么是保留字符串,要么可能与其他服务所管理的规则组混淆。

    2. 根据您的需求输入您的规则定义。您可以在逻辑 ANDOR 规则语句中组合规则。该向导将根据上下文指导您学习每个规则的选项。有关规则选项的信息,请参阅 Amazon WAF 规则

    3. 对于操作,选择您希望规则在与 web 请求匹配时执行的操作。有关您的选择的信息,请参阅 在 Amazon WAF 中使用规则操作在 Amazon WAF 中将保护包(web ACL)与规则和规则组配合使用

      如果您使用的是 CAPTCHAChallenge 操作,请根据规则需要调整免疫时间配置。如果您未指定设置,则规则将从 web ACL 继承设置。要修改 web ACL 免疫时间设置,请在创建 web ACL 后对其进行编辑。有关免疫时间的更多信息,请参阅 在 Amazon WAF 中设置时间戳过期和令牌免疫时间

      注意

      当您在其中一个规则中使用 CAPTCHA 或 Challenge 规则操作或在规则组中将其作为规则操作覆盖时,您需要支付额外费用。有关更多信息,请参阅 Amazon WAF 定价

      如果您想自定义请求或响应,请选择相应选项并填写自定义的详细信息。有关更多信息,请参阅 Amazon WAF 中的自定义 web 请求和响应

      如果您想让您的规则为匹配的 web 请求添加标签,请选择相应选项并填写标签详细信息。有关更多信息,请参阅 Amazon WAF 中的 Web 请求标签

    4. 选择添加规则

  14. 选择 web ACL 的默认操作(Block 或 Allow)。当 web ACL 中的规则未明确允许或阻止请求时,Amazon WAF 会对请求采取这项操作。有关更多信息,请参阅 在 Amazon WAF 中设置保护包(web ACL)默认操作

    如果您想自定义默认操作,请选择相应选项并填写自定义的详细信息。有关更多信息,请参阅 Amazon WAF 中的自定义 web 请求和响应

  15. 您可以定义令牌域列表,以便在受保护的应用程序之间实现令牌共享。当您使用 Amazon WAF 欺诈控制账户创建欺诈预防(ACFP)、Amazon WAF 欺诈控制账户盗用防护(ATP)和 Amazon WAF 机器人控制功能的 Amazon 托管规则的规则组时,令牌由 CAPTCHA 和 Challenge 操作以及您实施的应用程序集成软件开发工具包使用。

    不允许使用公共后缀。例如,您不能使用 gov.auco.uk 作为令牌域。

    默认情况下,Amazon WAF 仅接受受保护资源的域的令牌。如果您在此列表中添加令牌域,则 Amazon WAF 接受列表中所有域和关联资源域的令牌。有关更多信息,请参阅 Amazon WAF 保护包(web ACL)令牌域列表配置

  16. 选择下一步

  17. 设置规则优先级页面中,选择规则和规则组,并将其它们移动到您希望 Amazon WAF 进行处理的顺序列表。Amazon WAF 会从列表顶部开始处理规则。保存 web ACL 时,Amazon WAF 会按照规则的列出顺序为规则分配数字优先级设置。有关更多信息,请参阅 设置规则优先级

  18. 选择下一步

  19. 配置指标页面中,查看选项并应用所需的任何更新。您可以通过提供相同的CloudWatch 指标名称 来组合多个来源的指标。

  20. 选择下一步

  21. 审核和创建 web ACL 页面中,检查您的定义。如果要更改任何区域,请为该区域选择 Edit (编辑)。这将使您返回到 web ACL 向导中的页面。进行任何更改,然后在后续页面中选择 下一步,直到您返回 审核和创建 web ACL 页面。

  22. 选择 创建 web ACL。新的 web ACL 将在 web ACL 页面中列出。