我应该阻止 Yandex 机器人吗?

信息安全 Web应用程序 机器人
2021-08-20 00:56:26

我有一个 Web 应用程序,Yandex 蜘蛛尝试访问后端几次。在这些蜘蛛搜索之后,很少有俄罗斯 IP 地址也尝试访问后端,但他们无法访问。

我应该阻止 Yandex 还是采取其他措施?

更新:

Yandex 蜘蛛大约每 2-3 天访问一次后端 URL。我们没有在前端发布任何后端 URL。

后端”的含义:Web 应用程序的界面只允许我们的管理员管理应用程序

4个回答

我应该阻止 Yandex

为什么?
首先,如果该机器人是合法的搜索引擎机器人(仅此而已),它们不会入侵您。如果没有,阻止用户代理将无济于事,他们只会使用另一个。
如果你的密码是好的,配置了fail2ban,软件是最新的等等,就让他们试试吧。如果没有,您需要独立于任何 Yandex 机器人来解决这个问题。

为确保问题实际上是 Yandex,请尝试在 robots.txt 中禁止它并查看它是否停止。
不 => 不是 Yandex。

(几周前确实建立了一个新的网络服务器。上线一小时后,甚至还没有域,“Googlebot”开始尝试对不存在的 Wordpress 进行 SQL 注入。观看很有趣,因为没有其他HTTP 请求。但我并没有因此阻止谷歌。)

除了同意@deviantfan 的回答,特别是这一点

首先,如果该机器人是合法的搜索引擎机器人(仅此而已),它们不会入侵您。如果没有,阻止用户代理将无济于事,他们只会使用另一个。

我想指出,Yandex以及其他搜索引擎机器人通常可能不会有意访问您的后端。请记住,机器人通过跟踪链接来爬取网站,因此想象一下,如果坏人会将您的一些后端网址放在其他网站的页面中,并且搜索引擎只是索引这些页面,现在正试图从那里跟踪链接。因此,看起来搜索引擎正在尝试访问您的后端 - 但它只是在网络上爬行:它不知道它是您的后端。

类似的事情可能会偶然发生。假设一个非技术型用户在某个论坛上发布了一个网址,该网址只有在您登录时才能访问 - 通过抓取搜索引擎将尝试跟踪这些链接,您最终会看到日志,就像我假设的那样。

更新:我认为您可能希望在 robots.txt 规则中设置禁止 yandex 访问特定网址。顺便说一句,你最好用它的名字定义特定的规则,我不确定,但它可能会发生,yandexbot 可以忽略User-agent: *,所以你可以这样做(根据你的后端 url)

User-agent: Yandex
Disallow: /admin/*

因此,通过这种方式,您将禁止它尝试访问后端 url - 匹配该模式,但同时它(yandexbot)将可以自由地抓取您网站的其他页面。

您不应该阻止合法的 Yandex 机器人,但您可以验证它实际上是合法的机器人,而不是仅仅使用 Yandex 用户代理的人。

来自:https : //yandex.com/support/webmaster/robot-workings/check-yandex-robots.xml

  • 使用您的服务器日志确定相关用户代理的 IP 地址。所有 Yandex 机器人都由一组用户代理表示。
  • 使用接收到的 IP 地址的反向 DNS 查找来确定主机域名。
  • 确定主机名后,可以查看是否属于Yandex。所有 Yandex 机器人的名称都以“yandex.ru”、“yandex.net”或“yandex.com”结尾。如果主机名有不同的结尾,则机器人不属于 Yandex。
  • 最后,确保名称正确。使用正向 DNS 查找来获取与主机名对应的 IP 地址。它应该与反向 DNS 查找中使用的 IP 地址相匹配。如果 IP 地址不匹配,则表示主机名是假的。

事实上,几乎所有大型搜索引擎都提供了类似的验证 User-Agent 的方法。这样做的方式是因为有人可以欺骗反向 DNS 查找,但不能欺骗该欺骗地址的正向 DNS。

虽然我同意@deviantfan 的回答,但我想补充一点——因为你最初的问题听起来像是通往地狱的道路,我几年前看到有人倒下——即使你尝试完全阻止蜘蛛而不是仅仅告诉它通过 robots.txt 消失(无论如何,您可能应该为管理部分执行此操作),您最终将陷入一场无法获胜的无休止的 whackamole 游戏。

几年前,我读到的另一个网站上的某个人在咆哮谷歌/微软/Yandex/etc 都在“DDOSing”他的网站。显然这个网站是“私人的,只有他的几个朋友应该有任何访问权限,而且它不应该出现在任何搜索引擎中”。然而,显然至少有一个用户发布了各种网络蜘蛛正在寻找的内部位置的链接。(与他们仅从 DNS 记录中了解 www.whatever.tld 不同。)

运行它的人决定拥有一个 robots.txt 文件,以便找到指向它的链接的蜘蛛只会读取该文件并离开是不可接受的。他们需要永远忽略他的网站,在任何情况下都不要再碰它。(他从未合理解释为什么这是唯一可接受的选择。显然,对于那些在他的网站上发布蜘蛛正在发现的内部位置的链接的人正在做一些事情,或者只是要求身份验证,这样机器人就会被倾倒到一个内容免费的登录页面。)

相反,他只是开始将所有网络蜘蛛 IP 列入黑名单,以便它们发出的任何请求尝试都超时而没有响应。一旦他这样做了,他发现,当他们出错并开始从许多不同的 IP 访问他的网站时,蜘蛛并没有跟随一个链接获取 robots.txt 文件并离开一段时间,而是有更短的重试间隔(大概是蜘蛛试图绕过他们认为是网络错误的地方)。

这就是他的 IP 黑名单爆炸到数千个地址的关键,他开始抱怨被搜索引擎 DDOS 攻击。可悲的是,那个人当时已经完全发疯了,拒绝任何试图真正解决他真正问题的尝试,而不是他确信是正确的解决方案。