攻击AppleNewsBot的

该AppleNewsBot获取整合馈源,网页和图像苹果新闻服务。不幸的是,机器人的一些草率的编程把它变成一个无意的Web服务器负载测试工具。这里是哪里出了问题,当机器人访问的网站,从使用加密证书让我们加密证书颁发机构。

会发生什么的简要情况如下:yabo亚博体育下载

  1. AppleNewsBot请求http://example.com/robots.txt
  2. 服务器返回一个重定向到HTTP小号://example.com/robots.txt
  3. AppleNewsBot然后请求https://example.com/robots.txt按照指示,但不承认咱们加密的根证书作为有效和休息的连接。这是不正确地识别为失败状态,和机器人返回到步骤1。

这导致从机器人每秒持续3-5的请求。几个小时后,另一AppleNewsBot机器人访问的网站为你的网站没有被标记为在一段时间已被更新。第二个BOT结合第一,你现在有6-10请求每秒。每隔几个小时后,另一AppleNewsBot将加入与其他人。

这种重复,直到你的32个AppleNewsBots(似乎随意苹果将在同一时间发送给机器人的最大数量)发送总每秒96-160请求的小群。到了这个时候,你就已经用完了所有服务的廉价和动力不足的服务器的容量要求。对于我的可怜的小服务器,这耗尽¾服务器的容量,并做出满足从其他游人的请求时,它会降低性能。

我暂时换出,从咱们加密证书与其他证书和AppleNewsBots的群成功抓住他们后的文件,然后离开了。我也谈过,证实与谁都有过同样的问题,都不得不在其网站上让我们的加密证书,其他站长这个问题。

我已经联系苹果有关的问题,并已放心,他们的工程师们对这个问题的工作。然而,已经三个月了,因为我第一次接触他们,问题仍然存在。我尝试过的第一对应关系后,接触,但还没有收到,因为第一电子邮件交流的答复。

由于苹果公司将不会解决他们的机器人的问题上,我需要开始阻止他们腾出资源用于实际的访问者。起初,我改变用途的阻断重复403个请求溶液中使用的fail2ban靶向使用相同的方法过度301个永久移动重定向。Despite that the Fail2Ban ban-action only needed to keep track of redirects for 10 seconds to identify and block the badly-behaved bots from Apple, it leads to quote the increase in Fail2Ban’s memory usage as there are far more legitimate 301 redirects than there are 403 requests in normal operation.

我最终阻止苹果17.133.0.0/16IP范围,这就是他们所有的漫游器的流量源自。如果您遇到顽劣或积极AppleBot或AppleNewsBot流量在您的网站,我建议您阻止的IP范围直接。通常情况下,你可能已为您的/robots.txt文件AppleBot和AppleNewsBot条目,但它的非常行为检索该文件触发的不良行为,这是行不通的。

读者乔尔Risberg编写提出另一种方法,把机器人的文件将被送达,而不是重定向。与解决方案的问题是,当苹果公司的机器人开始从服务器请求其他资源的问题便会浮出水面。它也可以导致与当机器人文件从不同来源不是网站的其他服务的其他机器人URL规范化问题。

如果你想工作与周围的AppleNewsBot问题,你可以从HTTP重定向停下来HTTPS完全当用户代理“AppleNewsBot”相匹配。这也将要求您更改联合供稿所有的链接是纯HTTP而非HTTPS的AppleNewsBot用户代理。这可能取决于您的环境需要大量设置的,所以我会建议无论是从不同机构获取证书或正好挡住AppleNewsBot直接暂且。

如果您使用证书,从一个相对较新或小的证书颁发机构,要知道某些在线服务和机器人可能无法正常运作。这是你付出的是一个早期采纳者的价格。

哦,最后我想提一提,AppleNewsBot发送如果-Modified-Since的如Unix的时间戳而不是RFC 1123的日期格式为需要HTTP。换句话说,他们的草率实施是如此糟糕,他们将始终从每个服务器每次接收缓存缺失。干得好,苹果。在这一个只是了不起的工作。