Amazon WAF机器人控制规则组 - Amazon WAF、Amazon Firewall Manager 和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon WAF机器人控制规则组

VendorName:AWS, 名称:AWSManagedRulesBotControlRuleSet, WCU: 50

Bot Control 托管规则组提供用于阻止和管理来自机器人的请求的规则。机器人可能会消耗多余的资源、歪曲业务指标、造成停机并进行恶意活动。

保护级别

Bot Control 托管规则组提供两种保护级别供您选择:

  • 常见 — 检测各种自我识别的机器人,例如网页抓取框架、搜索引擎和自动浏览器。此级别的机器人控制保护使用传统的机器人检测技术(例如静态请求数据分析)识别常见的机器人。这些规则会标记来自这些机器人的流量,并屏蔽他们无法验证的流量。

  • 定向 — 包括通用级保护,并增加了对无法自我识别的高级机器人的检测。定向保护使用浏览器查询、指纹识别和行为启发式等高级检测技术来识别恶意机器人流量。这些保护措施结合了速率限制、验证码和后台浏览器挑战,针对这些机器人。提供定向保护的规则的名称以开头TGT_

注意

您还可以使用Amazon WAF基于速率的规则语句来限制速率。要进行比较,请参见基于速率的规则和有针对性的机器人控制规则中的速率限制选项

使用此规则组

此规则组是中的智能威胁缓解保护的一部分Amazon WAF。有关信息,请参阅 Amazon WAF智能威胁缓解

注意

使用此托管规则组时,需要向您收取额外费用。有关更多信息,请参阅 Amazon WAF 定价

为了降低成本并确保根据需要管理网络流量,请按照中的指南使用此规则组智能威胁缓解最佳实践

机器人控制规则组不提供版本控制或 SNS 更新通知。

代币标注

该规则组使用Amazon WAF令牌管理根据其令牌的状态检查和标Amazon WAF记 Web 请求。 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:category:<category>— 机器人的类别Amazon WAF,例如由bot:category:search_engine和定义bot:category:content_fetcher

  • awswaf:managed:aws:bot-control:bot:name:<name>— 机器人名称(如果有),例如,自定义命名空间bot:name:slurpbot:name:googlebot、和bot:name:pocket_parser

  • awswaf:managed:aws:bot-control:bot:verified— 用于表示经过验证的机器人。这用于常见的理想机器人,与类别标签(如bot:category:search_engine或名称标签)结合使用时可能很有用bot:name:googlebot

    注意

    Bot Control 使用从 Web 请求源向该 IP 地址发送的 IP 地址。您无法将其配置为使用Amazon WAF转发的 IP 配置来检查不同的 IP 地址源。如果您已验证通过代理或负载均衡器路由的机器人,则可以添加在 Bot Control 规则组之前运行的规则来帮助解决此问题。将您的新规则配置为使用转发的 IP 地址,并明确允许来自经过验证的机器人的请求。有关使用转发的 IP 地址的信息,请参阅转发的 IP 地址

  • awswaf:managed:aws:bot-control:signal:<signal-details>— 用于请求的属性,这些属性表示机器人不常用或未经过验证。

  • awswaf:managed:aws:bot-control:targeted:<additional-details>— 由机器人控制定向保护使用。

您可以通过调用通过 API 检索标签DescribeManagedRuleGroup。标签在响应的AvailableLabels属性中列出。

Bot Control 托管规则组将标签应用于一组通常允许的可验证机器人。规则组不会屏蔽这些经过验证的机器人,也不会贴上任何signal:标签。如果需要,您可以通过编写使用 Bot Control 托管规则组应用的标签的自定义规则来屏蔽它们或其中的一部分。有关此问题的更多信息以及示例,请参阅Amazon WAF机器人控制

机器人控制规则列表

下表列出了机器人控制规则。

Rule name(规则名称) 描述
CategoryAdvertising

检查用于广告目的的机器人。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:advertising

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

CategoryArchiver

检查用于存档目的的机器人。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:archiver

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

CategoryContentFetcher

检查是否存在代表用户获取内容的机器人。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:content_fetcher

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

CategoryEmailClient

检查电子邮件客户端。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:email_client

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

CategoryHttpLibrary

检查机器人使用的 HTTP 库。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:http_library

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

CategoryLinkChecker

检查是否有检查失效链接的机器人。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:link_checker

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

CategoryMiscellaneous

检查杂项机器人。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:miscellaneous

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

CategoryMonitoring

检查用于监控目的的机器人。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:monitoring

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

CategoryScrapingFramework

检查网页抓取框架。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:scraping_framework

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

CategorySearchEngine

检查搜索引擎机器人。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:search_engine

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

CategorySecurity

检查是否存在与安全相关的机器人。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:security

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

CategorySeo

检查用于搜索引擎优化的机器人。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:seo

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

CategorySocialMedia

检查社交媒体平台用来提供内容摘要的机器人。

规则操作,仅适用于未经验证的机器人:Block

标签:awswaf:managed:aws:bot-control:bot:category:social_media

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

SignalAutomatedBrowser

检查是否有自动网络浏览器的迹象。

规则操作:Block

SignalKnownBotDataCenter

检查机器人通常使用的数据中心。

规则操作:Block

SignalNonBrowserUserAgent

检查似乎不是来自 Web 浏览器的用户代理字符串。

规则操作:Block

TGT_VolumetricIpTokenAbsent

检查客户在过去 5 分钟内是否有 5 个或更多不包含有效质询代币的请求。有关令牌的信息,请参阅Amazon WAF网络请求令牌

注意

由于延迟,此规则适用的阈值可能会略有不同。

此规则处理缺失令牌的方法与代币标签的处理方式不同:awswaf:managed:token:absent. 令牌标签会标记没有令牌的单个请求。此规则会为每个客户端会话保留缺失令牌的请求计数,并与超过限制的客户端进行匹配。如果来自同一客户端的请求最近缺少令牌,则此规则可能会在具有令牌的请求上匹配。

规则操作,仅适用于未经验证的机器人的客户端:Challenge

标签:awswaf:managed:aws:bot-control:targeted:aggregate:volumetric:ip:token_absent

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

此规则不同于代币标签:awswaf:managed:token:absent,后者仅标记没有令牌的单个请求。该规则会对每个客户端会话中丢失令牌的请求进行计数,并对超过限制的未经验证的机器人采取行动。

TGT_VolumetricSession

检查来自客户端会话的请求数量是否异常多。该评估基于与使用历史交通模式Amazon WAF维持的标准体积基线的比较。

此检查仅在 Web 请求包含令牌时适用。令牌由应用程序集成 SDK 和规则操作CAPTCHA和添加到请求中Challenge。有关更多信息,请参阅Amazon WAF网络请求令牌

规则操作,仅适用于未经验证的机器人的客户端:CAPTCHA

标签:awswaf:managed:aws:bot-control:targeted:aggregate:volumetric:session:high

规则组将以下标签应用于高于最低阈值的中等容量和低容量请求。对于这些级别,无论客户端是否经过验证,规则均不执行任何操作:awswaf:managed:aws:bot-control:targeted:aggregate:volumetric:session:mediumawswaf:managed:aws:bot-control:targeted:aggregate:volumetric:session:low

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

TGT_SignalAutomatedBrowser

检查浏览器自动化框架。

此检查仅在 Web 请求包含令牌时适用。令牌由应用程序集成 SDK 和规则操作CAPTCHA和添加到请求中Challenge。有关更多信息,请参阅Amazon WAF网络请求令牌

规则操作,仅适用于未经验证的机器人的客户端:CAPTCHA

标签:awswaf:managed:aws:bot-control:targeted:signal:automated_browser

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified

TGT_SignalBrowserInconsistency

检查浏览器询问数据是否不一致。

此检查仅在 Web 请求包含令牌时适用。令牌由应用程序集成 SDK 和规则操作CAPTCHA和添加到请求中Challenge。有关更多信息,请参阅Amazon WAF网络请求令牌

规则操作,仅适用于未经验证的机器人的客户端:CAPTCHA

标签:awswaf:managed:aws:bot-control:targeted:signal:browser_inconsistency

对于经过验证的机器人,规则组不采取任何操作,但会添加规则标签和标签awswaf:managed:aws:bot-control:bot:verified