将 ATP 托管规则组添加到您的 Web ACL - AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced

将 ATP 托管规则组添加到您的 Web ACL

本节介绍了如何添加和配置 AWSManagedRulesATPRuleSet 规则组。

要配置 ATP 托管规则组以识别网络流量中的账户盗用活动,您需要提供有关客户端如何向您的应用程序发送登录请求的信息。对于受保护的 Amazon CloudFront 分配,您还需要提供有关您的应用程序如何响应登录请求的信息。此配置是对托管规则组的常规配置的补充。

有关规则组的描述和规则列表,请参阅 AWS WAF 欺诈控制账户盗用防护(ATP)规则组

注意

ATP 被盗凭证数据库仅包含电子邮件格式的用户名。

本指导适用于大致了解如何创建和管理 AWS WAF Web ACL、规则和规则组的用户。这些主题将在本指南的前面章节中介绍。有关如何将托管规则组添加到 Web ACL 的基本信息,请参阅 通过控制台向 Web ACL 添加托管规则组

遵循最佳实践

按照 AWS WAF 中的智能威胁缓解最佳实践 中的最佳实践使用 ATP 规则组。

在 Web ACL 中使用 AWSManagedRulesATPRuleSet 规则组
  1. 将 AWS 托管规则组 AWSManagedRulesATPRuleSet 添加到您的 Web ACL 中,然后在保存之前编辑规则组设置。

    注意

    使用此托管规则组时,您需要额外付费。有关更多信息,请参阅AWS WAF 定价

  2. 规则组配置窗格中,提供 ATP 规则组用于检查登录请求的信息。

    1. 对于在路径中使用正则表达式,如果您希望 AWS WAF 为登录页面路径规范执行正则表达式匹配,请将其选中。

      AWS WAF 支持 PCRE 库 libpcre 使用的模式语法,但有一些例外情况。该库记录在 PCRE - 与 Perl 兼容的正则表达式中。有关 AWS WAF支持的信息,请参阅AWS WAF 中支持的正则表达式语法

    2. 对于登录路径,提供应用程序登录端点的路径。规则组仅检查发往您指定的登录端点的 HTTP POST 请求。

      注意

      端点的匹配不区分大小写。正则表达式规范不得包含标志 (?-i),该标志会禁用不区分大小写的匹配。字符串规范必须以正斜杠 / 开头。

      例如,对于 URL https://example.com/web/login,您可以提供字符串路径规范 /web/login。以您提供的路径开头的登录路径被视为匹配路径。例如,/web/login 匹配登录路径 /web/login/web/login//web/loginPage/web/login/thisPage,但与登录路径 /home/web/login/website/login 不匹配。

    3. 对于请求检查,请通过提供请求负载类型以及请求正文中提供用户名和密码的字段的名称来指定您的应用程序如何接受登录尝试。字段名称的指定取决于有效载荷类型。

      • JSON 负载类型 – 使用 JSON 指针语法指定字段名称。有关 JSON 指针语法的信息,请参阅互联网工程任务组(IETF)文档 JavaScript 对象表示法(JSON)指针

        例如,对于以下示例 JSON 负载,用户名字段规范为 /login/username,密码字段规范为 /login/password

        { "login": { "username": "THE_USERNAME", "password": "THE_PASSWORD" } }
      • FORM_ENCODED 有效负载类型 – 使用 HTML 表单名称。

        例如,对于输入元素名为 username1password1 的 HTML 表单,用户名字段规范为 username1,密码字段规范为 password1

    4. 如果您要保护 Amazon CloudFront 分配,请在响应检查下方,指定您的应用程序在响应登录尝试时如何指示成功或失败。

      注意

      ATP 响应检查仅在保护 CloudFront 分配的 Web ACL 中可用。

      在登录响应中指定您希望 ATP 检查的单个组件。对于正文JSON 组件类型,AWS WAF 可以检查组件的前 65,536 字节 (64 KB)。

      如界面所示,提供组件类型的检查条件。您必须提供成功和失败条件以供在组件中进行检查。

      例如,假设您的应用程序在响应的状态码中指示登录尝试的状态,并使用 200 OK 指示成功,使用 401 Unauthorized403 Forbidden 指示失败。您可以将响应检查组件类型设置为状态码,然后在成功文本框中输入 200 并在失败文本框的第一行输入 401,在第二行输入 403

      ATP 规则组仅计算符合您的成功或失败检查条件的响应。当客户端在计算的响应中失败率太高时,规则组规则会对客户端采取行动。为了确保规则组规则的行为准确,请务必提供成功和失败的登录尝试的完整信息。

      要查看检查登录响应的规则,请在 AWS WAF 欺诈控制账户盗用防护(ATP)规则组 中的规则列表中查找 VolumetricIpFailedLoginResponseHighVolumetricSessionFailedLoginResponseHigh

  3. 为规则组提供所需的任何其他配置。

    您可以通过在托管规则组语句中添加范围缩小语句来进一步限制规则组检查的请求范围。例如,您只能检查带有特定查询参数或 Cookie 的请求。规则组将仅检查发往您指定的登录端点的、与您的范围缩小语句中的条件相匹配的 HTTP POST 请求。有关范围缩小语句的信息,请参阅 在 AWS WAF 中使用范围缩小语句

  4. 保存对 Web ACL 的更改。

在为生产流量部署 ATP 实施之前,请在暂存或测试环境中对其进行测试和调整,直到您能够适应对流量的潜在影响。然后,在启用之前,在计数模式下使用生产流量对规则进行测试和调整。有关指导,请参阅以下部分。