關於機器人管理
機器人管理會封鎖不想要或惡意的網際網路機器人資料流量,同時容許有用的機器人存取 Web 內容。 機器人管理會偵測機器人活動,識別想要與不想要的機器人行為,並識別不想要活動的來源。
未受管理的機器人可能會導致 Web 內容嚴重問題。 過多的機器人資料流量可能會對 Web 伺服器造成大量負載,減緩或拒絕合法使用者的服務 (例如,DDoS 攻擊)。 惡意機器人可以執行網路攻擊,例如從網站提取內容、竊取使用者認證,以及散佈垃圾郵件內容。
機器人管理員的工作
機器人管理程式是管理機器人的任何軟體產品。 機器人管理員應該能夠封鎖部分機器人並容許其他機器人通過,而不只是封鎖所有非人類資料流量。 例如,如果所有機器人都遭到封鎖,且 Google 機器人無法檢索頁面,則該頁面無法顯示在 Google 搜尋結果中,導致網站的有機資料流量大幅減少。
有效的機器人管理員可達成下列目標:
- 區分機器人與人類訪客
- 識別機器人聲譽
- 根據 IP 信譽識別機器人來源 IP 位址及封鎖
- 分析機器人行為
- 將「良好」機器人新增至允許清單
- 使用 CAPTCHA 測試、JavaScript 注入或其他方法來盤查潛在的機器人
- 速率限制任何過度使用服務的潛在機器人
- 拒絕存取「不正確」機器人的特定內容或資源
- 提供替代內容給機器人
機器人是什麼,他們是做什麼的?
機器人是在網路上自動執行特定動作的電腦程式。 機器人程式設計要執行的作業相當簡單,但機器人可以比人類更快速地重複執行這些作業。
機器人不會使用傳統 Web 瀏覽器或滑鼠來存取網際網路,以與視覺化內容互動。 Bot 是軟體程式,通常使用「遠端控制瀏覽器」來提出 HTTP 要求及其他活動。
機器人幾乎可以執行任何可自動化的重複、無創意作業,包括填寫表單、閱讀及下載內容,甚至以聊天機器人身分與人類進行基本對話。 就像任何可以用於良好用途的工具一樣,機器人也可以用於惡意行為。
好機器人與壞機器人之間的差異
據估計,最多一半的網際網路資料流量是機器人資料流量。 有些機器人是惡意的,有些是「好的」。
濫用線上產品或服務的機器人可能被視為「壞」。 不良機器人的範圍從惡意到惱人; 例如,入侵使用者帳戶以竊取資料,或線上購買演唱會門票以協助黃牛。
執行有用服務的機器人可視為「良好」。 例如,客戶服務聊天機器人、搜尋引擎搜索器及效能監視機器人通常是良好的機器人。 好機器人會尋找並遵守網站 robots.txt
檔案中概述的規則。
robots.txt
檔案
Robots.txt
是一個檔案,概述 Web 伺服器上的機器人存取內容的規則,但檔案本身不會強制執行這些規則。 任何人對機器人進行程式設計,都應該遵循榮譽系統,並確保其機器人在存取網站之前先檢查網站的 robots.txt
檔案。 惡意機器人不會遵循此系統,這會產生機器人管理的需求。
機器人管理的運作方式
為了識別機器人,機器人管理程式可能會使用 JavaScript 盤查 (決定是否使用傳統 Web 瀏覽器) 或 CAPTCHA 盤查。 他們也可以透過行為分析來判斷哪些使用者是人類,哪些是機器人; 方法是比較使用者的行為與過去使用者的標準行為。
當機器人被識別為不正確時,它可以重新導向至不同的頁面,或完全阻止存取 Web 資源。
良好的機器人可以新增至允許清單。 機器人管理員也可以使用進一步行為分析來區分好與壞機器人。
另一種機器人管理方法是使用 robots.txt
檔案來設定 Honeypot。 Honeypot 是錯誤動作者的偽造目標,當存取時,會將錯誤動作者暴露為惡意。 在機器人的情況下,Honeypot 可能是網站上的網頁,robots.txt
檔案禁止使用該網頁。 好的機器人會讀取 robots.txt
檔案並避免該網頁; 有些壞的機器人會搜索網頁。 透過追蹤存取 Honeypot 之 Bot 的 IP
位址,可以識別並封鎖不正確的 Bot。
機器人攻擊機器人管理的類型減輕
機器人管理解決方案可協助停止各種攻擊,包括下列各項:
- DDoS 攻擊
- DoS 攻擊
- 認證填充
- 信用卡填充
- 強制入侵強制密碼破解
- 垃圾郵件內容
- 資料刮平和 Web 刮平
- 電子郵件位址搜集
- 廣告詐騙
- 按一下詐騙
這些機器人活動並非一律視為「惡意」,但機器人管理員應該仍然能夠減輕它們:
- 庫存囤積
- 在社交論壇或平台上自動張貼文章
- 購物車裝貨
CIS 如何管理機器人?
CIS 會每天從流經其網路的要求收集資料。 使用此資料 (採用 Cloudflare 的機器學習和行為分析技術),CIS 可以識別可能的機器人活動,並可提供如何使用「防火牆規則」容許或禁止特定機器人資料流量的相關資訊。
Cloudflare Bot Management 使用下列偵測機制,每一個都產生自己的評分,然後結合以形成單一評分:
- 機器學習: 高度精確的機器人識別機器學習模型,針對數兆個要求進行訓練,對要求處理速度的影響最小
- 啟發式引擎: 透過一組簡式規則來篩選要求,根據所提出要求的特定屬性來擷取機器人,以偵測機器人。
- 行為分析: 偵測從未見過的機器人,計算並分析長時間的正常訪客行為。
- 已驗證的機器人: 使用數個驗證器及具有唯一良好機器人身分的機器人目錄,來避免意外封鎖有用機器人的方法。
- JS 指紋: 一種盤查回應系統,它會注入 Cloudflare 邊緣的網頁中,並呈現在背景中以進行驗證。