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