Share via


什麼是 Azure Front Door 的速率限制?

速率限制可讓您偵測和封鎖來自任何通訊端 IP 位址的異常頻繁流量。 透過使用 Azure Front Door 中的 Azure Web 應用程式防火牆,您可以降低部分類型拒絕服務的攻擊。 速率限制也會保護您避免意外設定錯誤而在短時間內傳送大量要求的用戶端。

通訊端 IP 位址是起始與 Azure Front Door 的 TCP 連線的用戶端位址。 一般而言,通訊端 IP 位址是使用者的 IP 位址,但也可能是位於使用者與 Azure Front Door 之間的 Proxy 伺服器或其他裝置的 IP 位址。 如果您有多個用戶端從不同的通訊端 IP 位址存取 Azure Front Door,則其會套用自己的速率限制。

設定速率限制原則

速率限制是使用自訂 WAF 規則來設定。

當您設定速率限制規則時,您會指定閾值。 閾值是一分鐘或五分鐘的時間週期內,每個通訊端 IP 位址允許的 Web 要求數目。

您也必須指定至少一個比對條件,告知 Azure Front Door 何時啟動速率限制。 您可以設定適用於應用程式內不同路徑的多個速率限制。

如果您需要將速率限制規則套用至所有要求,請考慮使用比對條件,如下列範例所示:

Screenshot that shows the Azure portal showing a match condition that applies to all requests. The match condition looks for requests where the Host header size is zero or greater.

上述比對條件會識別 Host 標頭長度大於 0 的所有要求。 因為 Azure Front Door 的所有有效 HTTP 要求都包含 Host 標頭,所以此比對條件會比對所有 HTTP 要求。

速率限制和 Azure Front Door 伺服器

來自相同用戶端的要求通常會抵達相同的 Azure Front Door 伺服器。 在此情況下,一旦達到每個用戶端 IP 位址的速率限制,您就會看到要求遭到封鎖。

來自相同用戶端的要求可能會抵達尚未重新整理速率限制計數器的不同 Azure Front Door 伺服器。 例如,用戶端可能會針對每個要求開啟新的 TCP 連線,而每個 TCP 連線都可以路由傳送至不同的 Azure Front Door 伺服器。

如果閾值夠低,傳送到新 Azure Front Door 伺服器的第一個要求可以通過速率限制檢查。 因此,對於很低的閾值 (例如,每分鐘少於 200 個要求),您可能會看到一些超過閾值的要求通過。

當您判斷速率限制的閾值和時間範圍時,請記住一些考量:

  • 具有最小可接受要求計數閾值的較大範圍大小是防止 DDoS 攻擊的最有效組態。 此組態比較有效,因為當攻擊者達到閾值時,在速率限制範圍的其餘部分會遭到封鎖。 因此,如果攻擊者在一分鐘範圍的前 30 秒遭到封鎖,則剩餘的 30 秒只有限制的速率。 如果攻擊者在五分鐘範圍的前一分鐘遭到封鎖,則剩餘的四分鐘只有限制的速率。
  • 設定較大的時間範圍大小 (例如,五分鐘而非一分鐘) 和較大的閾值 (例如,200 而非 100),相較於使用較短的時間範圍大小和較低的閾值,更能準確地強制執行速率限制的閾值。
  • Azure Front Door WAF 速率限制會在固定的時間週期運作。 一旦違反速率限制閾值,所有符合該速率限制規則的流量在固定範圍的其餘部分也都會遭到封鎖。

下一步