爬蟲普及,Web安全更需注意
網際網路技術上不斷髮展,Python的普及以及代理ip的進一步穩定,爬蟲技術也得到了前所未有的優化。過去我們或許還會為抓取海量資料而頭痛。但現在,不斷優化的網路爬蟲技術,卻能夠輕鬆應對這個問題,為高效搜尋使用者關注的特定領域與主題提供了有力支撐。而網路爬蟲現在也逐漸發展成為涵蓋資料抽取、機器學習、資料探勘、語義理解等多種方法綜合應用的智慧工具。
凡事都有兩面性,網路爬蟲帶太陽HTTP來便利的同時,也網站的安全問題帶來了不小的隱患,惡意使用者可以利用爬蟲程式對Web站點發動DoS***,使Web服務在大量爬蟲程式的暴力訪問下,資源耗盡而不能提供正常服務。惡意使用者還可能通過網路爬蟲抓取各種敏感資料用於不正當用途,主要表現在以下幾個方面:
1)搜尋測試頁面、手冊文件、樣本程式及可能存在的缺陷程式
大多數Web伺服器軟體附帶了測試頁面、幫助文件、樣本程式及除錯用後門程式等。這些檔案往往會洩漏大量的系統資訊甚至提供繞過認證直接訪問Web服務資料的方法,成為惡意使用者分析***Web伺服器的有效情報來源。而且這些檔案的存在本身也暗示網站中存在潛在的安全漏洞。
2)搜尋網際網路使用者的個人資料
網際網路使用者的個人資料包括姓名、×××號、電話、Email地址、QQ號、通訊地址等個人資訊,惡意使用者獲取後容易利用社會工程學實施***或詐騙。
3)搜尋管理員登入頁面
許多網路產品提供了基於Web的管理介面,允許管理員在網際網路中對其進行遠端管理與控制。如果管理員疏於防範,沒有修改網路產品預設的管理員名及密碼,一旦其管理員登入頁面被惡意使用者搜尋到,網路安全將面臨極大的威脅。
4)搜尋目錄列表
網際網路中的許多Web伺服器在客戶端請求該站點中某個沒有預設頁面的目錄時,會返回一個目錄列表。該目錄列表通常包括可供使用者點選的目錄和檔案連結,通過這些連結可以訪問下一層目錄及當前目錄中的檔案。因而通過抓取目錄列表,惡意使用者往往可獲取大量有用的資料,包括站點的目錄結構、敏感檔案以及 Web伺服器設計架構及配置資訊等等,比如程式使用的配置檔案、日誌檔案、密碼檔案、資料庫檔案等,都有可能被網路爬蟲抓取。這些資訊可以作為挑選***目標或者直接***站點的重要資料。
如何應對爬蟲的安全威脅
由於網路爬蟲帶來的安全威脅,不少網站的管理人員都在考慮對爬蟲訪問進行限制甚至拒絕爬蟲訪問。
限制爬蟲可以通過以下幾種方法實現:
1) 設定robots.txt檔案
限制爬蟲最簡單的方法是設定robots.txt檔案。robots.txt檔案是搜尋引擎爬蟲訪問網站的時候要檢視的第一個檔案,它告訴爬蟲程式在伺服器上什麼檔案是可以被檢視的,如設定Disallow: /,則表示所有的路徑均不能檢視。遺憾的是並不是所有的搜尋引擎爬蟲會遵守這個規則,因此僅僅設定robots檔案是不夠的。
2) User Agent識別與限制
一般的爬蟲程式都可以通過其HTTP請求中的User Agent欄位進行識別,該欄位使伺服器能夠識別客戶使用的作業系統及版本、CPU型別、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器外掛等。
3) 通過訪問行為特徵識別與限制
對於在HTTP請求的User Agent欄位刻意偽裝成瀏覽器的爬蟲,可以通過其訪問行為特徵進行識別。爬蟲程式的訪問一般是有規律性的頻率比較高,區別於真實使用者瀏覽時的隨意性與低 頻率。對這類爬蟲的限制原理與DDoS***的防禦原理很相似,都基於統計資料。對於這類爬蟲的限制只能通過應用識別裝置、IPS等能夠做深度識別的網路設 備來實現。
無論是爬蟲還是反爬蟲,都少不了代理ip的支援,在網際網路的無聲世界裡,爬蟲之間的戰爭從未停止過,勝利的關鍵就在於能否真正阻攔或者突破對方的侵入或者限制。這裡還是呼籲,合理使用爬蟲技術,不要做違法的事情。love&paece