應用程式閘道上 Web 應用程式防火牆的速率限制允許您檢測和阻止發往應用程式的異常高級別的流量。 通過在應用程式閘道 WAF v2 上使用速率限制,可以緩解多種類型的拒絕服務攻擊,防止用戶端意外配置為在短時間內發送大量請求,或控制從特定地理位置到網站的流量速率。
速率限制原則
使用策略中的自定義 WAF 規則配置速率限制。
備註
速率限制規則僅在運行 最新 WAF 引擎的 Web 應用程式防火牆上受支援。 為了確保您使用的是最新的引擎,請選擇 CRS 3.2 作為預設規則集。 此外,實體隔離斷網雲端不支援速率限制規則。
配置速率限制規則時,必須指定閾值:指定時間段內允許的請求數。 應用程式閘道 WAF v2 上的速率限制使用滑動視窗演演算法來確定流量何時超出閾值並需要丟棄。 在違反規則閾值的第一個時段內,將丟棄與速率限制規則匹配的更多流量。 從第二個視窗開始,允許流量達到配置的視窗內的閾值,從而產生限制效果。
您還必須指定匹配條件,該條件告訴 WAF 何時啟動速率限制。 您可以設定多個速率限制規則,以匹配策略中的不同變數和路徑。
應用程式閘道 WAF v2 還引入了 GroupByUserSession,必須對其進行配置。 GroupByUserSession 指定如何為匹配的速率限制規則對請求進行分組和計數。
以下三個 GroupByVariables 當前可用:
- ClientAddr – 這是預設設置,這意味著每個速率限制閾值和緩解措施都獨立應用於每個唯一的源 IP 位址。
- GeoLocation - 流量根據用戶端 IP 位址上的 Geo-Match 按其地理位置進行分組。 因此,對於速率限制規則,來自同一地理位置的流量將分組在一起。
- 無 - 所有流量都分組在一起,並根據速率限制規則的閾值進行計數。 當超出閾值時,將針對符合規則的所有流量採取行動,並且不會為每個用戶端 IP 位址或地理位置維護獨立的計數器。 建議將 None 與特定的匹配條件一起使用,例如登錄頁面或可疑 User-Agent 清單。
速率限制詳細資料
對於 Web 應用程式防火牆策略附加到的每個終端節點,將獨立計算和跟蹤配置的速率限制閾值。 例如,連結至五個不同接聽程式的單一 WAF 原則,會針對每個接聽程式保有獨立計數器和閾值強制執行方式。
速率限制閾值並不總是完全按照定義強制執行,因此不應用於對應用程式流量進行精細控制。 相反,建議使用它來緩解異常的流量速率並保持應用程式可用性。
滑動視窗演算法會阻止超過閾值的第一個視窗的所有匹配流量,然後限制未來視窗中的流量。 在定義閾值以配置 GeoLocation 或 None 作為 GroupByVariables 的廣泛匹配規則時要小心。 配置不正確的閾值可能會導致匹配流量頻繁出現短暫中斷。