測試和部署AWS WAF機器人控制 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

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

測試和部署AWS WAF機器人控制

本節提供設定和測試網站的 AWS WAF Bot Control 實作的一般指引。您選擇遵循的特定步驟將取決於您的需求、資源和您收到的 Web 要求。

此資訊是除了有關測試和調整的一般資訊之外,請參閱測試和調整您的AWS WAF保護

注意

AWS受管規則旨在保護您免受常見網頁威脅的侵害。根據文件使用時,AWSManaged Rules 規則群組會為您的應用程式新增另一層安全性。不過,AWS受管規則群組並不是用來取代您的安全性責任,而這些責任是由您選取的AWS資源所決定。請參閱共同的責任模型,以確保 AWS 中您的資源受到適當的保護。

生產流量風險

在針對生產流量部署 Bot Control 實作之前,請先在測試或測試環境中對其進行測試和調整,直到您熟悉對流量的潛在影響為止。然後在啟用規則之前,使用生產流量在計數模式下測試和調整規則。

本指引適用於一般知道如何建立和管理 AWS WAF Web ACL、規則和規則群組的使用者。這些主題涵蓋在本指南之前的章節中。

設定和測試機器人控制實作

請先在測試環境中執行這些步驟,然後在生產環境中執行。

  1. 新增機器人控制受管規則群組
    注意

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

    將受管AWS規則群組新增AWSManagedRulesBotControlRuleSet至新的或現有的 Web ACL,並對其進行設定,使其不會改變目前的 Web ACL 行為。

    • 新增受管規則群組時,請加以編輯並執行下列動作:

      • 在「檢驗層次」窗格中,選取您要使用的檢驗層次。

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

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

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

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

        如需有關此選擇的詳細資訊,請參閱AWS WAF機器人控制規則群組

      • 在「規則」窗格中,開啟「覆寫所有規則動作」下拉式清單並選擇Count。使用此設定時,AWS WAF會根據規則群組中的所有規則評估要求,並僅計算結果的相符項目,同時仍將標籤新增至要求。如需詳細資訊,請參閱 覆寫規則群組中的規則動作

        透過此覆寫,您可以監控機器人控制規則對流量的潛在影響,以判斷是否要為內部使用案例或所需機器人等新增例外狀況。

    • 定位規則群組,使其在 Web ACL 中最後評估,其優先順序設定的數值高於您正在使用的任何其他規則或規則群組。如需詳細資訊,請參閱 Web ACL 中規則和規則群組的處理順序

      如此一來,您目前的流量處理就不會中斷。例如,如果您有可偵測惡意流量的規則,例如 SQL 插入或跨網站指令碼,它們將繼續偵測並記錄這些要求。或者,如果您有允許已知非惡意流量的規則,它們可以繼續允許該流量,而不會讓 Bot Control 受管理規則群組封鎖該流量。您可能會決定在測試和調整活動期間調整處理順序,但這是一個很好的開始方法。

  2. 啟用 Web ACL 的取樣、記錄和指標

    視需要設定 Web ACL 的記錄,並啟用取樣和 Amazon CloudWatch 指標。您可以使用指標和記錄來監控 Web 流量與 Bot Control 受管理規則群組的互動。

  3. 將網路 ACL 與資源建立關聯

    如果 Web ACL 尚未與資源相關聯,請將其關聯。如需相關資訊,請參閱 建立 Web ACL 與資源的關聯或取消關聯 AWS

  4. 監控流量和機器人控制規則符合

    請確定流量正在流動,且 Bot Control 受管理規則群組規則正在新增標籤至相符的 Web 要求。您可以在日誌中看到標籤,並在 Amazon 指標中查看機器人和標籤 CloudWatch 指標。在記錄檔中,您覆寫規則群組中要計數的規則會顯示在action設定為 count ruleGroupList 的規則中,並overriddenAction指示您覆寫的已設定規則動作。

    注意

    機器人控制受管規則群組會使用來自的 IP 位址來AWS WAF驗證機器人。如果您使用 Bot Control,且已驗證透過 Proxy 或負載平衡器路由的機器人,則可能需要使用自訂規則明確允許這些機器人。若要取得有關如何建立自訂規則的資訊,請參閱〈〉轉送的 IP 位址。如需如何使用規則自訂 Bot Control Web 要求處理的相關資訊,請參閱下一個步驟。

    請仔細檢閱 Web 要求處理,找出您可能需要透過自訂處理來緩解的任何誤報。如需誤報的範例,請參閱利用AWS WAF機器人控制誤報

  5. 自訂機器人控制網頁要求處理

    視需要新增明確允許或封鎖要求的自己規則,以變更 Bot Control 規則處理這些要求的方式。

    您如何執行此操作取決於您的使用案例,但以下是常見的解決方案:

    • 明確允許包含您在 Bot Control 受管理規則群組之前新增之規則的要求。如此一來,允許的要求永遠不會到達規則群組進行評估。這有助於控制使用機器人控制受管規則群組的成本。

    • 透過在 Bot Control 受管規則群組陳述式中新增範圍陳述式,以排除 Bot Control 評估的要求。此功能與前面的選項相同。它有助於控制使用 Bot Control 受管規則群組的成本,因為與範圍向下陳述式不符的要求永遠不會達到規則群組評估。如需有關向下範圍陳述式的資訊,請參閱。範圍向下語句

      如需 範例,請參閱下方:

    • 在要求處理中使用機器人控制標籤來允許或封鎖要求。在 Bot Control 受管理規則群組之後新增標籤比對規則,以篩選出您要允許來自您要封鎖的請求的標籤請求。

      測試之後,請將相關的機器人控制規則保持在計數模式中,並在自訂規則中維護要求處理決策。如需標籤比對陳述式的資訊,請參閱標籤比對規則陳述式

      如需此類型自訂的範例,請參閱下列內容:

    如需額外的範例,請參閱AWS WAF機器人控制範例

  6. 視需要啟用機器人控制受管規則群組設定

    根據您的情況,您可能已決定要將某些機器人控制規則保留在計數模式或使用不同的動作覆寫。對於您希望在規則群組中設定時執行的規則,請啟用一般規則組態。若要這麼做,請在 Web ACL 中編輯規則群組陳述式,並在「規則」窗格中進行變更。