概觀

將 WAF 等安全控制新增至 Web 應用程式中,會增加引入誤報的風險。誤報是指封鎖合法使用者請求的情況,這並不是使用 WAF 的理想副作用。管理誤報包括設計可將誤報降到最低的規則、偵測其發生情況,以及在應用程式端或 WAF 上緩解誤報。AWS WAF 憑藉其規則語言的靈活性,及其產生日誌中可用的詳細資訊,簡化了誤報的管理。

AWS WAF 上的誤報緩解技術

設計具有低誤報的 WAF 規則

若要減少使用 AWS WAF 時的低誤報,請在 WebACL 中小心設定規則。首先,調整規則的偵測閾值。例如,此部落格提供了有關設定速率限制偵測閾值的指導。您還可以設定 SQL 隱碼攻擊 (SQLi) 規則的偵測敏感度第二,以最具體的方式在應用程式中最相關的部分啟用最相關的規則。例如,只有在您的應用程式使用 SQL 資料庫時才啟用 SQLi 規則,並將其範圍縮小到與此資料庫互動的 URL。第三,使用細微的動作回應匹配的請求。透過這種方法,只有當您高度確信請求的惡意性時,才會針對請求設定「封鎖」動作。如果您對封鎖請求的確信度不夠高,請考慮下列其中一種細微的回應策略:

  • 對請求進行計數,並讓其向上游流向您的應用程式,但要在轉發至您的應用程式之請求中包含 WAF 產生的標頭。然後,您的應用程式可以根據標頭值進行不同的回應,例如透過可疑的登入嘗試觸發多重要素驗證。您也可以根據持續的威脅等級動態提高 WAF 回應嚴重性。例如,OLX 會根據應用程式的風險等級動態變更對可疑 IP 的回應。在低風險模式下,OLX 會允許更多流量通過其應用程式,從而將誤報降到最低。在高風險模式下,OLX 則偏好透過封鎖所有可疑 IP 來減少誤判而不是誤報。
  • 使用 CAPTCHA 或靜默挑戰來回應,只有在瀏覽器挑戰失敗時才會封鎖請求。

Amazon 受管規則

AWS WAF 提供可新增至 WAF WebACL 的 Amazon 受管規則群組 (AMR) 清單。AMR 專門用於封鎖最嚴重和最具影響力的威脅,同時將誤報降到最低。

為了更佳地管理誤報,AMR 為您提供以下組態可能性:

  • 您可以停用 AMR 進行的自動更新,轉而使用特定版本並手動更新至該版本。這將使您有機會在啟用最新版本之前,測試更新是否有誤報。
  • AMR 在接受評估時會發出標籤。您無需使用 AMR 預設封鎖規則,只需將規則設定為進行計數,並使用發出的標籤與其他 WAF 規則結合使用來封鎖具有更高確信度等級的請求。例如,您可以在計數模式下使用 Amazon IP 信譽清單 AMR,然後根據此 AMR 發出的標籤建立後續規則,以非常低的閾值進行速率限制。WAF 文件中描述了 AMR 產生的標籤。

同樣的情況還適用於受管規則群組,該群組是在您已訂閱此服務並啟用自動應用程式層 DDoS 緩解的情況下,由 Shield Advanced 所建立。如文件中所描述,只有在根據歷史流量模式高度確信該規則僅與攻擊特徵相符時,Shield Advanced 才會放置封鎖規則 WAF。

識別誤報

下列指引可協助您識別誤報的發生:

  • 在軟體發行程序或基礎設施變更程序中包含誤報偵測,例如,在開發和暫存環境中測試您的 WAF 規則,然後在最終部署之前在生產中以計數模式對其進行驗證。AWS WAF 文件提供了以安全的方式將機器人控制規則和帳戶接管防範規則部署至生產中的指導方針。
  • 在 WAF 規則發出的 CloudWatch 指標上設定警示。當規則符合異常級別的流量時,您將收到通知。例如,這種情況可能發生在應用程式的程式碼變更 (被錯誤地識別為攻擊),並傳播到生產環境之後。
  • 啟用 WAF 日誌,並定期稽核封鎖的流量,以識別已封鎖的合法流量。對於簡單的使用案例,您可以使用 AWS WAF 主控台中的取樣請求儀表板
  • 更新您的應用程式,以允許使用者報告非預期的 403 回應。例如,當 WAF 與 CloudFront 一起部署時,您可以使用 CloudFront 的自訂錯誤頁面返回他們可以向您報告問題的頁面,而非 403 錯誤頁面。

從規則範圍中排除誤報

當識別誤報時,您可以更新 WAF 規則,以新增排除項目並緩解誤報。透過自訂規則,您可以使用 AND/OR 邏輯簡單地表達排除項目。例如,如果請求的 IP 不在允許的 IP 清單中,且請求 URL 不是排除的 URL 之一,可套用 SQLi 規則。透過 AMR,您可以使用縮小範圍陳述式來建立排除項目。請考慮以下文件,用於管理針對特定 WS WAF 機器人控制功能 AMR 的誤報。

資源

本頁對您是否有幫助?