前段時(shí)間藍(lán)點(diǎn)網(wǎng)曾提過(guò)國(guó)內(nèi)某家搜索引擎爬蟲(chóng)不遵守協(xié)議高頻抓爬導(dǎo)致國(guó)內(nèi)外許多網(wǎng)站如被攻擊般訪(fǎng)問(wèn)極度緩慢。當(dāng)時(shí)相關(guān)公司看到報(bào)道后對(duì)爬蟲(chóng)進(jìn)行緊急優(yōu)化解決高頻抓爬問(wèn)題,不過(guò)最近藍(lán)點(diǎn)網(wǎng)又發(fā)現(xiàn)新的陌生爬蟲(chóng)高頻抓爬。這個(gè)新爬蟲(chóng)為名為AspiegelBot主要模擬安卓機(jī)進(jìn)行抓爬,UA標(biāo)識(shí)符里也沒(méi)有標(biāo)注爬蟲(chóng)所屬公司對(duì)應(yīng)的介紹界面。
經(jīng)過(guò)搜索藍(lán)點(diǎn)網(wǎng)發(fā)現(xiàn)這個(gè)爬蟲(chóng)屬于華為旗下的Aspiegel公司,該公司位于愛(ài)爾蘭都柏林,負(fù)責(zé)華為移動(dòng)服務(wù)(HMS)國(guó)際版的運(yùn)營(yíng)。
▲截圖來(lái)自ASPIEGEL公司官網(wǎng)
華為向國(guó)外用戶(hù)提供的搜索服務(wù):
高頻抓爬如小型DDoS攻擊:
爬蟲(chóng)通常指的是搜索引擎用于索引互聯(lián)網(wǎng)內(nèi)容的自動(dòng)化程序,當(dāng)然現(xiàn)在爬蟲(chóng)也被用于抓取各類(lèi)特定的互聯(lián)網(wǎng)內(nèi)容。正常情況下搜索引擎爬蟲(chóng)會(huì)根據(jù)網(wǎng)站的負(fù)載情況動(dòng)態(tài)調(diào)整抓爬頻率,防止因抓爬頻率過(guò)高影響被抓取網(wǎng)站的訪(fǎng)問(wèn)。爬蟲(chóng)抓取內(nèi)容時(shí)與正常用戶(hù)訪(fǎng)問(wèn)網(wǎng)站類(lèi)似,因此當(dāng)抓爬頻率過(guò)高時(shí)會(huì)消耗網(wǎng)站大量服務(wù)器資源影響正常用戶(hù)訪(fǎng)問(wèn)。
華為的搜索引擎爬蟲(chóng)就存在高頻抓爬問(wèn)題,即爬蟲(chóng)無(wú)視服務(wù)器負(fù)載情況瘋狂抓取和重復(fù)抓取大量?jī)?nèi)容消耗服務(wù)器。這種抓爬情況的結(jié)果就是被抓爬的網(wǎng)站服務(wù)器資源被消耗過(guò)大影響正常服務(wù),甚至還會(huì)出現(xiàn)網(wǎng)站服務(wù)中斷等情況。個(gè)別時(shí)候華為搜索引擎爬蟲(chóng)的超高頻抓取甚至如小型 DDoS 攻擊,遭到抓爬的網(wǎng)站瞬間癱瘓只能購(gòu)買(mǎi)更多服務(wù)器。例如國(guó)外某開(kāi)發(fā)者網(wǎng)站最近華為爬蟲(chóng)訪(fǎng)問(wèn)頻次增加達(dá)460%,迫于無(wú)奈該網(wǎng)站只能通過(guò)多種措施屏蔽華為的訪(fǎng)問(wèn)。
▲國(guó)外開(kāi)發(fā)者平臺(tái)Hypernode統(tǒng)計(jì)的華為爬蟲(chóng)頻次趨勢(shì)
華為爬蟲(chóng)UA標(biāo)識(shí)符信息:
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)"
在網(wǎng)站日志中出現(xiàn)的華為爬蟲(chóng):
為何不愿遵守Robots.txt協(xié)議:
在互聯(lián)網(wǎng)世界有個(gè)約定俗成的規(guī)范,那就是使用Robots.txt協(xié)議來(lái)告訴爬蟲(chóng)你是否可以抓爬或可以抓爬哪些內(nèi)容。盡管這并不是法律但在互聯(lián)網(wǎng)世界里多數(shù)知名公司的爬蟲(chóng)還是遵守該協(xié)議的,如果網(wǎng)站不愿被抓爬可以禁止爬蟲(chóng)。然而華為爬蟲(chóng)不知道是因開(kāi)發(fā)問(wèn)題還是運(yùn)營(yíng)問(wèn)題并沒(méi)有遵守該協(xié)議,甚至都不會(huì)訪(fǎng)問(wèn)網(wǎng)站設(shè)置的Robots.txt文件。這導(dǎo)致許多被抓爬到幾乎癱瘓的網(wǎng)站無(wú)法通過(guò)配置協(xié)議來(lái)阻止華為抓取,要想屏蔽華為爬蟲(chóng)需使用更高級(jí)的策略。
華為搜索只為國(guó)際用戶(hù)服務(wù)但國(guó)內(nèi)網(wǎng)站也遭殃:
由華為子公司 Aspiegel 運(yùn)營(yíng)的華為移動(dòng)服務(wù)國(guó)際版主要為國(guó)外用戶(hù)服務(wù),華為搜索服務(wù)同樣也只面向國(guó)外用戶(hù)。在藍(lán)點(diǎn)網(wǎng)的查詢(xún)中發(fā)現(xiàn)受到華為搜索爬蟲(chóng)影響最大的還是歐洲網(wǎng)站,畢竟該爬蟲(chóng)主要索引的都是國(guó)外網(wǎng)站的內(nèi)容。然而國(guó)內(nèi)網(wǎng)站也同樣遭到華為爬蟲(chóng)的高頻抓取,部分小型網(wǎng)站和個(gè)人網(wǎng)站等不得不增加服務(wù)器配置應(yīng)對(duì)超高負(fù)載。增加服務(wù)器配置意味著網(wǎng)站需要支出更多服務(wù)器費(fèi)用,然而爬蟲(chóng)不斷地重復(fù)性抓取對(duì)于網(wǎng)站來(lái)說(shuō)也沒(méi)有太大意義。尤其是國(guó)內(nèi)網(wǎng)站多數(shù)為中文不太可能被國(guó)外用戶(hù)通過(guò)華為搜索引擎看到,所以與其浪費(fèi)錢(qián)不如直接屏蔽華為爬蟲(chóng)。
▲IPIP.NET對(duì)部分爬蟲(chóng)地址進(jìn)行查詢(xún)的結(jié)果
怎么屏蔽或阻擋華為爬蟲(chóng)的高頻訪(fǎng)問(wèn):
建議網(wǎng)站管理員調(diào)整Robots.txt將華為爬蟲(chóng)添加到阻止列表,盡管當(dāng)前并不能阻止但說(shuō)不好以后華為會(huì)遵守該協(xié)議。
User-agent:AspiegelBot
Disallow:/
目前最簡(jiǎn)單也是最有效的屏蔽方式就是直接將華為爬蟲(chóng)所屬I(mǎi)P端攔截,只要把這些IP地址全部攔截即可高枕無(wú)憂(yōu)。經(jīng)藍(lán)點(diǎn)網(wǎng)手工排查目前華為搜索引擎爬蟲(chóng)主要托管在華為新加坡數(shù)據(jù)中心,該爬蟲(chóng)使用的IP地址歸類(lèi)后主要是:114.119.16x.xxx
網(wǎng)站應(yīng)該屏蔽的范圍可以從114.119.160.0~114.119.167.254(備注:從114.119.167.255開(kāi)始標(biāo)注為華為云不帶AspiegelBot字樣因此應(yīng)該不是爬蟲(chóng)所使用的IP段了)。只要將這個(gè)IP段屏蔽訪(fǎng)問(wèn)就應(yīng)該可以明顯緩解華為爬蟲(chóng)帶來(lái)的壓力,屏蔽后網(wǎng)站可以繼續(xù)通過(guò)日志排查爬蟲(chóng)情況。
目前藍(lán)點(diǎn)網(wǎng)初步判斷從 114.119.167.255~114.119.169.255 不是爬蟲(chóng)使用的,因?yàn)槲覀兣挪槿罩緵](méi)有發(fā)現(xiàn)痕跡。若網(wǎng)站管理員發(fā)現(xiàn)該IP端仍然有華為爬蟲(chóng)的話(huà)可以擴(kuò)大屏蔽范圍,將 114.119.16x.xxx 整個(gè)IP地址段全部屏蔽掉緩解華為爬蟲(chóng)高頻抓爬帶來(lái)的壓力。