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

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

速率型規則陳述式

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

AWS WAF 針對您使用的每個速率型規則執行個體,單獨追蹤和管理 Web 請求。例如,如果您在兩個 Web ACL 中提供相同的速率型規則設定,則兩個規則陳述式中的每一個規則陳述式都代表速率型規則的個別執行個體,並透過 AWS WAF 取得其自身的追蹤和管理。如果您在規則群組中定義速率型規則,然後在多個位置使用該規則群組,則每次使用都會建立速率型規則的個別執行個體,該執行個體會透過 AWS WAF 取得其自身的追蹤和管理。

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

您可以擷取由於速率限制而封鎖的 IP 地址。如需相關資訊,請參閱 以速度為基礎的規則列出封鎖的 IP 地址

以下警告適用於以AWS WAF費率為基礎的規則:

  • 您可以設定的最低費率為 100。

  • AWS WAF每 30 秒檢查一次要求的速率,並且每次計算前五分鐘的要求。因此,IP 位址可能會在AWS WAF偵測到並封鎖之前,以過高的速率傳送要求 30 秒。

  • AWS WAF最多可封鎖 10,000 個 IP 位址。如果超過 10,000 個 IP 位址同時傳送高速率的請求,則只AWS WAF會封鎖其中 10,000 個位址。

您可以縮小AWS WAF追蹤和計數的請求範圍。為此,您可以巢狀在以速率為基礎的陳述式中另一個範圍縮小陳述式。然後,AWS WAF只會計算符合範圍縮小陳述式的請求。如需有關向下範圍陳述式的資訊,請參閱範圍向下語句

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

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

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

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

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

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

  • 檢查請求組件URI path

  • 比對」類型Starts with string

  • 要匹配的字符串/login

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

不嵌套-您不能在其他語句中嵌套此語句類型。您可以將它直接包含在 Web ACL 和規則群組中。

(選用) ScopeDown 陳述式-此規則類型採用選用的速度向下陳述式,以縮小速率型陳述式追蹤的請求範圍。如需詳細資訊,請參閱 範圍向下語句

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

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

  • (選擇性) 轉寄的 IP 設定 — 依預設,會AWS WAF彙總 Web 要求來源中的 IP 位址,但您可以改為將規則設定為在 HTTP 標頭中使用轉送的 IP 位址,例如X-Forwarded-For。 AWS WAF使用標頭中的第一個 IP 位址。透過此設定,您也可以指定後援行為,以套用至指定標頭中具有格式錯誤 IP 位址的 Web 要求。後援行為會設定要求的相符結果,以符合或不相符。如需詳細資訊,請參閱 轉送的 IP 地址

哪裡可以找到此項

  • Web ACL 中的規則產生器,在主控台上 — 在「規則」下,針對「類型」選擇以速率為基礎的規則

  • API 聲明-RateBasedStatement