使用智能威胁 JavaScript API - AWS WAF, AWS Firewall Manager,以及 AWS Shield Advanced

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

使用智能威胁 JavaScript API

本节提供在客户端应用程序 JavaScript API中使用智能威胁的说明。

智能威胁APIs提供了针对用户的浏览器运行静默挑战的操作,以及用于处理用户的浏览器的操作 AWS WAF 提供成功挑战和CAPTCHA回应证明的代币。

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

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

    如果您使用 CAPTCHAAPI,则可以跳过此步骤。安装时 CAPTCHAAPI,脚本会自动安装智能威胁APIs。

    1. 登录 AWS Management Console 然后打开 AWS WAF 控制台位于https://console.aws.amazon.com/wafv2/

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

    3. 选择智能威胁集成

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

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

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

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

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

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

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

  4. 在您的网页中添加令牌验证 ACL-在您的网页上添加至少一条规则ACL,用于检查客户端发送的网络请求中是否存在有效的质询令牌。您可以使用规则组来检查和监控挑战令牌,例如 Bot Control 托管规则组的目标级别,也可以使用 Challenge 要检查的规则操作,如中所述使用 CAPTCHA 以及 Challenge in AWS WAF

    Web ACL 新增内容可验证对受保护终端节点的请求是否包含您在客户端集成中获取的令牌。包含有效、未过期令牌的请求会通过 Challenge 检查,不要再向你的客户发送一个无声的质疑。

  5. (可选)屏蔽缺少令牌的请求 — 如果您将APIs与ACFP托管规则组、托ATP管规则组或 Bot Control 规则组的目标规则一起使用,则这些规则不会阻止缺少令牌的请求。要阻止缺少令牌的请求,请按照 屏蔽无效的请求 AWS WAF 令牌 中的指导进行操作。