AWS WAF — 基於速率的規則 - AWS DDoS恢復能力的最佳做法

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

AWS WAF — 基於速率的規則

AWS 強烈建議您在 5 分鐘的滑動視窗中 AWS WAF 收到的HTTP要求數目超過您定義的閾值時,使用中的速率型規則自動封鎖不良參與者的 IP 位址,以防止要求洪水發生。違規的用戶端 IP 位址將會收到 403 個禁止回應 (或設定的區塊錯誤回應),並保持封鎖狀態,直到要求率降至閾值以下為止。

建議您將以速率為基礎的規則分層以提供增強的保護,以便您擁有:

  • 以比率為基礎的總括規則,可保護您的應用程式免受大量HTTP洪水侵害

  • 一或多個以比率為基礎的規則,用比以總括費率為基礎的規則更具限制性的比率來保護特定URIs費率。

例如,您可以在 5 分鐘期間內,選擇限制為 500 個請求的總括費率型規則 (不計算範圍對帳單),然後使用向下計算陳述式,建立下列一或多個以比率為基準的規則,其下限低於 500 (5 分鐘期間內低至 100 個請求):

  • 使用像 "if NOT uri_path contains '.'" 這樣的範圍語句保護您的網頁,以便對沒有文件擴展名的資源請求得到進一步保護。這也可以保護您的主頁(/),這是一個經常針對性的URI路徑。

  • 使用像 "」這樣的範圍陳述式保護動態端點 if method exactly matches 'post' (convert lowercase)

  • 保護到達數據庫的繁重請求或調用一次性密碼(OTP),例如「」if uri_path starts_with '/login' OR uri_path starts_with '/signup' OR uri_path starts_with '/forgotpassword'

以速率為基礎的「封鎖」模式是您 defense-in-depth WAF設定的基礎,可防止要求洪水發生,也是核准 AWS Shield Advanced 成本保護要求的必要條件。我們將在以下各節中檢查其他 defense-in-depth WAF配置。