前段时间蓝点网曾提过国内某家搜索引擎爬虫不遵守协议高频抓爬导致国内外许多网站如被攻击般访问极度缓慢。当时相关公司看到报道后对爬虫进行紧急优化解决高频抓爬问题,不过最近蓝点网又发现新的陌生爬虫高频抓爬。这个新爬虫为名为AspiegelBot主要模拟安卓机进行抓爬,UA标识符里也没有标注爬虫所属公司对应的介绍界面。
经过搜索蓝点网发现这个爬虫属于华为旗下的Aspiegel公司,该公司位于爱尔兰都柏林,负责华为移动服务(HMS)国际版的运营。
▲截图来自ASPIEGEL公司官网
华为向国外用户提供的搜索服务:
高频抓爬如小型DDoS攻击:
爬虫通常指的是搜索引擎用于索引互联网内容的自动化程序,当然现在爬虫也被用于抓取各类特定的互联网内容。正常情况下搜索引擎爬虫会根据网站的负载情况动态调整抓爬频率,防止因抓爬频率过高影响被抓取网站的访问。爬虫抓取内容时与正常用户访问网站类似,因此当抓爬频率过高时会消耗网站大量服务器资源影响正常用户访问。
华为的搜索引擎爬虫就存在高频抓爬问题,即爬虫无视服务器负载情况疯狂抓取和重复抓取大量内容消耗服务器。这种抓爬情况的结果就是被抓爬的网站服务器资源被消耗过大影响正常服务,甚至还会出现网站服务中断等情况。个别时候华为搜索引擎爬虫的超高频抓取甚至如小型 DDoS 攻击,遭到抓爬的网站瞬间瘫痪只能购买更多服务器。例如国外某开发者网站最近华为爬虫访问频次增加达460%,迫于无奈该网站只能通过多种措施屏蔽华为的访问。
▲国外开发者平台Hypernode统计的华为爬虫频次趋势
华为爬虫UA标识符信息:
114.119.160.95--"Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; AspiegelBot)" 114.119.1166.4--"Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; AspiegelBot)" 114.119.166.86--"Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; AspiegelBot)" 114.119.165.202--"Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; AspiegelBot)" 114.119.163.184--"Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; AspiegelBot)" 114.119.161.58--"Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; AspiegelBot)"
在网站日志中出现的华为爬虫:
为何不愿遵守Robots.txt协议:
在互联网世界有个约定俗成的规范,那就是使用Robots.txt协议来告诉爬虫你是否可以抓爬或可以抓爬哪些内容。尽管这并不是法律但在互联网世界里多数知名公司的爬虫还是遵守该协议的,如果网站不愿被抓爬可以禁止爬虫。然而华为爬虫不知道是因开发问题还是运营问题并没有遵守该协议,甚至都不会访问网站设置的Robots.txt文件。这导致许多被抓爬到几乎瘫痪的网站无法通过配置协议来阻止华为抓取,要想屏蔽华为爬虫需使用更高级的策略。
华为搜索只为国际用户服务但国内网站也遭殃:
由华为子公司 Aspiegel 运营的华为移动服务国际版主要为国外用户服务,华为搜索服务同样也只面向国外用户。在蓝点网的查询中发现受到华为搜索爬虫影响最大的还是欧洲网站,毕竟该爬虫主要索引的都是国外网站的内容。然而国内网站也同样遭到华为爬虫的高频抓取,部分小型网站和个人网站等不得不增加服务器配置应对超高负载。增加服务器配置意味着网站需要支出更多服务器费用,然而爬虫不断地重复性抓取对于网站来说也没有太大意义。尤其是国内网站多数为中文不太可能被国外用户通过华为搜索引擎看到,所以与其浪费钱不如直接屏蔽华为爬虫。
▲IPIP.NET对部分爬虫地址进行查询的结果
怎么屏蔽或阻挡华为爬虫的高频访问:
建议网站管理员调整Robots.txt将华为爬虫添加到阻止列表,尽管当前并不能阻止但说不好以后华为会遵守该协议。
User-agent:AspiegelBot
Disallow:/
目前最简单也是最有效的屏蔽方式就是直接将华为爬虫所属IP端拦截,只要把这些IP地址全部拦截即可高枕无忧。经蓝点网手工排查目前华为搜索引擎爬虫主要托管在华为新加坡数据中心,该爬虫使用的IP地址归类后主要是:114.119.16x.xxx
网站应该屏蔽的范围可以从114.119.160.0~114.119.167.254(备注:从114.119.167.255开始标注为华为云不带AspiegelBot字样因此应该不是爬虫所使用的IP段了)。只要将这个IP段屏蔽访问就应该可以明显缓解华为爬虫带来的压力,屏蔽后网站可以继续通过日志排查爬虫情况。
目前蓝点网初步判断从 114.119.167.255~114.119.169.255 不是爬虫使用的,因为我们排查日志没有发现痕迹。若网站管理员发现该IP端仍然有华为爬虫的话可以扩大屏蔽范围,将 114.119.16x.xxx 整个IP地址段全部屏蔽掉缓解华为爬虫高频抓爬带来的压力。