速率型規則陳述式 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

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

速率型規則陳述式

速率型規則會追蹤每個來源 IP 位址的請求速率,並針對速率超過限制的 IP 觸發規則動作。您將限制設定為每 5 分鐘時間範圍的請求數目。您可以使用這種規則類型對來自傳送過多請求的 IP 地址的請求放置暫時的封鎖。根據預設,AWS WAF會根據來自 Web 要求來源的 IP 位址彙總要求,但您可以將規則設定為使用來自 HTTP 標頭的 IP 位址,例如X-Forwarded-For,而不是。

當規則動作觸發時,AWS WAF會將動作套用至來自 IP 地址的其他請求,直到請求速率低於限制為止。動作變更可能需要一兩分鐘才會生效。

您可以縮小 AWS WAF 計算的請求範圍。若要執行這項操作,您巢狀另一個範圍下限陳述式內的陳述式。然後AWS WAF只會計算符合範圍下限陳述式的請求。如需範圍縮小陳述式的相關資訊,請參閱縮小範圍陳述式

例如,根據您最近從美國攻擊者看到的請求,您可以使用下列範圍下限陳述式建立速率型規則:

  • AND 規則陳述式,其中包含下列第二層巢狀陳述式:

    • 地理比對陳述式,指定源自美國的請求。

    • 字串比對陳述式,會在 User-Agent 標頭中搜尋字串 BadBot

假設您也設定了 1,000 的速率限制。針對每個 IP 位址,AWS WAF 會計算符合這兩個條件的請求。不符合這兩個條件的請求將不計算在內。如果 IP 位址的計數在任何 5 分鐘的時間範圍內超過 1,000 個請求,會針對該 IP 位址觸發規則的動作。

另一個例子是,您可能希望限制對您網站的登入頁面發出的請求數。若要這樣做,您可以使用下列巢狀化字串比對陳述式來建立速率型規則:

  • Request option (請求選項)URI

  • 請求類型Starts with

  • Strings to match (比對的字串)login

將這個以速率為基礎的規則新增到 Web ACL,您就可以限制對您登入頁面的請求數量,但不影響網站的其他部分。

不可形成巢狀— 您無法將此陳述式類型巢狀化在其他陳述式中。您可以將它直接包含在 Web ACL 中。您不可將它包含在規則群組中。

(選擇性) 降低範圍陳述式— 此規則類型採用選擇性的範圍下限陳述式,以縮小速率型陳述式追蹤的請求範圍。如需更多詳細資訊,請參閱 縮小範圍陳述式

WCU— 2 個加上巢狀陳述式的任何其他 WCU。

此陳述式會使用下列選擇性設定:

  • (選擇性) 轉送的 IP 組態— 根據預設,AWS WAF聚合在 Web 請求源中的 IP 地址上,但您可以配置規則以在 HTTP 標頭中使用轉發的 IP,如X-Forwarded-For反之。AWS WAF會使用標頭中的第一個 IP 位址。透過此組態,您也可以指定要套用至指定標頭中含有格式錯誤的 IP 位址的 Web 要求的後援行為。後援行為會將要求的符合結果設定為符合或不符合。如需更多詳細資訊,請參閱 轉寄 IP 地址

哪裡可以找到此項

  • 規則建置器在您的 Web ACL,在控制台上-在規則,用於類型中,選擇以速率為基礎的規則

  • API 陳述式RateBasedStatement