订阅以接收新文章的通知:

隆重推出友好机器人

2022-03-16

5 分钟阅读时间
这篇博文也有 English日本語版本。

如果提到互联网上的机器人,您的第一反应是什么?

Announcing Friendly Bots

很可能是负面印象。我们大多数人会联想到验证码、密码被盗,或者恶意机器人引起的其他糟糕情况。

但事实上,互联网上有许多善意机器人,包括 Google 的搜索爬网程序和 Stripe 的支付机器人。Cloudflare 会人工 “验证”善意机器人,防止它们被封锁。客户可以选择将通过验证的任何机器人加入允许列表。遗憾的是,新的机器人层出不穷,令我们应接不暇,无法及时验证。所以,今天我们宣布推出一种解决方案:友好机器人

我们先了解一下背景。

我们如何验证机器人?

我们一般是通过公开表单寻找善意机器人。任何人都可以提交机器人,但我们更欢迎机器人运营者填写表单,向我们提供所需的信息。我们需要一些标准信息:机器人的名称、公开文档及用户代理(或正则表达式)。其次,我们还需要帮助我们验证机器人的信息。有四种常用方法:

IP 列表

给我们发送机器人使用的 IP 地址列表。不一定是静态列表,您可以向我们提供动态变化页面,提供 URL 即可,我们会每天获取更新。这些 IP 必须公开记录并专属于您的机器人。如果您提供共享 IP 地址(例如代理服务使用的 IP 地址),我们的系统会检测到风险并拒绝合作。我们希望避免意外使用其他流量。

rDNS

这很有趣。您肯定听说过 DNS:互联网的电话簿,帮助将域名映射到 IP 地址。rDNS 则相反,允许我们利用 IP 地址推断关联的域名。

换句话说:给我们一个主机名后缀,在许多情况下,我们都能验证机器人的身份!

用户代理 + ASN 验证

在一些情况下,我们可以使用相同的用户代理验证来自同一网络(称为“ASN”)的机器人。请注意,我们不能总是这样做,因为流量变得更容易伪造。但我们通常有足够的信心才会使用这种验证方法。

机器学习

这是最奢华的方法。Cloudflare 每秒能看到 3200 多万个请求。我们将这些请求馈送到一个模型中,准确分析善意机器人。如果上述验证方法不适合您,我们可以使用机器学习寻找您的机器人。但我们需要足够的流量(上千个请求)来检测可用模式。

我们通常会在几周之内批准验证机器人请求,然后花一些时间进行质量测试,确保一切都安全。但如上所述,我们常常需要将此方法留给受信任的合作伙伴和更大的机器人,尽管许多用户需要将他们的机器人加入允许列表。

如果我的机器人不是大型全局服务?

我们时时留意(同时关注 Twitter),知道大家想要“个人”版本的已验证机器人。

例如:假设您构建自己的监控服务来抓取您的一些个人网站。验证这种机器人没有意义,因为它不符合我们的任何条件:

  1. 为更广泛的互联网提供服务。

  2. 客观表现出善意行为。

  3. 符合互联网标准,例如 robots.txt

它是您的机器人(对您来说,可能很好!),但其他用户可能不这么认为。想象一下,如果其他人的机器人可以随时轻松进入您的基础结构,您有什么感觉?

还有一种情况。可能 Cloudflare 将特定代理标注为机器人,也许是因为人和机器人都使用该代理访问互联网。您可能希望在网站上允许此流量,而不影响其他 Cloudflare 客户。

最后,如果您在初创公司工作,您的公司运行的自动化服务可能达不到我们所要求的规模。但您仍然需要将这些服务加入允许列表。

隆重推出友好机器人

如上所述的机器人(尤其是常用服务)并无恶意。它们应当介于_恶意_和_善意_之间,是友好机器人。

我们有非常出色的方法来帮助您进行管理。

我们的新功能“友好机器人”允许您使用 IP 列表、rDNS 等方法即时自动验证任何流量。

方法如下:在 Cloudflare 仪表板中,向我们提供您的机器人。您可以提供公共 IP 列表或主机名后缀,甚至可以选择其他方法,例如机器学习。通过 Cloudflare Anycast 网络,可以在我们的_所有_数据中心运行所有这些机制。这意味着机器人验证性能良好、安全,并且可扩展。

构建友好机器人集合,在您的站点之间共享,针对此类型的流量创建允许、速率限制或记录等自定义策略。您可能只想关注某个特定机器人;这也是可以的。响应选项非常灵活,可直接与我们的 Workers 平台集成。

过去,我们很难验证并未大规模抓取网页的机器人。为什么?我们的系统依赖已验证流量的缓存,确保特定 IP 或其他数据在互联网上普遍表现出良性的行为。这意味着,如果机器人没有向 Cloudflare 发起上千个请求,有时很难进行验证。利用友好机器人可以解决这个问题,引入新的动态缓存来优化规模较小的项目。

下游优点

友好机器人会简化您的仪表板体验。但我们想着重强调一些不容易被发现的优点:

更容易验证

诚然,获知互联网上的所有善意机器人非常困难。为了验证机器人,我们一直依赖人工提交,这可能在善意机器人创建后几周甚至几个月才会进行。然而,友好机器人完全改变了这一点。如果我们注意到许多客户将特定机器人加入允许列表,例如特定 IP 地址或主机名后缀,系统会自动将该机器人加入验证队列。我们可以智能使用您的友好机器人来帮助 Cloudflare 的其他客户。

即时反馈

以前,用户一直被验证过程困扰。_是否需要为 IP 提供文档?还有用户代理:它会随时间变化吗?_如果验证数据的任何一部分被破坏,我们可能需要几周时间才能识别和修复。

现在,这种情况不复存在。利用友好机器人,我们几乎可以即时执行验证。所以,如有异常 (也许您的 rDNS 验证使用了错误的主机名),您第一时间就能知晓,因为机器人无法加入允许列表。不用再等我们的支持团队回复。

改善来源

以前,我们需要机器人运营者(例如 Google)自己提交验证数据。如果您想验证不属于您的机器人,很不幸,没法进行。

使用友好机器人则不需要完全依赖机器人运营者。只要知道标识信息,任何人都可以在他们的网站上登记机器人。

无需仲裁

如果您的网站出现爬虫,这是好事吗?对某些人来说,是好事,因为问题得到了暴露。对另一些人来说,则不是好事,因为爬虫可能会获取数据。针对迄今为止的每个机器人验证提交,我们都仔细考虑了这个问题。

现在:您需要自己做选择。友好机器人把控制权交到您手中,允许您在域级别对机器人分类。我们将继续在全局级别验证机器人(如果行为在客观上是善意的)。

Cloudflare Radar

下面是一个有趣福利:除了今天宣布推出的友好机器人,我们还对 Cloudflare Radar 进行了一些更改。

您马上就能看到 Radar 已验证机器人名单。这令人非常兴奋;我们之前从未发布过如此详细的名单。

所有数据实时更新。新的机器人通过验证后,就会显示在 Radar 模块中。

而且,我们还会将特定已验证机器人添加到日志产品。您将看到它们的机器人 Tag 标记,来自 Pinterest 机器人的请求可能包括字符串“pinterest”。

接下来?

我们的团队很高兴即将推出友好机器人。我们预计,这将影响整个机器人管理,减少误报、改善可抓取性,从总体上保持站点的稳定性。

如果您需要管理机器人,想尝试这个新功能,请告知客户部(我们一定会将您加入抢先体验名单)。您也可以继续提交应该验证的机器人

我们保护整个企业网络,帮助客户高效构建互联网规模的应用程序,加速任何网站或互联网应用程序抵御 DDoS 攻击,防止黑客入侵,并能协助您实现 Zero Trust 的过程

从任何设备访问 1.1.1.1,以开始使用我们的免费应用程序,帮助您更快、更安全地访问互联网。要进一步了解我们帮助构建更美好互联网的使命,请从这里开始。如果您正在寻找新的职业方向,请查看我们的空缺职位
Security WeekBots安全性产品新闻

在 X 上关注

Ben Solomon|@bensol
Cloudflare|@cloudflare

相关帖子

2024年10月24日 13:00

Durable Objects aren't just durable, they're fast: a 10x speedup for Cloudflare Queues

Learn how we built Cloudflare Queues using our own Developer Platform and how it evolved to a geographically-distributed, horizontally-scalable architecture built on Durable Objects. Our new architecture supports over 10x more throughput and over 3x lower latency compared to the previous version....

2024年10月08日 13:00

Cloudflare acquires Kivera to add simple, preventive cloud security to Cloudflare One

The acquisition and integration of Kivera broadens the scope of Cloudflare’s SASE platform beyond just apps, incorporating increased cloud security through proactive configuration management of cloud services. ...