View a markdown version of this page

用于管理机器人的静态控件 - AWS 规范性指导

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

用于管理机器人的静态控件

为了采取行动,静态控件会评估来自 HTTP (S) 请求的静态信息,例如其 IP 地址或标头。这些控件可用于低复杂度的恶意机器人活动或需要验证和管理的预期有益机器人流量。静态控制技术包括:允许列表、 IP-based 控件和内在检查。

允许上市

允许上架是一种控件,它允许通过现有的机器人缓解控制来识别友好流量。有多种方法可以实现这一目标。最简单的方法是使用匹配一组 IP 地址或类似匹配条件的规则。当请求与设置为Allow操作的规则匹配时,后续规则不会对其进行评估。在某些情况下,您需要防止仅对某些规则执行操作;换句话说,您需要为一条规则而不是所有规则设置允许列表。这是处理规则误报的常见场景。“允许上市” 被视为一项范围广泛的规则。为了减少出现误报的可能性,我们建议您将其与另一个更精细的选项(例如路径或标题匹配)配对。

IP-based 控件

单个 IP 地址块

缓解机器人影响的一种常用工具是限制来自单个请求者的请求。最简单的例子是,如果流量的请求是恶意的或流量很大,则将其屏蔽其源 IP 地址。这使用 AWS WAF IP 集匹配规则来实现 IP-based 区块。这些规则与 IP 地址相匹配,并应用的操作为BlockChallenge、或CAPTCHA。通过查看内容分发网络 (CDN)、Web 应用程序防火墙或应用程序和服务日志,您可以确定何时有太多请求来自 IP 地址。但是,在大多数情况下,如果没有自动化,这种控制是不切实际的。

自动化 IP 地址屏蔽列表 AWS WAF 通常使用基于速率的规则完成。有关更多信息,请参阅本指南中的Rate-based 规则。您也可以为 AWS WAF解决方案实施安全自动化。此解决方案会自动更新要阻止的 IP 地址列表,并且一条 AWS WAF 规则会拒绝与这些 IP 地址匹配的请求。

识别机器人攻击的一种方法是,来自同一 IP 地址的大量请求集中在少量网页上。这表明该机器人正在取消价格或反复尝试登录,但失败率很高。您可以创建可立即识别此模式的自动化。自动化会阻止 IP 地址,从而通过快速识别和缓解攻击来降低攻击的有效性。当攻击者有大量 IP 地址可供发起攻击,或者攻击行为难以识别且难以与普通流量分开时,屏蔽特定 IP 地址的效果会降低。 

IP 地址信誉

IP 信誉服务提供的情报有助于评估 IP 地址的可信度。这种情报通常是通过汇总来自该 IP 地址的过去活动的 IP-related 信息得出的。之前的活动有助于表明 IP 地址生成恶意请求的可能性。数据将添加到跟踪 IP 地址行为的托管列表中。

匿名 IP 地址是 IP 地址信誉的一种特殊情况。源 IP 地址来自已知的易于获取的 IP 地址来源,例如基于云的虚拟机,或者来自代理,例如已知的 VPN 提供商或 Tor 节点。 AWS WAF Amazon IP 信誉列表和匿名 IP 列表托管规则组使用亚马逊内部威胁情报来帮助识别这些 IP 地址。

这些托管列表提供的情报可以帮助您对从这些来源识别出的活动采取行动。基于这种情报,您可以创建直接阻止流量的规则或限制请求数量的规则(例如基于速率的规则)。您还可以在COUNT模式下使用规则,使用此情报来评估流量来源。这将检查匹配条件并应用可用于创建自定义规则的标签。

Rate-based 规则

Rate-based 在某些情况下,规则可能是一个有价值的工具。例如,与敏感的统一资源标识符 (URI) 中的用户相比,当机器人流量达到高流量时,或者当流量开始影响正常操作时,基于速率的规则就会生效。速率限制可以将请求保持在可管理的级别,并限制和控制访问权限。 AWS WAF 可以使用基于速率的规则语句在 Web 访问控制列表 (Web ACL) 中实现速率限制规则。使用基于费率的规则时,推荐的方法是包括涵盖整个站点、规则和基于 IP 信誉率的 URI-specific 规则的一揽子规则。基于 IP 信誉率的规则将 IP 地址信誉智能与速率限制功能相结合。

对于整个网站,基于IP信誉率的一揽子规则创建了一个上限,可以防止不复杂的机器人从少量IP中涌入站点。特别建议限制速率以保护成本高或影响力较高的 URI,例如登录或账户创建页面。

Rate-limiting 规则可以提供具有成本效益的第一层防御。您可以使用更高级的规则来保护敏感 URI。 URI-specific 基于速率的规则可以限制对关键页面或影响后端的 API(例如数据库访问)的影响。保护某些 URI 的高级缓解措施(将在本指南的后面部分讨论)通常会产生额外的成本,而这些 URI-specific 基于费率的规则可以帮助您控制成本。有关通常推荐的基于费率的规则的更多信息,请参阅 AWS 安全博客中的三个最重要的 AWS WAF 基于费率的规则。在某些情况下,限制基于速率的规则评估的请求类型很有用。例如,您可以使用 scope-down 语句按源 IP 地址的地理区域限制基于速率的规则。

AWS WAF 通过使用聚合密钥为基于速率的规则提供了高级功能。借助此功能,您可以将基于速率的规则配置为使用除源 IP 地址之外的其他各种聚合密钥和密钥组合。例如,作为单一组合,您可以根据转发的 IP 地址、HTTP 方法和查询参数聚合请求。这可以帮助您配置更精细的规则,以实现复杂的容量流量缓解。

内在检查

内部检查是系统或流程中各种类型的内部或固有验证或验证。对于机器人控制,通过验证请求中发送的信息是否与系统信号相匹配来 AWS WAF 执行内在检查。例如,它执行反向 DNS 查找和其他系统验证。一些自动请求是必要的,例如 SEO-related请求。允许上架是允许良好、预期的机器人通过的一种方式。但是有时候,恶意机器人会模仿好机器人,将它们区分开来可能很困难。 AWS WAF 提供了通过托管AWS WAF 机器人控制规则组实现此目的的方法。该组中的规则可以验证自我识别的机器人是他们所说的真实身份。 AWS WAF 根据该机器人的已知模式检查请求的详细信息,它还会执行反向 DNS 查找和其他客观验证。