在 AWS WAF 中指定令牌域和域列表 - AWS WAF、AWS Firewall Manager、AWS Shield Advanced 和 AWS Shield 网络安全分析器

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

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

在 AWS WAF 中指定令牌域和域列表

本节介绍了如何配置 AWS WAF 在令牌中使用的域和在令牌中接受的域。

在 AWS WAF 为客户端创建令牌时,它会使用令牌域对其进行配置。在 AWS WAF 检查 web 请求中的令牌时,如果该令牌的域与任何被认为对保护包(web ACL)有效的域都不匹配,则会将该令牌视为无效因而拒绝。

默认情况下,AWS WAF 仅接受其域设置与保护包(web ACL)相关联资源的主机域完全匹配的令牌。这是 web 请求中 Host 标头的值。在浏览器中,您可以在 JavaScript window.location.hostname 属性和用户在地址栏中看到的地址中找到该域名。

您还可以在保护包(web ACL)配置中指定可接受的令牌域,如下一节所述。在这种情况下,AWS WAF 既接受与主机标头完全匹配的域,也接受与令牌域列表中的域匹配的域。

您可以为 AWS WAF 指定令牌域,以便在设置域和评估保护包(web ACL)中的令牌时使用。您指定的域名不能是公共后缀,例如 gov.au。对于您无法使用的域名,请参阅公共后缀列表下的列表 https://publicsuffix.org/list/public_suffix_list.dat

AWS WAF 保护包(web ACL)令牌域列表配置

您可以将保护包(web ACL)配置为在多个受保护资源之间共享令牌,方法是提供包含您希望 AWS WAF 接受的其他域的令牌域列表。具有令牌域列表时,AWS WAF 仍接受资源的主机域。此外,它接受令牌域列表中的所有域,包括其前缀子域。

例如,令牌域列表 example.com 中的域名规范与 example.com(来自 http://example.com/)、api.example.com(来自 http://api.example.com/)和 www.example.com(来自 http://www.example.com/)匹配。它与 example.api.com(来自 http://example.api.com/)或 apiexample.com(来自 http://apiexample.com/)不匹配。

创建或编辑令牌域列表时,可以在保护包(web ACL)中对其进行配置。有关管理保护包(web ACL)的一般信息,请参阅 在 AWS WAF 中查看 web 流量指标

AWS WAF 令牌域设置

AWS WAF 应质询脚本的请求创建令牌,这些脚本由应用程序集成软件开发工具包以及 Challenge 和 CAPTCHA 规则操作运行。

在令牌中 AWS WAF 设置的域名由请求令牌的质询脚本的类型以及您提供的任何其他令牌域配置决定。AWS WAF 将令牌中的域设置为它在配置中可以找到的最短、最通用的设置。

  • JavaScript 软件开发工具包 – 您可以使用令牌域规范配置 JavaScript 软件开发工具包,该规范可以包含一个或多个域。根据受保护的主机域和保护包(web ACL)的令牌域列表,您配置的域必须是 AWS WAF 可接受的域。

    当 AWS WAF 向客户端发出令牌时,它会将令牌域设置为与主机域匹配的令牌域,并且是主机域和您配置列表中的域中最短的令牌域。例如,如果主机域是 api.example.com,而令牌域列表有 example.com,则 AWS WAF 在令牌中使用 example.com,因为它与主机域匹配并且更短。如果您未在 JavaScript API 配置中提供令牌域列表,则 AWS WAF 将该域名设置为受保护资源的主机域。

    有关更多信息,请参阅 提供用于令牌的域名

  • 移动软件开发工具包 – 在应用程序代码中,必须使用令牌域属性配置移动软件开发工具包。根据受保护的主机域和保护包(web ACL)的令牌域列表,此属性必须是 AWS WAF 可接受的域。

    当 AWS WAF 为客户端发放令牌时,它会使用此属性作为令牌域。AWS WAF 在为移动软件开发工具包客户端发放的令牌中不使用主机域。

    有关更多信息,请参阅 AWS WAF 移动软件开发工具包规范WAFConfiguration domainName 设置。

  • Challenge 操作:如果您在保护包(web ACL)中指定令牌域列表,则 AWS WAF 将令牌域设置为与主机域匹配且最短的令牌域,即主机域和列表的域中最短的令牌域。例如,如果主机域是 api.example.com,而令牌域列表有 example.com,则 AWS WAF 在令牌中使用 example.com,因为它与主机域匹配并且更短。如果您未在保护包(web ACL)中提供令牌域列表,则 AWS WAF 将该域设置为受保护资源的主机域。