介绍 Amazon WAF 的全新控制台体验
现在,您可以使用更新后的体验访问控制台中任意位置的 Amazon WAF 功能。有关更多详细信息,请参阅 使用更新的控制台体验。
Amazon WAF 机器人控制功能规则组
本节介绍了机器人控制功能托管规则组的用途。
供应商名称:AWS,名称:,WCU:50AWSManagedRulesBotControlRuleSet
注意
本文档包含此托管规则组的最新静态版本。我们在 Amazon 托管规则变更日志 的更改日志中报告版本变更。有关其他版本的信息,请使用 API 命令 DescribeManagedRuleGroup。
对于 Amazon 托管规则组中的规则,我们所发布的信息旨在为您提供使用规则所需的内容,同时避免恶意行为者由此得知规避规则的信息。
如果您需要为机器人控制功能请求新的机器人分类或需要此处未涵盖的其他信息,请联系 Amazon Web Services 支持 中心
机器人控制功能托管规则组提供管理来自机器人的请求的规则。机器人可能会消耗过多的资源,歪曲业务指标,导致停机以及执行恶意活动。
保护级别
机器人控制功能托管规则组提供两种保护级别供您选择:
-
常见 – 检测各种自我识别的机器人,例如 Web 抓取框架、搜索引擎和自动浏览器。此级别的机器人控制功能保护使用传统的机器人检测技术(例如静态请求数据分析)来识别常见的机器人。这些规则会标记来自这些机器人的流量,并阻止他们无法验证的流量。
-
定向:包括通用级保护,并针对无法自我识别的复杂机器人添加定向检测。目标保护结合了速率限制和验证码以及后台浏览器质询,缓解了机器人活动。
TGT_:提供目标保护的规则的名称以TGT_开头。所有目标保护都使用浏览器查询、指纹识别和行为启发式等检测技术来识别恶意机器人流量。TGT_ML_:使用机器学习的目标保护规则的名称以TGT_ML_开头。这些规则对网站流量统计数据进行自动机器学习分析,以检测显示分布式、协调的机器人活动的异常行为。Amazon WAF 分析有关您的网站流量的统计信息,例如时间戳、浏览器特征和之前访问的 URL,以改进机器人控制功能机器学习模型。默认情况下,机器学习功能处于启用状态,但您可以在规则组配置中将其禁用。禁用机器学习时,Amazon WAF 不评估这些规则。
目标保护级别和 Amazon WAF 基于速率的规则语句均提供速率限制。有关两个选项的对比,请参阅 基于速率的规则和定向机器人控制功能规则中的速率限制选项。
使用此规则组的注意事项
此规则组是 Amazon WAF 中智能威胁缓解保护的一部分。有关信息,请参阅 Amazon WAF 中的智能威胁缓解。
注意
使用此托管规则组时,您需要额外付费。有关更多信息,请参阅 Amazon WAF 定价
为了降低成本并确保您可以根据需要管理 Web 流量,请按照 Amazon WAF 中的智能威胁缓解最佳实践 中的指导使用此规则组。
我们定期更新基于机器学习的目标保护级规则的机器学习(ML)模型,从而改进机器人预测。基于机器学习的规则采用以 TGT_ML_ 开头的名称。如果发现这些规则进行的机器人预测突然发生重大变化,请通过您的客户经理联系我们,或在 Amazon Web Services 支持 Center
此规则组添加的标签
此托管规则组会为其评估的 web 请求添加标签,这些标签可供保护包(web ACL)中在此规则组之后运行的规则使用。Amazon WAF 还记录与 Amazon CloudWatch 指标相关的标签。有关标签和标签指标的一般信息,请参阅 Web 请求标签 和 标签指标和维度。
令牌标签
此规则组使用 Amazon WAF 令牌管理根据 Amazon WAF 令牌的状态检查和标记 Web 请求。Amazon WAF 使用令牌进行客户端会话跟踪和验证。
有关令牌和令牌管理的信息,请参阅 令牌在 Amazon WAF 智能威胁缓解中的使用。
有关此处描述的标签组件的信息,请参阅 Amazon WAF 中的标签语法和命名要求。
客户端会话标签
标签 awswaf:managed:token:id: 包含 Amazon WAF 令牌管理用于识别客户端会话的唯一标识符。如果客户端获取了新令牌,例如在丢弃其正在使用的令牌之后,标识符可能会更改。identifier
注意
Amazon WAF 不报告此标签的 Amazon CloudWatch 指标。
浏览器指纹标签
标签 awswaf:managed:token:fingerprint: 包含强大的浏览器指纹标识符,Amazon WAF 令牌管理可根据各种客户端浏览器信号计算该标识符。多次尝试获取令牌时,此标识符保持不变。指纹标识符并非仅属于单个客户端。fingerprint-identifier
注意
Amazon WAF 不报告此标签的 Amazon CloudWatch 指标。
令牌状态标签:标签命名空间前缀
令牌状态标签报告令牌的状态、质询以及其中包含的 CAPTCHA 信息。
每个令牌状态标签都以下列命名空间前缀之一开头:
awswaf:managed:token::用于报告令牌的一般状态以及令牌的质询信息的状态。awswaf:managed:captcha::用于报告令牌的 CAPTCHA 信息的状态。
令牌状态标签:标签名称
在前缀之后,标签的其余部分提供详细的令牌状态信息:
accepted:请求令牌存在且包含以下内容:有效的质询或 CAPTCHA 解决方案。
未过期的质询或 CAPTCHA 时间戳。
对保护包(web ACL)有效的域规范。
示例:标签
awswaf:managed:token:accepted表明 Web 请求的令牌具有有效的质询解决方案、未过期的质询时间戳以及有效的域。-
rejected:请求令牌存在但不符合接受标准。除了被拒绝的标签外,令牌管理还添加了一个自定义标签命名空间和名称来指示原因。
rejected:not_solved:令牌缺少质询或 CAPTCHA 解决方案。rejected:expired:根据保护包(web ACL)配置的令牌免疫时间,令牌的质询或 CAPTCHA 时间戳已过期。rejected:domain_mismatch:令牌的域与保护包(web ACL)的令牌域配置不匹配。rejected:invalid:Amazon WAF 无法读取指示的令牌。
示例:标签
awswaf:managed:captcha:rejected和awswaf:managed:captcha:rejected:expired共同表示请求未提供有效的 CAPTCHA 解决方案,因为令牌中的 CAPTCHA 时间戳已超过保护包(web ACL)中配置的 CAPTCHA 令牌免疫时间。 -
absent:请求没有令牌,或者令牌管理器无法读取它。示例:标签
awswaf:managed:captcha:absent表示请求没有令牌。
机器人控制功能标签
机器人控制功能托管规则组生成带有命名空间前缀的标签,awswaf:managed:aws:bot-control:后面是自定义命名空间和标签名称。规则组可能会向一个请求添加多个标签。
每个标签都反映了机器人控制功能规则的调查发现:
-
awswaf:managed:aws:bot-control:bot::有关与请求关联的机器人的信息。-
awswaf:managed:aws:bot-control:bot:name::机器人名称(如有),如自定义命名空间<name>bot:name:slurp、bot:name:googlebot和bot:name:pocket_parser。 -
awswaf:managed:aws:bot-control:bot:category::机器人的类别,如 Amazon WAF 所定义的,例如<category>bot:category:search_engine和bot:category:content_fetcher。 -
awswaf:managed:aws:bot-control:bot:organization::机器人的发布者,如<organization>bot:organization:google。 -
awswaf:managed:aws:bot-control:bot:verified:用于表示可以识别自己并且机器人控制功能已经能够验证的机器人。这用于常见的理想机器人,与类别标签(例如bot:category:search_engine或bot:name:googlebot等名称标签)结合使用时可能很有效。注意
机器人控制功能使用来自 Web 请求源的 IP 地址来帮助确定机器人是否经过验证。您无法将其配置为使用 Amazon WAF 转发的 IP 配置来检查其他 IP 地址源。如果您已验证通过代理或负载均衡器进行路由的机器人,则可以添加一条在机器人控制功能规则组之前运行的规则来帮助解决此问题。将您的新规则配置为使用转发 IP 地址,并明确允许来自已验证机器人的请求。有关使用转发 IP 地址的信息,请参阅 在 Amazon WAF 中使用转发 IP 地址。
-
awswaf:managed:aws:bot-control:bot:user_triggered:verified:用于表示类似于已验证机器人,但最终用户可以直接调用的机器人。机器人控制功能规则将此类机器人视为未经验证的机器人。 -
awswaf:managed:aws:bot-control:bot:developer_platform:verified:用于表示类似于已验证机器人,但开发者平台使用它来编写脚本的机器人,例如 Google Apps 脚本。机器人控制功能规则将此类机器人视为未经验证的机器人。 -
awswaf:managed:aws:bot-control:bot:unverified:用于表示可以识别自己的机器人,因此可以对其进行命名和分类,但它不会发布可用于独立验证其身份的信息。这些类型的机器人签名可能会被伪造,因此被视为未经验证。
-
-
awswaf:managed:aws:bot-control:targeted::用于机器人控制功能目标保护的特定标签。<additional-details> -
awswaf:managed:aws:bot-control:signal:和<signal-details>awswaf:managed:aws:bot-control:targeted:signal::用于在某些情况下提供有关请求的更多信息。<signal-details>以下是信号标签的示例。该列表并不完整:
-
awswaf:managed:aws:bot-control:signal:cloud_service_provider::表示该请求的云服务提供商(CSP)。CSP 示例包括 Amazon Web Services 基础架构的<CSP>aws、Google Cloud Platform 基础架构的gcp、Microsoft Azure 云服务的azure以及 Oracle 云服务的oracle。 -
awswaf:managed:aws:bot-control:targeted:signal:browser_automation_extension:表示检测到有助于自动化的浏览器扩展,如 SeleniumIDE。只要用户安装了这种类型的扩展,即使他们没有积极使用它,也会添加此标签。如果为此实施标签匹配规则,请注意规则逻辑和操作设置中存在误报的可能性。例如,您可以使用 CAPTCHA 操作代替 Block,或者可以将此标签匹配与其他标签匹配相结合,以增强您对正在使用自动化的信心。
-
awswaf:managed:aws:bot-control:signal:automated_browser:表示请求包含表明客户端浏览器可能已自动运行的指标。 -
awswaf:managed:aws:bot-control:targeted:signal:automated_browser:表示请求的 Amazon WAF 令牌包含表明客户端浏览器可能已自动运行的指标。
-
您可以通过调用 DescribeManagedRuleGroup 从 API 检索一个规则组的所有标签。标签列在响应的 AvailableLabels 属性中。
机器人控制功能托管规则组将标签应用于一组通常允许的可验证机器人。规则组不会阻止这些已验证机器人。如果需要,您可以编写使用机器人控制功能托管规则组所应用的标签的自定义规则,以阻止这些机器人或其中的一部分。有关此项与示例的更多信息,请参阅 Amazon WAF 机器人控制功能。
机器人控制功能规则列表
此部分列出了机器人控制功能规则。
注意
本文档包含此托管规则组的最新静态版本。我们在 Amazon 托管规则变更日志 的更改日志中报告版本变更。有关其他版本的信息,请使用 API 命令 DescribeManagedRuleGroup。
对于 Amazon 托管规则组中的规则,我们所发布的信息旨在为您提供使用规则所需的内容,同时避免恶意行为者由此得知规避规则的信息。
如果您需要为机器人控制功能请求新的机器人分类或需要此处未涵盖的其他信息,请联系 Amazon Web Services 支持 中心
| 规则名称 | 描述 |
|---|---|
CategoryAdvertising |
检查是否存在用于广告目的的机器人。例如,您可能会使用第三方广告服务,这些服务需要以编程方式访问您的网站。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategoryArchiver |
检查是否存在用于存档目的的机器人。这些机器人会爬网并捕获内容以创建档案。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategoryContentFetcher |
检查是否存在代表用户访问应用程序网站、获取 RSS feed 等内容或验证您的内容的机器人。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategoryEmailClient |
检查是否存在检查电子邮件中指向应用程序网站的链接的机器人。这可能包括企业和电子邮件提供程序运行的机器人,用于验证电子邮件中的链接并举报可疑电子邮件。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategoryHttpLibrary |
检查机器人从各种编程语言的 HTTP 库中生成的请求。其中可能包括您选择允许或监控的 API 请求。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategoryLinkChecker |
检查是否存在检查断开链接的机器人。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategoryMiscellaneous |
检查是否存在与其他类别不匹配的其他机器人。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategoryMonitoring |
检查是否存在用于监控目的的机器人。例如,您可以使用机器人监控服务,这些服务会定期对应用程序网站执行 Ping 操作,以监控性能和正常运行时间等信息。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategoryScrapingFramework |
检查来自网页抓取框架的机器人,这些框架用于自动爬取和从网站提取内容。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategorySearchEngine |
检查是否存在搜索引擎机器人,这些机器人会抓取网站以进行内容索引并提供信息以生成搜索引擎结果。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategorySecurity |
检查是否存在扫描 Web 应用程序漏洞或执行安全审核的机器人。例如,您可以使用第三方安全供应商来扫描、监控或审核 Web 应用程序的安全性。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategorySeo |
检查用于搜索引擎优化的机器人。例如,您可以使用搜索引擎工具来抓取您的网站,以帮助您提高搜索引擎排名。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategorySocialMedia |
检查社交媒体平台是否使用机器人,以便在用户共享您的内容时提供内容摘要。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于已验证机器人,规则组不匹配此规则,不采取任何行动,但会添加机器人名称以及规则标签和标签 |
CategoryAI |
检查是否存在人工智能(AI)机器人。 注意无论机器人是否经过验证,此规则都将该操作应用于所有匹配项。 规则操作:Block 标签: 对于经过验证的机器人,此规则组与该规则匹配并采取行动。此外还添加了机器人名称和类别标签、规则标签以及标签 |
SignalAutomatedBrowser |
检查并非来自已验证机器人的请求中是否显示客户端浏览器可能已自动运行。自动浏览器可用于测试或抓取。例如,您可以使用这些类型的浏览器来监控或验证您的应用程序网站。 规则操作:Block 标签: 对于经过验证的机器人,此规则组与该规则不匹配,且不应用任何信号或规则标签。 |
SignalKnownBotDataCenter |
检查并非来自已验证机器人的请求中是否显示有机器人通常使用的数据中心。 规则操作:Block 标签: 对于经过验证的机器人,此规则组与该规则不匹配,且不应用任何信号或规则标签。 |
SignalNonBrowserUserAgent |
检查并非来自已验证机器人的请求,了解是否存在似乎并非来自 Web 浏览器的用户代理字符串。此类别可以包括 API 请求。 规则操作:Block 标签: 对于经过验证的机器人,此规则组与该规则不匹配,且不应用任何信号或规则标签。 |
TGT_VolumetricIpTokenAbsent |
检查并非来自已验证机器人的请求,了解在过去 5 分钟内是否有 5 个或更多来自一个客户端的不含有效质询令牌的请求。有关 令牌在 Amazon WAF 智能威胁缓解中的使用 令牌的更多信息,请参阅。 注意如果来自同一客户端的请求最近缺少令牌,则此规则可能会与具有令牌的请求相匹配。 由于延迟,此规则适用的阈值可能略有不同。 此规则对缺失令牌的处理方式与令牌标签不同: 规则操作:Challenge 标签: |
TGT_TokenAbsent |
检查并非来自已验证机器人的请求是否不含有效质询令牌。有关 令牌在 Amazon WAF 智能威胁缓解中的使用 令牌的更多信息,请参阅。 规则操作:Count 标签: |
TGT_VolumetricSession |
检查客户端会话在任意 5 分钟窗口内是否出现并非来自已验证机器人的异常大量请求。该评估基于与标准流量基线的比较,而标准流量基线由 Amazon WAF 使用历史流量模式进行维护。 仅当 Web 请求具有令牌时,此检查才适用。令牌由应用程序集成软件开发工具包以及规则操作 CAPTCHA 和 Challenge 添加到请求中。有关更多信息,请参阅 令牌在 Amazon WAF 智能威胁缓解中的使用。 注意启用后,此规则可能需要 5 分钟才能生效。机器人控制功能通过将当前流量与 Amazon WAF 计算的流量基线进行比较来识别 Web 流量中的异常行为。 规则操作:CAPTCHA 标签: 规则组将以下标签应用于高于最低阈值的中流量和较低流量的请求。对于这些级别,无论客户端是否经过验证,该规则都不采取任何行动: |
TGT_VolumetricSessionMaximum |
检查客户端会话在任意 5 分钟窗口内是否出现并非来自已验证机器人的异常大量请求。该评估基于与标准流量基线的比较,而标准流量基线由 Amazon WAF 使用历史流量模式进行维护。 此规则表示评估的最大可信度。 仅当 Web 请求具有令牌时,此检查才适用。令牌由应用程序集成软件开发工具包以及规则操作 CAPTCHA 和 Challenge 添加到请求中。有关更多信息,请参阅 令牌在 Amazon WAF 智能威胁缓解中的使用。 注意启用后,此规则可能需要 5 分钟才能生效。机器人控制功能通过将当前流量与 Amazon WAF 计算的流量基线进行比较来识别 Web 流量中的异常行为。 规则操作:Block 标签: |
TGT_SignalAutomatedBrowser |
检查并非来自已验证机器人的请求的令牌,以了解是否有迹象表明客户端浏览器可能已自动运行。有关更多信息,请参阅 Amazon WAF 令牌特征。 仅当 Web 请求具有令牌时,此检查才适用。令牌由应用程序集成软件开发工具包以及规则操作 CAPTCHA 和 Challenge 添加到请求中。有关更多信息,请参阅 令牌在 Amazon WAF 智能威胁缓解中的使用。 规则操作:CAPTCHA 标签: |
TGT_SignalBrowserAutomationExtension |
检查并非来自已验证机器人的请求是否显示存在有助于自动化的浏览器扩展,比如 Selenium IDE。只要用户安装了这种类型的扩展,即使他们没有积极使用它,此规则都匹配。 仅当 Web 请求具有令牌时,此检查才适用。令牌由应用程序集成软件开发工具包以及规则操作 CAPTCHA 和 Challenge 添加到请求中。有关更多信息,请参阅 令牌在 Amazon WAF 智能威胁缓解中的使用。 规则操作:CAPTCHA 标签: |
TGT_SignalBrowserInconsistency |
检查并非来自已验证机器人的请求是否存在不一致的浏览器询问数据。有关更多信息,请参阅 Amazon WAF 令牌特征。 仅当 Web 请求具有令牌时,此检查才适用。令牌由应用程序集成软件开发工具包以及规则操作 CAPTCHA 和 Challenge 添加到请求中。有关更多信息,请参阅 令牌在 Amazon WAF 智能威胁缓解中的使用。 规则操作:CAPTCHA 标签: |
TGT_ML_CoordinatedActivityLow,
TGT_ML_CoordinatedActivityMedium,
TGT_ML_CoordinatedActivityHigh
|
检查并非来自已验证机器人的请求是否存在与分布式、协调的机器人活动一致的异常行为。规则级别表示一组请求参与协调攻击的可信度。 注意仅当规则组配置为使用机器学习(ML)时,这些规则才会运行。有关配置此选择的信息,请参阅 将 Amazon WAF 机器人控制功能托管规则组添加到您的 web ACL。 注意由于延迟,这些规则适用的阈值可能略有不同。在应用规则操作之前,一些请求可能会超出限制。 Amazon WAF 通过对网站流量统计数据进行机器学习分析来执行此检查。Amazon WAF 每隔几分钟分析一次 Web 流量,并优化分析以检测分布在许多 IP 地址上的强度低、持续时间长的机器人。 在确定未进行协调攻击之前,这些规则可能与极少数请求相匹配。因此,如果您只看到一两个匹配项,则结果可能是误报。但是,如果您看到很多符合这些规则的匹配项,那么您可能正在经历协调攻击。 注意使用 ML 选项启用机器人控制功能定向规则后,这些规则可能需要长达 24 小时才能生效。机器人控制功能通过将当前流量与 Amazon WAF 计算出的流量基线进行比较来识别 Web 流量中的异常行为。Amazon WAF 仅在您使用带有 ML 选项的机器人控制功能定向规则时才计算基线,并且可能需要长达 24 小时才能建立有意义的基准。 我们定期更新这些规则的机器学习模型,从而改进机器人预测。如果发现这些规则进行的机器人预测突然发生重大变化,请联系您的客户经理,或在 Amazon Web Services 支持 Center 规则操作:
标签: |
TGT_TokenReuseIpLow,
TGT_TokenReuseIpMedium,
TGT_TokenReuseIpHigh
|
检查并非来自已验证机器人的请求在过去 5 分钟内是否有多个 IP 共用一个令牌。每个级别对不同 IP 的数量都有一个限制。
注意由于延迟,这些规则适用的阈值可能略有不同。在应用规则操作之前,一些请求可能会超出限制。 规则操作:
标签: |
TGT_TokenReuseCountryLow,
TGT_TokenReuseCountryMedium,
TGT_TokenReuseCountryHigh
|
检查并非来自已验证机器人的请求在过去 5 分钟内是否有多个国家/地区共用一个令牌。每个级别对不同国家/地区的数量都有一个限制。
注意由于延迟,这些规则适用的阈值可能略有不同。在应用规则操作之前,一些请求可能会超出限制。 规则操作:
标签: |
TGT_TokenReuseAsnLow,
TGT_TokenReuseAsnMedium,
TGT_TokenReuseAsnHigh
|
检查并非来自已验证机器人的请求在过去 5 分钟内是否有多个网络自治系统编号(ASN)共用一个令牌。每个级别对不同 ASN 的数量都有一个限制。
注意由于延迟,这些规则适用的阈值可能略有不同。在应用规则操作之前,一些请求可能会超出限制。 规则操作:
标签: |