Bots 防護的本質其實就是識別流量和處理流程的過程。ESA的Bots防護基於多維度資料收集、先進檢測引擎、動態風險評分、驗證挑戰和持續學習,實現對流量的分類和處理。
識別Bots流量
精準快速地識別出Bots流量,關乎著自身服務的安全,為此,ESA的Bots防護提供了多種不同的策略供使用者選擇。在簡易模式下,使用AI決策識別Bots流量策略;在進階模式下,提供了多種可配置的識別策略,例如黑白名單策略、請求行為分析策略、請求特徵分析策略等,您可以根據自身業務需要進行個人化配置。
AI決策識別Bots流量
Bots防護的簡易模式採用該方式為不同的Bots分類,結合AI大模型和海量情報資料對請求進行危險等級評分和分級,根據不同的分級和評分,將Bots請求分為已通過驗證的Bot、絕對是Bot、可能是Bot。
您可以對不同的分類執行不同的Bots處理方式。
已通過驗證的Bot通常是各類搜尋引擎的爬蟲,這些爬蟲有利於網站的SEO最佳化,提高網站曝光率,因此,對於這部分的流量,可以選擇配置允許存取。
絕對是Bot的流量通常含有大量的惡意爬蟲請求,這種流量對網站有很大的威脅,對於這部分流量,可以選擇配置攔截。
可能是Bot的流量是威脅程度介於以上兩種之間的,這部分流量有些是正常善意的請求,有些是惡意的爬蟲請求。 對於這部分,可以選擇配置滑塊挑戰,過濾掉來自機器人的流量。
白名單機制
對於有益的網路爬蟲或者確定是無害的請求,防護系統提供了白名單機制,確保它們能順利訪問被允許的內容,避免被誤傷。
策略 | 使用情境 |
合法的搜尋引擎白名單 | 對於大型搜尋引擎(Google、Bing、百度等),他們爬蟲的索引是網站在搜尋引擎中排名的前提,能夠給網站帶來可持續的免費自然流量,對內容型、商業型網站至關重要。ESA的Bots防護中可以選擇指定的搜尋引擎爬蟲直接允許存取,不再經過Bots管理模組的防護檢測。 |
IP白名單 | 對於確定需要允許存取的請求,可以將其IP加入IP白名單,這樣就可以使這些請求跳過Bots的防護機制。 |
黑名單機制
對於全球範圍內已經明確是惡意的Bots,防護系統提供了黑名單機制,直接將命中黑名單的請求標記為惡意Bots。另外,也可以利用黑名單機制,主動屏蔽不安全或惡意基礎設施的流量。
策略 | 使用情境 |
IDC黑名單 | 如果您的使用者用戶端不會來自公用雲端或IDC的機房,可直接設定阻斷IDC的請求,主動屏蔽可能產生的風險。(注意加白已知的合法調用,如支付寶或微信的支付回調、監控程式等) |
爬蟲威脅情報庫 | 使用由阿里雲收錄的一段時間內在阿里雲上對多個使用者有多次惡意爬取行為的攻擊源IP地址庫,通過請求的IP來攔截威脅Bots。 |
通過請求特徵來識別Bots
流量特徵識別通過分析HTTP請求的靜態屬性(如要求標頭、協議完整性、SSL/TLS指紋等),快速識別不符合標準的行為模式。
策略 | 使用情境 |
JavaScript 挑戰 | 檢測用戶端是否具備執行JavaScript的能力,不能執行JS的非瀏覽器類工具的請求將會被視為惡意請求,並且被阻止。 |
動態令牌挑戰 | 當使用者或用戶端發起請求時,ESA會動態產生一個一次性加密令牌,該令牌基於當前請求的上下文(如時間戳記、使用者行為特徵、IP地址等)產生,並通過密碼編譯演算法簽名以確保不可篡改。開啟後對每一次請求資料進行簽名驗證,不能通過驗簽的請求將被攔截。 |
通過請求行為來識別Bots
流量行為識別核心邏輯是通過分析用戶端(使用者或Bots)向伺服器發起的請求行為特徵,判斷請求是否由人類使用者正常操作產生,或是由自動化指令碼/程式發起的可疑請求。通過對使用者訪問模式的動態分析,發現異常行為特徵。例如,高頻訪問、固定節奏請求、遍曆式掃描等都是典型的Bots行為。
處理Bots流量
基礎防護策略
策略 | 使用情境 |
允許存取 | 對已知合法的Bots流量(如搜尋引擎爬蟲、合作方API調用)開放存取權限,確保業務正常運轉。對於合法搜尋引擎的流量,可以選擇允許存取策略。 |
攔截 | 對明確惡意的Bots(如DDoS攻擊、漏洞掃描工具)直接阻斷訪問。例如對於AI決策識別出來絕對是Bots的流量,可以選擇攔截策略。 |
觀察 | 對可疑但未確認風險的Bots流量進行監控和日誌記錄,暫不阻斷。 |
滑塊挑戰 | 通過人機驗證(如滑塊、點選)區分人類與自動化指令碼。 |
自訂限速
當您想要允許存取一些 Bots 請求但是又不想它們訪問太過頻繁,您可以對來自同一IP或同一特定的會話請求進行頻次控制——對訪問頻次超過指定閾值的請求執行防護動作。您可以在自訂限速規則中進行配置。
自訂限速僅在進階模式中啟用。
配置樣本 1
限制需求:針對同一IP的請求,在 1 分鐘內最多訪問 10 次,否則會被攔截 1 小時;或者在半小時內最多訪問 100 次,否則需要在接下來 10 分鐘都要接受滑塊挑戰。
配置結果:添加如下 2 個條件(每個條件預設為邏輯或的關係,單項中最多存在 3 個條件):
條件 1 :統計時間長度填入
60,閾值填入10,限速動作選擇攔截,限速時間填入3600。條件2 :統計時間長度填入
1800,閾值填入100,限速動作選擇滑塊,限速時間填入600。

配置樣本 2
限制需求:針對
header中帶有api的請求,在 10 分鐘內最多訪問 100 次,否則會被攔截 1 分鐘。配置結果:統計時間長度填入
600,閾值填入100,限速動作選擇攔截,限速時間填入60。
參數限制
針對自訂限速中的配置參數的可用範圍可參考下表。
參數類型 | 範圍 |
統計時間長度 | 5 ~ 1800(秒) |
閾值 | 2 ~ 50000(次) |
限速動作 | 可選項:
|
限速時間 | 60 ~ 86400(秒) |