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

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

使用智能威胁 JavaScript API

智能威胁 API 提供了针对用户的浏览器运行静默挑战的操作,以及处理提供成功挑战和验证码响应证明的 Amazon WAF 令牌的操作。

首先在测试环境中实施 JavaScript 集成,然后在生产环境中实现集成。有关其他编码指导,请参阅以下各节。

使用智能威胁 API
  1. 安装 API

    如果您使用验证码 API,可以跳过此步骤。当您安装验证码 API时,脚本会自动安装智能威胁 API。

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

    2. 在导航窗格中,选择 应用程序集成。在应用程序集成页面上,您可以看到选项卡式选项。

    3. 选择智能威胁集成

    4. 在该选项卡中,选择要与之集成的Web ACL。Web ACL 列表仅包括使用 AWSManagedRulesACFPRuleSet 托管规则组、AWSManagedRulesATPRuleSet 托管规则组或 AWSManagedRulesBotControlRuleSet 托管规则组的目标保护级别的 Web ACL。

    5. 打开 S JavaScript DK 窗格,复制脚本标签以便在集成中使用。

    6. 在应用程序页面代码的 <head> 部分中,插入您为 Web ACL 复制的脚本标记。此包含会使您的客户端应用程序在页面加载时自动在后台检索令牌。

      <head> <script type="text/javascript" src="Web ACL integration URL/challenge.js” defer></script> <head>

      <script> 列表使用 defer 属性进行配置,但如果您想让页面有不同的行为,则可以将设置更改为 async

  2. (可选)为客户端的令牌添加域配置-默认情况下,在 Amazon WAF 创建令牌时,它使用与 Web ACL 关联的资源的主机域。要为 JavaScript API 提供其他域名,请按照中的指南进行操作提供用于令牌的域名

  3. 对智能威胁集成进行编码 – 编写代码以确保在客户端向受保护的端点发送请求之前完成令牌检索。如果您已经在使用 fetch API 进行调用,则可以替换 Amazon WAF 集成 fetch 封装器。如果您不使用 fetch API,则可以改用 Amazon WAF 集成getToken操作。有关编码指导,请参阅以下部分。

  4. 在您的 Web ACL 中添加令牌验证 – 在您的 Web ACL 中添加至少一条规则,用于检查您的客户端发送的 Web 请求中是否存在有效的质询令牌。您可以使用规则组来检查和监控质询令牌,例如机器人控制功能托管规则组的目标级别,也可以使用 Challenge 规则操作进行检查,如 CAPTCHA然后Challenge在 Amazon WAF 中所述。

    新增的 Web ACL 可验证对受保护端点的请求是否包含您在客户端集成中获取的令牌。包含有效、未过期令牌的请求将通过 Challenge 检查,并且不会向您的客户发送另一个静默质询。

  5. (可选)阻止缺少令牌的请求 – 如果您将 API 与 ACFP 托管规则组、ATP 托管规则组或机器人控制功能规则组的目标规则一起使用,则这些规则不会阻止缺少令牌的请求。要阻止缺少令牌的请求,请按照 阻止没有有效令牌的请求 中的指导进行操作。