本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS WAF 机器人控制功能规则组
本节介绍机器人控制托管规则组的作用。
VendorName:AWS
,名称:
,WCU:50AWSManagedRulesBotControlRuleSet
机器人控制功能托管规则组提供管理来自机器人的请求的规则。机器人可能会消耗过多的资源,歪曲业务指标,导致停机以及执行恶意活动。
保护级别
机器人控制功能托管规则组提供两种保护级别供您选择:
-
常见 – 检测各种自我识别的机器人,例如 Web 抓取框架、搜索引擎和自动浏览器。此级别的机器人控制功能保护使用传统的机器人检测技术(例如静态请求数据分析)来识别常见的机器人。这些规则会标记来自这些机器人的流量,并阻止他们无法验证的流量。
-
定向 – 包括通用级保护,并针对无法自我识别的复杂机器人添加定向检测。有针对性的保护结合了速率限制CAPTCHA和后台浏览器挑战,缓解了机器人活动。
TGT_
– 提供目标保护的规则的名称以TGT_
开头。所有目标保护都使用浏览器查询、指纹识别和行为启发式等检测技术来识别恶意机器人流量。TGT_ML_
– 使用机器学习的目标保护规则的名称以TGT_ML_
开头。这些规则使用对网站流量统计数据的自动机器学习分析来检测表明分布式、协调的机器人活动的异常行为。 AWS WAF 分析有关您的网站流量的统计信息,例如时间戳、浏览器特征和之前的URL访问次数,以改进 Bot Control 机器学习模型。默认情况下,机器学习功能处于启用状态,但您可以在规则组配置中将其禁用。禁用机器学习后, AWS WAF 不评估这些规则。
目标保护级别和 AWS WAF 基于速率的规则语句都提供速率限制。有关两个选项的对比,请参阅 基于速率的规则和定向机器人控制功能规则中的速率限制选项。
使用此规则组的注意事项
此规则组是中智能威胁缓解保护的一部分 AWS WAF有关信息,请参阅在中实施智能威胁缓解 AWS WAF。
注意
使用此托管规则组时,您需要额外付费。有关更多信息,请参阅 AWS WAF 定价
为了降低成本并确保您可以根据需要管理 Web 流量,请按照 中智能缓解威胁的最佳实践 AWS WAF 中的指导使用此规则组。
我们会定期更新基于机器学习的目标保护级别规则的机器学习 (ML) 模型,以改善机器人预测。基于 ML 的规则的名称以开头。TGT_ML_
如果您发现这些规则所做的机器人预测突然发生重大变化,请通过您的客户经理联系我们或通过以下方式提起诉讼 AWS Support 中心
此规则组添加的标签
此托管规则组会为其评估的 Web 请求添加标签,这些标签可用于在您的 Web ACL 中在此规则组之后运行的规则。 AWS WAF 还会记录亚马逊 CloudWatch 指标的标签。有关标签和标签指标的一般信息,请参阅 在 Web 请求上使用标签 和 标签指标和维度。
令牌标签
此规则组使用 AWS WAF 令牌管理,用于根据网络请求的状态检查和标记 Web 请求 AWS WAF 代币。 AWS WAF 使用令牌进行客户端会话跟踪和验证。
有关令牌和令牌管理的信息,请参阅 在 Web 请求中使用令牌 AWS WAF。
有关此处描述的标签组件的信息,请参阅 中的标签语法和命名要求 AWS WAF。
客户端会话标签
标签awswaf:managed:token:id:
包含一个唯一标识符 AWS WAF 令牌管理用于识别客户端会话。如果客户端获取了新令牌,例如在丢弃其正在使用的令牌之后,标识符可能会更改。identifier
注意
AWS WAF 不报告该标签的 Amazon CloudWatch 指标。
令牌状态标签:标签命名空间前缀
令牌状态标签报告令牌的状态、挑战及其包含CAPTCHA的信息。
每个令牌状态标签都以下列命名空间前缀之一开头:
awswaf:managed:token:
– 用于报告令牌的一般状态以及令牌的质询信息的状态。awswaf:managed:captcha:
— 用于报告令牌CAPTCHA信息的状态。
令牌状态标签:标签名称
在前缀之后,标签的其余部分提供详细的令牌状态信息:
accepted
– 请求令牌存在且包含以下内容:有效的挑战或CAPTCHA解决方案。
未过期的挑战或CAPTCHA时间戳。
适用于网络的域名规范ACL。
示例:标签
awswaf:managed:token:accepted
表明 Web 请求的令牌具有有效的质询解决方案、未过期的质询时间戳以及有效的域。-
rejected
– 请求令牌存在但不符合接受标准。除了被拒绝的标签外,令牌管理还添加了一个自定义标签命名空间和名称来指示原因。
rejected:not_solved
— 代币缺少挑战或CAPTCHA解决方案。rejected:expired
— 根据您的网络配置的令牌免疫时间,令牌ACL的质询或CAPTCHA时间戳已过期。rejected:domain_mismatch
— 令牌的域名与您网站ACL的令牌域配置不匹配。rejected:invalid
– AWS WAF 无法读取指定的标记。
示例:标签
awswaf:managed:captcha:rejected
和awswaf:managed:captcha:rejected:expired
表示请求被拒绝,因为令牌中的CAPTCHA时间戳已超过网络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:
— 机器人的类别,定义为 AWS 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 地址来帮助确定机器人是否经过验证。您无法将其配置为使用 AWS WAF 转发的 IP 配置,以检查不同的 IP 地址源。如果您已验证通过代理或负载均衡器进行路由的机器人,则可以添加一条在机器人控制功能规则组之前运行的规则来帮助解决此问题。将您的新规则配置为使用转发 IP 地址,并明确允许来自已验证机器人的请求。有关使用转发 IP 地址的信息,请参阅 在中使用转发的 IP 地址 AWS WAF。
-
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)。示例CSPs包括<CSP>
aws
亚马逊 Web Services 基础架构、gcp
谷歌云平台 (GCP) 基础架构、azure
微软 Azure 云服务和oracle
Oracle 云服务。 -
awswaf:managed:aws:bot-control:targeted:signal:browser_automation_extension
— 表示检测到有助于自动化的浏览器扩展程序,例如 Selenium IDE。只要用户安装了这种类型的扩展,即使他们没有积极使用它,也会添加此标签。如果为此实施标签匹配规则,请注意规则逻辑和操作设置中存在误报的可能性。例如,你可以使用 CAPTCHA 动作而不是 Block 或者,您可以将此标签匹配与其他标签匹配项结合使用,以增强您对正在使用自动化的信心。
-
awswaf:managed:aws:bot-control:signal:automated_browser
– 表示请求包含表明客户端浏览器可能已自动运行的指标。 -
awswaf:managed:aws:bot-control:targeted:signal:automated_browser
— 表示请求的 AWS WAF token 包含表明客户端浏览器可能已自动运行的指标。
-
您可以通过调用来检索规则组的所有标签DescribeManagedRuleGroup
。API标签列在响应的 AvailableLabels
属性中。
机器人控制功能托管规则组将标签应用于一组通常允许的可验证机器人。规则组不会阻止这些已验证机器人。如果需要,您可以编写使用机器人控制功能托管规则组所应用的标签的自定义规则,以阻止这些机器人或其中的一部分。有关此项与示例的更多信息,请参阅 通过以下方式保护您的应用程序免受机器人的侵害 AWS WAF 机器人控制功能。
机器人控制功能规则列表
此部分列出了机器人控制功能规则。
注意
我们在中发布的有关规则的信息 AWS 托管规则组旨在为您提供足够的信息来使用规则,同时不提供不良行为者可能用来规避规则的信息。如果您需要的信息超出了本文档中提供的范围,请联系 AWS Support 中心
Rule name(规则名称) | 描述 |
---|---|
CategoryAdvertising |
检查是否存在用于广告目的的机器人。例如,您可能会使用第三方广告服务,这些服务需要以编程方式访问您的网站。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组与该规则不匹配且不采取任何行动,但它会添加机器人名称和类别标签以及标签 |
CategoryArchiver |
检查是否存在用于存档目的的机器人。这些机器人会爬网并捕获内容以创建档案。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组与该规则不匹配且不采取任何行动,但它会添加机器人名称和类别标签以及标签 |
CategoryContentFetcher |
检查是否有代表用户访问应用程序网站、获取内容如RSS提要或验证或验证您的内容的机器人。 规则操作,仅适用于未经验证的机器人: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 |
检查不是来自经过验证的机器人的请求,以查找似乎不是来自网络浏览器的用户代理字符串。此类别可以包括API请求。 规则操作:Block 标签: 对于经过验证的机器人,规则组与该规则不匹配,并且不应用任何信号或规则标签。 |
TGT_VolumetricIpTokenAbsent |
检查不是来自经过验证的机器人的请求,这些请求在过去 5 分钟内来自单个客户端 5 个或更多且不包含有效挑战令牌。有关 在 Web 请求中使用令牌 AWS WAF 令牌的更多信息,请参阅。 注意如果来自同一客户端的请求最近缺少令牌,则此规则可能会与具有令牌的请求相匹配。 由于延迟,此规则适用的阈值可能略有不同。 此规则对缺失令牌的处理方式与令牌标签不同: 规则操作:Challenge 标签: |
TGT_TokenAbsent |
检查不是来自经过验证且不包含有效挑战令牌的经过验证的机器人的请求。有关 在 Web 请求中使用令牌 AWS WAF 令牌的更多信息,请参阅。 规则操作:Count 标签: |
TGT_VolumetricSession |
在 5 分钟内检查来自单个客户端会话的非经过验证的机器人的请求数量异常多。评估基于与标准体积基线的比较 AWS WAF 使用历史交通模式进行维护。 仅当 Web 请求具有令牌时,此检查才适用。通过应用程序集成SDKs和规则操作将令牌添加到请求中 CAPTCHA 以及 Challenge。 有关更多信息,请参阅在 Web 请求中使用令牌 AWS WAF。 注意启用后,此规则可能需要 5 分钟才能生效。Bot Control 通过将当前流量与流量基线进行比较来识别网络流量中的异常行为 AWS WAF 计算。 规则操作:CAPTCHA 标签: 规则组将以下标签应用于高于最低阈值的中流量和较低流量的请求。对于这些级别,无论客户端是否经过验证,该规则都不采取任何行动: |
TGT_VolumetricSessionMaximum |
在 5 分钟内检查来自单个客户端会话的非经过验证的机器人的请求数量异常多。评估基于与标准体积基线的比较 AWS WAF 使用历史交通模式进行维护。 此规则表示评估的最大可信度。 仅当 Web 请求具有令牌时,此检查才适用。通过应用程序集成SDKs和规则操作将令牌添加到请求中 CAPTCHA 以及 Challenge。 有关更多信息,请参阅在 Web 请求中使用令牌 AWS WAF。 注意启用后,此规则可能需要 5 分钟才能生效。Bot Control 通过将当前流量与流量基线进行比较来识别网络流量中的异常行为 AWS WAF 计算。 规则操作:Block 标签: |
TGT_SignalAutomatedBrowser |
检查不是来自经过验证的机器人的请求令牌,以确定客户端浏览器可能已自动运行。有关更多信息,请参阅 AWS WAF 代币特征。 仅当 Web 请求具有令牌时,此检查才适用。通过应用程序集成SDKs和规则操作将令牌添加到请求中 CAPTCHA 以及 Challenge。 有关更多信息,请参阅在 Web 请求中使用令牌 AWS WAF。 规则操作:CAPTCHA 标签: |
TGT_SignalBrowserAutomationExtension |
检查不是来自经过验证的机器人的请求,这些请求表明存在有助于自动化的浏览器扩展程序,例如 Sel IDE enium。只要用户安装了此类扩展程序,即使他们没有积极使用该扩展程序,该规则也会匹配。 仅当 Web 请求具有令牌时,此检查才适用。通过应用程序集成SDKs和规则操作将令牌添加到请求中 CAPTCHA 以及 Challenge。 有关更多信息,请参阅在 Web 请求中使用令牌 AWS WAF。 规则操作:CAPTCHA 标签: |
TGT_SignalBrowserInconsistency |
检查不是来自经过验证的机器人的请求,以确定浏览器查询数据是否不一致。有关更多信息,请参阅 AWS WAF 代币特征。 仅当 Web 请求具有令牌时,此检查才适用。通过应用程序集成SDKs和规则操作将令牌添加到请求中 CAPTCHA 以及 Challenge。 有关更多信息,请参阅在 Web 请求中使用令牌 AWS WAF。 规则操作:CAPTCHA 标签: |
TGT_ML_CoordinatedActivityLow ,
TGT_ML_CoordinatedActivityMedium ,
TGT_ML_CoordinatedActivityHigh
|
检查不是来自经过验证的机器人的请求,以确定是否存在与分布式、协调的机器人活动一致的异常行为。规则级别表示一组请求参与协调攻击的可信度。 注意仅当规则组配置为使用机器学习 (ML) 时,这些规则才会运行。有关配置此选择的信息,请参阅 正在添加 AWS WAF Bot Control 托管规则组到您的 Web ACL。 注意由于延迟,这些规则适用的阈值可能略有不同。在应用规则操作之前,一些请求可能会超出限制。 AWS WAF 通过机器学习分析网站流量统计数据来执行此检查。 AWS WAF 每隔几分钟分析一次网络流量,并优化分析以检测分布在许多 IP 地址上的低强度、持续时间长的机器人。 在确定未进行协调攻击之前,这些规则可能与极少数请求相匹配。因此,如果您只看到一两个匹配项,则结果可能是误报。但是,如果您看到很多符合这些规则的匹配项,那么您可能正在经历协调攻击。 注意使用 ML 选项启用机器人控制功能定向规则后,这些规则可能需要长达 24 小时才能生效。Bot Control 通过将当前流量与流量基线进行比较来识别网络流量中的异常行为 AWS WAF 已经计算出来了。 AWS WAF 仅在您使用带有 ML 选项的 Bot Control 目标规则时才计算基线,并且最多可能需要 24 小时才能建立有意义的基准。 我们会定期更新这些规则的机器学习模型,以改善机器人预测。如果您发现这些规则所做的机器人预测突然发生重大变化,请联系您的客户经理或通过以下方式提起诉讼 AWS Support 中心 规则操作:
标签: |
TGT_TokenReuseIpLow ,
TGT_TokenReuseIpMedium ,
TGT_TokenReuseIpHigh
|
检查不是来自经过验证的机器人的请求,以便在过去 5 分钟内使用多个令牌IPs中的单个令牌。每个级别对不同级别的数量都有限制IPs:
注意由于延迟,这些规则适用的阈值可能略有不同。在应用规则操作之前,一些请求可能会超出限制。 规则操作:
标签: |
TGT_TokenReuseCountryLow ,
TGT_TokenReuseCountryMedium ,
TGT_TokenReuseCountryHigh
|
检查过去 5 分钟内在多个国家/地区使用单个代币的非经过验证的机器人发出的请求。每个级别对不同国家的数量都有限制:
注意由于延迟,这些规则适用的阈值可能略有不同。在应用规则操作之前,一些请求可能会超出限制。 规则操作:
标签: |
TGT_TokenReuseAsnLow ,
TGT_TokenReuseAsnMedium ,
TGT_TokenReuseAsnHigh
|
在过去 5 分钟内,检查不是来自经过验证的机器人在多个网络自治系统编号 (ASNs) 上使用单个令牌的请求。每个级别对不同级别的数量都有限制ASNs:
注意由于延迟,这些规则适用的阈值可能略有不同。在应用规则操作之前,一些请求可能会超出限制。 规则操作:
标签: |