AWS WAF 機器人控制規則群組 - AWS WAF、 AWS Firewall Manager、和 AWS Shield Advanced

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS WAF 機器人控制規則群組

VendorName:AWS, 名稱:AWSManagedRulesBotControlRuleSet, 中央大學:50

機器人控制受管理規則群組會提供管理來自機器人要求的規則。機器人可能會消耗過多的資源,歪斜業務指標,導致停機時間並執行惡意活動。

防護等級

Bot Control 受管規則群組提供兩種保護層級,您可以從中選擇:

  • 常見 — 檢測各種自我識別機器人,例如 Web 抓取框架,搜索引擎和自動瀏覽器。此層級的機器人控制保護可使用傳統機器人偵測技術 (例如靜態要求資料分析) 來識別常見的機器人。規則會標記來自這些機器人的流量,並封鎖他們無法驗證的機器人。

  • 目標 — 包括共同層級保護,並針對無法自我識別的複雜機器人新增目標式偵測。有針對性的保護結合使用速率限制、CAPTCHA 以及背景瀏覽器挑戰來減輕機器人活動。

    • TGT_— 提供目標保護的規則名稱開頭為TGT_。所有目標保護都使用檢測技術(例如瀏覽器審訊,指紋識別和行為啟發式法)來識別不良的機器人流量。

    • TGT_ML_— 使用機器學習的目標保護規則的名稱開頭為TGT_ML_。這些規則使用網站流量統計資料的自動化機器學習分析,以偵測指示分散式協調機器人活動的異常行為。 AWS WAF 分析有關您網站流量的統計資料,例如時間戳記、瀏覽器特性和先前造訪的 URL,以改善 Bot Control 機器學習模型。機器學習功能預設為啟用,但您可以在規則群組設定中停用它們。停用機器學習時, AWS WAF 不會評估這些規則。

目標保護等級和以速 AWS WAF 率為基礎的規則陳述式都提供速率限制。如需兩個選項的比較,請參閱以速率為基礎的規則和目標機器人控制規則中的速率限制選項

使用此規則群組的注意事項

此規則群組是中智慧型威脅緩和防護措施的一部分。 AWS WAF如需相關資訊,請參閱AWS WAF 智慧型威脅緩解

注意

使用此受管規則群組時,會向您收取額外費用。如需詳細資訊,請參閱 AWS WAF 定價

為了降低成本並確保您正在管理您的網絡流量,請根據指導使用此規則組智慧型威脅緩解的最佳做法

我們會定期更新我們的機器學習 (ML) 模型,以取得目標保護層級 ML 型規則,以改善機器人預測。以 ML 為基礎的規則的名稱開頭TGT_ML_為。如果您發現這些規則所做的機器人預測突然有重大變化,請通過您的客戶經理與我們聯繫或在AWS Support 中心提出案例。

此規則群組新增的標籤

此受管規則群組會將標籤新增至其評估的 Web 要求,這些要求適用於在 Web ACL 中此規則群組之後執行的規則。 AWS WAF 還將標籤記錄到 Amazon CloudWatch 指標。如需有關標籤和標籤量度的一般資訊,請參閱網頁要求上的標籤標示量度和維度

令牌標籤

此規則群組使用 AWS WAF 權杖管理,根據其權杖的狀態檢查和標 AWS WAF 記 Web 要求。 AWS WAF 使用令牌進行客戶端會話跟踪和驗證。

如需有關權杖和權杖管理的資訊,請參閱AWS WAF 網絡請求令牌

如需此處所描述的標示元件的資訊,請參閱AWS WAF 標籤語法和命名需求

客戶端會話標籤

標籤awswaf:managed:token:id:identifier包含 AWS WAF 權杖管理用來識別用戶端工作階段的唯一識別碼。如果客戶端獲取新令牌,則標識符可能會更改,例如在丟棄正在使用的令牌之後。

注意

AWS WAF 不報告此標籤的 Amazon CloudWatch 指標。

令牌狀態標籤:標籤命名空間前綴

令牌狀態標籤報告令牌的狀態,以及其包含的挑戰和 CAPTCHA 信息。

每個令牌狀態標籤都以下列命名空間前綴之一開始:

  • awswaf:managed:token:— 用於報告令牌的一般狀態並報告令牌的挑戰信息的狀態。

  • awswaf:managed:captcha:— 用於報告令牌的驗證碼信息的狀態。

權杖狀態標籤:標籤名稱

在前綴之後,標籤的其餘部分提供了詳細的令牌狀態信息:

  • accepted-請求令牌存在並包含以下內容:

    • 有效的挑戰或驗證碼解決方案。

    • 未過期的挑戰或驗證碼時間戳記。

    • 對網頁 ACL 有效的網域規格。

    示例:該標籤awswaf:managed:token:accepted表示 Web 請求的令牌具有有效的挑戰解決方案,未過期的挑戰時間戳和有效的域。

  • rejected— 請求令牌存在,但不符合驗收標準。

    隨著拒絕的標籤,令牌管理添加了一個自定義標籤命名空間和名稱來指示原因。

    • rejected:not_solved— 令牌缺少挑戰或驗證碼解決方案。

    • rejected:expired— 根據您的 Web ACL 配置的令牌免疫時間,令牌的挑戰或 CAPTCHA 時間戳已過期。

    • rejected:domain_mismatch— 令牌的域與 Web ACL 的令牌域配置不匹配。

    • rejected:invalid— AWS WAF 無法讀取指示的令牌。

    範例:標籤awswaf:managed:captcha:rejectedawswaf:managed:captcha:rejected:expired指出要求遭拒絕,因為權杖中的 CAPTCHA 時間戳記已超過 Web ACL 中設定的 CAPTCHA 權杖免疫時間。

  • absent-請求沒有令牌或令牌管理器無法讀取它。

    示例:標籤awswaf:managed:captcha:absent表示請求沒有令牌。

機器人控制標籤

Bot Control 受管規則群組會產生標籤,其中包含命名空間前置詞,awswaf:managed:aws:bot-control:後面接著自訂命名空間和標籤名稱 規則群組可能會在要求中新增多個標籤。

每個標籤都會反映機器人控制規則發現項目

  • awswaf:managed:aws:bot-control:bot:— 與請求相關聯之機器人的相關資訊。

    • awswaf:managed:aws:bot-control:bot:name:<name>— 機器人名稱 (如果有的話),例如,自訂命名空間bot:name:slurpbot:name:pocket_parserbot:name:googlebot

    • awswaf:managed:aws:bot-control:bot:category:<category>— 機器人的類別,由定義 AWS WAF,例如bot:category:search_enginebot:category:content_fetcher

    • awswaf:managed:aws:bot-control:bot:organization:<organization>— 機器人的發行者,例如,bot:organization:google.

    • awswaf:managed:aws:bot-control:bot:verified— 用於表示可識別自身的機器人,並且機器人控制已經能夠驗證。這用於常見的理想漫遊器,並且在與類別標籤(如bot:category:search_engine或名稱標籤)結合使用時非常有用bot:name:googlebot

      注意

      機器人控制會使用來自網頁要求來源的 IP 位址來協助判斷機器人是否已驗證。您無法將其設定為使用 AWS WAF 轉送的 IP 設定,以檢查不同的 IP 位址來源。如果您已驗證透過 Proxy 或負載平衡器路由的機器人,您可以新增在 Bot Control 規則群組之前執行的規則,以協助進行此操作。將您的新規則設定為使用轉送的 IP 位址,並明確允許來自已驗證機器人的要求。如需使用轉寄 IP 位址的相關資訊,請參閱轉送的 IP 位址

    • awswaf:managed:aws:bot-control:bot:user_triggered:verified— 用於表示與經過驗證的機器人類似的機器人,但可能由最終用戶直接調用。這類機器人會被機器人控制規則視為未經驗證的機器人。

    • awswaf:managed:aws:bot-control:bot:developer_platform:verified— 用於表示與經過驗證的機器人相似的機器人,但開發人員平台用於腳本,例如 Google Apps 腳本。這類機器人會被機器人控制規則視為未經驗證的機器人。

    • awswaf:managed:aws:bot-control:bot:unverified— 用於指示可識別自身的機器人,因此可以對其進行命名和分類,但不會發布可用於獨立驗證其身份的信息。這些類型的機器人簽章可能會被偽造,因此會被視為未驗證。

  • awswaf:managed:aws:bot-control:targeted:<additional-details> — 用於機器人控制目標保護的特定標籤。

  • awswaf:managed:aws:bot-control:signal:<signal-details>awswaf:managed:aws:bot-control:targeted:signal:<signal-details> — 用於在某些情況下提供有關請求的其他資訊。

    以下是信號標籤的示例。這不是一個詳盡的列表:

    • awswaf:managed:aws:bot-control:targeted:signal:browser_automation_extension— 指示檢測有助於自動化的瀏覽器擴展,例如硒 IDE。

      每當使用者安裝此類擴充功能時,就會新增此標籤,即使他們沒有主動使用它。如果您為此實作標籤比對規則,請注意規則邏輯和動作設定中出現誤判的可能性。例如,您可以使用CAPTCHA動作而不是使用動作,Block或者您可以將此標籤比對與其他標籤相符項目結合在一起,以提高您對自動化正在使用的信心。

    • awswaf:managed:aws:bot-control:signal:automated_browser— 指出要求包含用戶端瀏覽器可能已自動化的指標。

    • awswaf:managed:aws:bot-control:targeted:signal:automated_browser— 指出要求的 AWS WAF Token 包含用戶端瀏覽器可能已自動化的指標。

您可以透過呼叫 API 擷取規則群組的所有標籤DescribeManagedRuleGroup。標示會在回應中列示在AvailableLabels性質中。

Bot Control 受管規則群組會將標籤套用至一組通常允許的可驗證機器人。規則群組不會封鎖這些已驗證的機器人。如果需要,您可以透過撰寫使用 Bot Control 受管理規則群組套用之標籤的自訂規則來封鎖這些規則或其子集。如需此項目的詳細資訊和範例,請參閱AWS WAF 機器人控制

機器人控制規則清單

本節列出機器人控制規則。

注意

我們針對 AWS Managed Rules 規則群組中的規則發佈的資訊旨在為您提供足夠的資訊來使用規則,同時不提供不良行為者可用來規避規則的資訊。如果您需要的資訊超過本文件中的資訊,請聯絡中AWS Support 心

規則名稱 描述
CategoryAdvertising

檢查用於廣告目的的機器人。例如,您可能會使用需要以程式設計方式存取網站的第三方廣告服務。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:advertising

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategoryArchiver

檢查用於封存目的的的機器人。這些漫遊器會抓取網頁並捕獲內容以創建存檔。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:archiver

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategoryContentFetcher

檢查代表使用者造訪應用程式網站的機器人、擷取 RSS 摘要之類的內容,或驗證或驗證您的內容。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:content_fetcher

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategoryEmailClient

檢查檢查指向應用程序網站的電子郵件中的鏈接的漫遊器。這可能包括企業和電子郵件提供商運行的漫遊器,以驗證電子郵件中的鏈接並標記可疑電子郵件。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:email_client

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategoryHttpLibrary

檢查是否有機器人從各種程式設計語言的 HTTP 程式庫產生的要求。這些可能包括您選擇允許或監視的 API 請求。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:http_library

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategoryLinkChecker

檢查檢查是否有損壞的連結的機器人。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:link_checker

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategoryMiscellaneous

檢查與其他類別不匹配的雜項機器人。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:miscellaneous

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategoryMonitoring

檢查用於監視目的的的機器人。例如,您可以使用機器人監控服務來定期 ping 應用程式網站,以監控效能和正常運作時間等內容。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:monitoring

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategoryScrapingFramework

從 Web 抓取框架中檢查漫遊器,該框架用於自動爬網和從網站中提取內容。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:scraping_framework

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategorySearchEngine

檢查搜索引擎機器人,它們會抓取網站以索引內容並使信息可用於搜索引擎結果。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:search_engine

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategorySecurity

檢查可掃描 Web 應用程式中是否有漏洞或執行安全稽核的機器人。例如,您可能會使用協力廠商的安全性廠商來掃描、監控或稽核 Web 應用程式的安全性。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:security

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategorySeo

檢查用於搜索引擎優化的漫遊器。例如,您可以使用搜索引擎工具來抓取您的網站,以幫助您提高搜索引擎排名。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:seo

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategorySocialMedia

檢查社交媒體平台使用的機器人,以便在用戶共享您的內容時提供內容摘要。

規則動作,僅套用至未驗證的機器人:Block

標籤:awswaf:managed:aws:bot-control:bot:category:social_media

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

CategoryAI

檢查人工智慧 (AI) 機器人。

規則動作:Block

標籤:awswaf:managed:aws:bot-control:bot:category:ai

SignalAutomatedBrowser

檢查客戶端瀏覽器可能是自動化的指標的請求。可以使用自動瀏覽器進行測試或抓取。例如,您可以使用這些類型的瀏覽器來監視或驗證您的應用程式網站。

規則動作:Block

標籤:awswaf:managed:aws:bot-control:signal:automated_browser

SignalKnownBotDataCenter

檢查機器人通常使用的資料中心指標。

規則動作:Block

標籤:awswaf:managed:aws:bot-control:signal:known_bot_data_center

SignalNonBrowserUserAgent

檢查似乎不是來自 Web 瀏覽器的用戶代理字符串。此類別可以包含 API 要求。

規則動作:Block

標籤:awswaf:managed:aws:bot-control:signal:non_browser_user_agent

TGT_VolumetricIpTokenAbsent

在過去 5 分鐘內檢查來自客戶端的 5 個或更多請求,這些請求不包含有效的挑戰令牌。如需有關權杖的資訊,請參閱AWS WAF 網絡請求令牌

注意

如果來自同一個客戶端的請求最近缺少令牌,則此規則可能會在具有令牌的請求上匹配。

此規則套用的臨界值可能會因延遲而略有不同。

此規則處理缺少的令牌與令牌標籤不同:awswaf:managed:token:absent。令牌標記為沒有令牌的單個請求進行標籤。此規則會維護每個用戶端 IP 遺失其 Token 的要求計數,並符合超過限制的用戶端。

規則處理行動,僅套用至未通過驗證機器人的用戶端:Challenge

標籤:awswaf:managed:aws:bot-control:targeted:aggregate:volumetric:ip:token_absent

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

TGT_VolumetricSession

在任何 5 分鐘的視窗中檢查來自用戶端工作階段的要求數量異常高。評估是基於與使用歷史流量模式 AWS WAF 維護的標準容積基準的比較。

此檢查僅適用於 Web 請求具有令牌時。Token 會由應用程式整合 SDK 和規則動作CAPTCHA與Challenge新增至要求。如需詳細資訊,請參閱 AWS WAF 網絡請求令牌

注意

啟用此規則後,可能需要 5 分鐘才會生效。Bot Control 會比較目前的流量與 AWS WAF 計算的流量基準,藉此識別 Web 流量中的異常行為。

規則處理行動,僅套用至未通過驗證機器人的用戶端:CAPTCHA

標籤:awswaf:managed:aws:bot-control:targeted:aggregate:volumetric:session:high

規則群組會將下列標籤套用至超過最小臨界值的中等數量和較低磁碟區要求。對於這些層級,無論用戶端是否已驗證,規則都不會採取任何處理行動:awswaf:managed:aws:bot-control:targeted:aggregate:volumetric:session:mediumawswaf:managed:aws:bot-control:targeted:aggregate:volumetric:session:low

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

TGT_SignalAutomatedBrowser

檢查請求的令牌,以獲取客戶端瀏覽器可能自動化的指標。如需詳細資訊,請參閱 AWS WAF 令牌特徵

此檢查僅適用於 Web 請求具有令牌時。Token 會由應用程式整合 SDK 和規則動作CAPTCHA與Challenge新增至要求。如需詳細資訊,請參閱 AWS WAF 網絡請求令牌

規則處理行動,僅套用至未通過驗證機器人的用戶端:CAPTCHA

標籤:awswaf:managed:aws:bot-control:targeted:signal:automated_browser

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

TGT_SignalBrowserInconsistency

檢查不一致的瀏覽器審訊資料。如需詳細資訊,請參閱 AWS WAF 令牌特徵

此檢查僅適用於 Web 請求具有令牌時。Token 會由應用程式整合 SDK 和規則動作CAPTCHA與Challenge新增至要求。如需詳細資訊,請參閱 AWS WAF 網絡請求令牌

規則處理行動,僅套用至未通過驗證機器人的用戶端:CAPTCHA

標籤:awswaf:managed:aws:bot-control:targeted:signal:browser_inconsistency

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

TGT_TokenReuseIp

檢查超過 5 個不同 IP 位址中是否使用單一權杖。

注意

此規則套用的臨界值可能會因延遲而略有不同。在套用規則動作之前,有些要求可能會超過限制。

規則動作:Count

標籤:awswaf:managed:aws:bot-control:targeted:aggregate:volumetric:session:token_reuse:ip

TGT_ML_CoordinatedActivityMediumTGT_ML_CoordinatedActivityHigh

檢查與分散式協調機器人活動一致的異常行為。規則層級表示一組請求是協調攻擊參與者的信賴程度。

注意

只有在規則群組設定為使用機器學習 (ML) 時,才會執行這些規則。如需有關配置此選擇的資訊,請參閱將 AWS WAF 機器人控制受管規則群組新增至您的 Web ACL

AWS WAF 通過對網站流量統計的機器學習分析執行此檢查。 AWS WAF 每隔幾分鐘分析一次網路流量,並最佳化分析,以偵測散佈在多個 IP 位址的低強度、長時間機器人。

在判斷協調攻擊未進行之前,這些規則可能會在少數要求上符合。所以,如果你只看到一兩個匹配,結果可能是誤報。但是,如果您看到很多符合這些規則的比賽,那麼您可能正在遭受協調的攻擊。

注意

使用 ML 選項啟用「機器人控制」目標規則後,這些規則最多可能需要 24 小時才會生效。Bot Control 會比較目前流量與 AWS WAF 已計算的流量基準,藉此識別 Web 流量中的異常行為。 AWS WAF 只會在搭配 ML 選項使用 Bot Control 目標規則時,才會計算基準,建立有意義的基準線最多可能需要 24 小時。

我們會定期更新這些規則的機器學習模型,以改善機器人預測。如果您發現這些規則所做的機器人預測發生突然且重大的變化,請聯繫您的客戶經理或在AWS Support 中心提出案例。

規則處理行動,僅套用至未經驗證機器人的用戶端:

  • 中型: Count

  • 高: Count

標籤:awswaf:managed:aws:bot-control:targeted:aggregate:coordinated_activity:mediumawswaf:managed:aws:bot-control:targeted:aggregate:coordinated_activity:high

對於已驗證的機器人,規則群組不會採取任何動作,但會新增規則標籤和標籤awswaf:managed:aws:bot-control:bot:verified

規則群組也會新增標籤awswaf:managed:aws:bot-control:targeted:aggregate:coordinated_activity:low以指示低信賴等級,但不會套用任何規則或對這些要求採取任何動作。