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

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

测试和部署 ACFP

本节提供有关为您的网站配置和测试 Amazon WAF 欺诈控制账户创建防作弊 (ACFP) 实施的一般指导。您选择遵循的具体步骤将取决于您的需求、资源和收到的 Web 请求。

此信息是对 测试和调整您的 Amazon WAF 保护措施 中提供的有关测试和调整的一般信息的补充。

注意

Amazon 托管规则旨在保护您免受常见 Web 威胁的侵害。根据文档使用 Amazon 托管规则组时,可以为您的应用程序增加另一层安全保护。但是, Amazon 托管规则规则组并不是用来取代您的安全职责,后者由您选择的 Amazon 资源决定。请参阅分担责任模型,确保您的资源 Amazon 得到适当保护。

生产流量风险

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

Amazon WAF 提供了可用于验证 ACFP 配置的测试凭证。在以下步骤中,您将配置测试 Web ACL 以使用 ACFP 托管规则组,配置规则以捕获规则组添加的标签,然后使用这些测试凭证尝试创建账户。您可以通过查看账户创建尝试的 Amazon CloudWatch 指标来验证您的网络 ACL 是否正确管理了该尝试。

本指导适用于大致了解如何创建和管理 Amazon WAF Web ACL、规则和规则组的用户。这些主题将在本指南的前面章节中介绍。

配置和测试 Amazon WAF 欺诈控制账户创建防作弊 (ACFP) 实施方案

首先在测试环境中执行这些步骤,然后在生产环境中执行这些步骤。

  1. 在计数模式下 Amazon WAF 添加 Fraud Control 账户创建防作弊 (ACFP) 托管规则组
    注意

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

    将 Amazon 托管规则组AWSManagedRulesACFPRuleSet添加到新的或现有的 Web ACL 中,并对其进行配置,使其不会改变当前 Web ACL 的行为。有关此规则组的规则和标签的详细信息,请参阅 Amazon WAF 欺诈控制账户创建防作弊 (ACFP) 规则组

    • 添加托管规则组时,对其进行编辑并执行以下操作:

      • 规则组配置窗格中,提供您的应用程序的账户注册和创建页面的详细信息。ACFP 规则组使用此信息来监控登录活动。有关更多信息,请参阅 将 ACFP 托管规则组添加到您的 Web ACL

      • 规则窗格中,打开覆盖所有规则操作下拉列表并选择 Count。使用此配置, Amazon WAF 可以根据规则组中的所有规则评估请求,并仅计算结果的匹配项,同时仍将标签添加到请求中。有关更多信息,请参阅 覆盖规则组的规则操作

        通过此覆盖,您可以监控 ACFP 托管规则的潜在影响,以确定是否要添加例外,例如内部用例的例外。

    • 定位规则组,使其按照您在 Web ACL 中的现有规则进行评估,优先级设置在数值上要高于您已在使用的任何规则或规则组。有关更多信息,请参阅 Web ACL 中规则和规则组的处理顺序

      这样,您当前的流量处理就不会中断。例如,如果您有检测恶意流量的规则,例如 SQL 注入或跨站脚本,它们将继续检测并记录这些流量。或者,如果您的规则允许已知的非恶意流量,则它们可以继续允许该流量,而不必被 ACFP 托管规则组阻止。在测试和调整活动期间,您可能会决定调整处理顺序。

  2. 实施应用程序集成软件开发工具包

    将 Amazon WAF JavaScript SDK 集成到浏览器的账户注册和账户创建路径中。 Amazon WAF 还提供用于集成 iOS 和安卓设备的移动 SDK。有关集成软件开发工具包的更多信息,请参阅 Amazon WAF 客户端应用程序集成。有关此建议的信息,请参阅 为何要在 ACFP 中使用应用程序集成软件开发工具包

    注意

    如果您无法使用应用程序集成软件开发工具包,则可以通过在 Web ACL 中编辑 ACL 并删除您在 AllRequests 规则上设置的覆盖来测试 ACFP 规则组。这将启用规则的 Challenge 操作设置,以确保请求中包含有效的质询令牌。

    首先在测试环境中执行此操作,然后在生产环境中要格外小心。这种方法有可能阻止用户。例如,如果您的注册页面路径不接受 GET 文本/html 请求,则此规则配置可以有效地阻止注册页面上的所有请求。

  3. 为 Web ACL 启用日志记录和指标

    根据需要,为 Web ACL 配置日志、Amazon Security Lake 数据收集、请求采样和亚马逊 CloudWatch 指标。您可以使用这些可见性工具来监控 ACFP 托管规则组与您的流量的交互情况。

  4. 将 Web ACL 与资源关联

    如果 Web ACL 尚未与测试资源关联,请将其关联。有关信息,请参阅 将 Web ACL 与资源关联或取消关联 Amazon

  5. 监控流量和 ACFP 规则匹配情况

    确保您的正常流量畅通,并且 ACFP 托管规则组规则正在为匹配的 Web 请求添加标签。您可以在日志中看到标签,也可以在 Amazon 指标中查看 ACFP 和标签 CloudWatch 指标。在日志中,您在规则组中覆盖计数的规则会显示在 ruleGroupList 中,action 设置为计数,overriddenAction 表示您覆盖的已配置规则操作。

  6. 测试规则组的凭证检查功能

    尝试使用已泄露的凭证创建账户,并检查规则组是否按预期与这些凭证匹配。

    1. 访问受保护资源的账户注册页面,然后尝试添加新账户。使用以下 Amazon WAF 测试凭证对并输入任意考试

      • 用户:WAF_TEST_CREDENTIAL@wafexample.com

      • 密码:WAF_TEST_CREDENTIAL_PASSWORD

      这些测试凭证被归类为已泄露的凭证,ACFP 托管规则组会将 awswaf:managed:aws:acfp:signal:credential_compromised 标签添加到账户创建请求中,您可以在日志中看到该标签。

    2. 在您的 Web ACL 日志中,在测试账户创建请求的日志条目 labels 字段中查找 awswaf:managed:aws:acfp:signal:credential_compromised 标签。有关日志记录的信息,请参阅记录 Amazon WAF Web ACL 流量

    确认规则组按预期捕获被泄露的凭证后,您可以采取措施根据受保护资源的需要配置其实施。

  7. 对于 CloudFront 分配,请测试规则组对批量账户创建尝试的管理

    针对您为 ACFP 规则组配置的每个成功响应条件运行此测试。两次测试之间应至少等待 30 分钟。

    1. 对于您的每个成功条件,请确定在响应中符合成功条件的账户创建尝试。然后,在一次客户端会话中,不到 30 分钟内应至少成功完成 5 次账户创建尝试。用户通常只能在您的网站上创建一个账户。

      首次成功创建账户后,该 VolumetricSessionSuccessfulResponse 规则应开始与您的其余账户创建响应进行匹配,根据您的规则操作覆盖对其进行标记并进行计数。由于延迟,该规则可能会错过前一两个。

    2. 在您的 Web ACL 日志中,在测试账户创建 Web 请求的日志条目 labels 字段中查找 awswaf:managed:aws:acfp:aggregate:volumetric:session:successful_creation_response:high 标签。有关日志记录的信息,请参阅记录 Amazon WAF Web ACL 流量

    这些测试通过检查规则汇总的成功计数是否超过规则的阈值,来验证您的成功条件是否与您的响应相符。达到阈值后,如果您继续从同一会话发送账户创建请求,则该规则将继续匹配,直到成功率降至阈值以下。当超过阈值时,该规则会匹配来自会话地址的成功或失败的账户创建尝试。

  8. 自定义 ACFP Web 请求处理

    根据需要,添加明确允许或阻止请求的规则,以更改 ACFP 规则处理请求的方式。

    例如,您可以使用 ACFP 标签来允许或阻止请求或自定义请求处理。您可以在 ACFP 托管规则组之后添加标签匹配规则,以筛选要应用的处理的已标记请求。测试后,将相关的 ACFP 规则保持在计数模式,并在自定义规则中维护请求处理决策。有关示例,请参阅ACFP 示例:针对被泄漏凭证的自定义响应

  9. 移除您的测试规则并启用 ACFP 托管规则组设置

    根据您的情况,您可能决定将某些 ACFP 规则保留为计数模式。对于要按照规则组内的配置运行的规则,请在 Web ACL 规则组配置中禁用计数模式。完成测试后,您还可以移除测试标签匹配规则。

  10. 监控和调整

    为确保按照您的要求处理 Web 请求,请在启用您打算使用的 ACFP 功能后密切监控流量。根据需要调整行为,使用规则组上的规则计数覆盖和您自己的规则。

在您完成 ACFP 规则组实现的测试后,如果您尚未将 Amazon WAF JavaScript SDK 集成到浏览器的账户注册和账户创建页面,我们强烈建议您这样做。 Amazon WAF 还提供用于集成 iOS 和安卓设备的移动 SDK。有关集成软件开发工具包的更多信息,请参阅 Amazon WAF 客户端应用程序集成。有关此建议的信息,请参阅 为何要在 ACFP 中使用应用程序集成软件开发工具包