本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon WAF机器人控制规则组
VendorName:AWS
,名称:
,WCU:50AWSManagedRulesBotControlRuleSet
Bot Control 托管规则组提供用于阻止和管理来自机器人的请求的规则。机器人可能会消耗多余的资源,歪曲业务指标,造成停机并执行恶意活动。
保护级别
Bot Control 托管规则组提供两种保护级别供您选择:
-
常见— 检测各种自识别机器人,例如网页抓取框架、搜索引擎和自动浏览器。此级别的 Bot Control 保护使用传统的机器人检测技术(例如静态请求数据分析)识别常见的机器人。这些规则会标记来自这些机器人的流量,并屏蔽它们无法验证的流量。
-
有针对性— 包括常见级别的保护,并增加了对无法自我识别的高级机器人的检测。定向保护使用浏览器查询、指纹识别和行为启发式等高级检测技术来识别不良机器人流量。保护措施将速率限制、验证码和后台浏览器挑战相结合,针对这些机器人。提供定向保护的规则的名称以开头
TGT_
。
注意
你也可以通过以下方式获得速率限制Amazon WAF基于费率的规则声明。要进行比较,请参见基于速率的规则和目标机器人控制规则中的速率限制选项。
使用此规则组
此规则组是中的智能威胁缓解保护的一部分Amazon WAF。有关信息,请参阅 Amazon WAF智能威胁缓解。
注意
使用此托管规则组时,您需要支付额外费用。有关更多信息,请参阅 Amazon WAF 定价
为了降低成本并确保按自己的意愿管理网络流量,请按照以下指南使用此规则组智能威胁缓解的最佳实践。
机器人控制规则组不提供版本控制或 SNS 更新通知。
代币标签
此规则组使用Amazon WAF代币管理可根据网络请求的状态检查和标记 Web 请求Amazon WAF代币。Amazon WAF使用令牌进行客户端会话跟踪和验证。
Amazon WAF在检查 Web 请求的令牌和质询时间戳时应用以下标签之一。Amazon WAF不添加有关 CAPTCHA 时间戳状态的标签。
-
awswaf:managed:token:accepted
— 请求令牌存在且挑战时间戳未过期。 -
awswaf:managed:token:rejected
— 请求令牌存在但要么已损坏,要么挑战时间戳已过期。 -
awswaf:managed:token:absent
— 请求没有令牌。
有关更多信息,请参阅Amazon WAF网络请求令牌:
机器人控制标签
Bot Control 托管规则组生成带有命名空间前缀的标签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
。注意
Bot Control 使用来自 Web 请求来源的 IP 地址来确定机器人是否经过验证。你无法将其配置为使用Amazon WAF转发 IP 配置,用于检查不同的 IP 地址源。如果您已验证机器人通过代理或负载均衡器进行路由,则可以添加在 Bot Control 规则组之前运行的规则来帮助解决此问题。将您的新规则配置为使用转发的 IP 地址,并明确允许来自经过验证的机器人的请求。有关使用转发 IP 地址的信息,请参见转发的 IP 地址。
-
awswaf:managed:aws:bot-control:bot:user_triggered:verified
— 用于表示与已验证机器人相似的机器人,但可以由最终用户直接调用。机器人控制规则将此类机器人视为未经验证的机器人。 -
awswaf:managed:aws:bot-control:bot:developer_platform:verified
— 用于表示与已验证机器人相似的机器人,但开发者平台使用该机器人进行脚本编写,例如 Google Apps Script。机器人控制规则将此类机器人视为未经验证的机器人。
-
-
awswaf:managed:aws:bot-control:signal:
— 用于表示未更常用或未经过验证的机器人的请求属性。<signal-details>
-
awswaf:managed:aws:bot-control:targeted:
— 由 Bot Control 有针对性的保护使用。<additional-details>
-
awswaf:managed:aws:bot-control:targeted:aggregate:volumetric:session:token_reuse:ip
— 表示在超过 5 个不同的 IP 地址中使用单个标记。由于延迟,此规则适用的阈值可能会略有不同。在应用标签之前,一些请求可能会超过限制。
-
您可以通过调用 API 来检索规则组的所有标签DescribeManagedRuleGroup
。标签列在AvailableLabels
响应中的属性。
Bot Control 托管规则组将标签应用于一组通常允许的可验证机器人。规则组不会屏蔽这些经过验证的机器人,也不应用任何机器人signal:
标签。如果需要,您可以通过编写使用 Bot Control 托管规则组应用的标签的自定义规则来阻止它们或其中的一部分。有关这方面的更多信息以及示例,请参阅Amazon WAF机器人控制。
机器人控制规则列表
下表列出了机器人控制规则。
注意
我们针对中的规则发布的信息Amazon托管规则组旨在为您提供足够的信息以使用规则,同时不提供不良行为者可以用来规避规则的信息。如果您需要的信息比本文档中提供的更多信息,请联系Amazon Web Services Support中心
Rule name(规则名称) | 描述 |
---|---|
CategoryAdvertising |
检查是否有用于广告目的的机器人。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
CategoryArchiver |
检查是否有用于存档目的的机器人。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
CategoryContentFetcher |
检查是否有代表用户获取内容的机器人。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
CategoryEmailClient |
检查电子邮件客户端。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
CategoryHttpLibrary |
检查机器人使用的 HTTP 库。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
CategoryLinkChecker |
检查是否有检查链接失效的机器人。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
CategoryMiscellaneous |
检查是否有其他机器人。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
CategoryMonitoring |
检查用于监控目的的机器人。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
CategoryScrapingFramework |
检查 Web 抓取框架。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
CategorySearchEngine |
检查搜索引擎机器人。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
CategorySecurity |
检查是否存在与安全相关的机器人。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
CategorySeo |
检查用于搜索引擎优化的机器人。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
CategorySocialMedia |
检查社交媒体平台是否使用机器人提供内容摘要。 规则操作,仅适用于未经验证的机器人:Block 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
SignalAutomatedBrowser |
检查请求的令牌中是否有迹象表明客户端浏览器可能已自动运行。有关更多信息,请参阅代币特征: 规则操作:Block 标签: |
SignalKnownBotDataCenter |
检查机器人通常使用的数据中心。 规则操作:Block 标签: |
SignalNonBrowserUserAgent |
检查似乎不是来自 Web 浏览器的用户代理字符串。 规则操作:Block 标签: |
TGT_VolumetricIpTokenAbsent |
检查过去 5 分钟内来自客户的 5 个或更多不包含有效挑战令牌的请求。有关令牌的信息,请参见Amazon WAF网络请求令牌。 注意由于延迟,此规则适用的阈值可能会略有不同。 此规则处理丢失的令牌与令牌标签的处理方式不同: 规则操作,仅适用于未经过验证的机器人的客户端:Challenge 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 这条规则与代币标签不同: |
TGT_VolumetricSession |
检查来自客户端会话的请求数量是否异常多。该评估基于与标准体积基线的比较Amazon WAF继续使用历史交通模式。 此检查仅在 Web 请求有令牌时适用。令牌由应用程序集成 SDK 和规则操作添加到请求中CAPTCHA和Challenge。有关更多信息,请参阅Amazon WAF网络请求令牌: 规则操作,仅适用于未经过验证的机器人的客户端:CAPTCHA 标签: 规则组将以下标签应用于超过最低阈值的中等容量和低容量请求。对于这些级别,无论客户端是否经过验证,该规则均不采取任何操作: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
TGT_SignalAutomatedBrowser |
检查请求的令牌中是否有迹象表明客户端浏览器可能已自动运行。有关更多信息,请参阅代币特征: 此检查仅在 Web 请求有令牌时适用。令牌由应用程序集成 SDK 和规则操作添加到请求中CAPTCHA和Challenge。有关更多信息,请参阅Amazon WAF网络请求令牌: 规则操作,仅适用于未经过验证的机器人的客户端:CAPTCHA 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |
TGT_SignalBrowserInconsistency |
检查浏览器查询数据是否不一致。有关更多信息,请参阅代币特征: 此检查仅在 Web 请求有令牌时适用。令牌由应用程序集成 SDK 和规则操作添加到请求中CAPTCHA和Challenge。有关更多信息,请参阅Amazon WAF网络请求令牌: 规则操作,仅适用于未经过验证的机器人的客户端:CAPTCHA 标签: 对于经过验证的机器人,规则组不执行任何操作,但会添加规则标签和标签 |