Azure Front Door のレート制限とは

レート制限を使用すると、ソケット IP アドレスからの異常に高いレベルのトラフィックを検出してブロックできます。 Azure Front Door で Azure Web アプリケーション ファイアウォールを使用すると、一部の種類のサービス拒否攻撃を軽減できます。 レート制限により、短時間で大量の要求を送信するように誤って構成されたクライアントから保護することもできます。

ソケット IP アドレスは、Azure Front Door への TCP 接続を開始したクライアントのアドレスです。 通常、ソケット IP アドレスはユーザーの IP アドレスですが、プロキシ サーバー、またはユーザーと Azure Front Door の間にある他のデバイスの IP アドレスである場合もあります。

レート制限は、ソケット IP アドレス レベルまたはリモート アドレス レベルで定義できます。 複数のクライアントが Azure Front Door に別々のソケット IP アドレスからアクセスしている場合、それぞれに独自のレート制限が適用されます。 ソケット IP アドレスは、Web アプリケーション ファイアウォール (WAF) が認識するソース IP アドレスです。 ユーザーがプロキシの内側にある場合、通常、ソケット IP アドレスがプロキシ サーバーのアドレスです。 リモート アドレスは、通常、X-Forwarded-For 要求ヘッダーを介して送信される元のクライアントの IP です。

レート制限ポリシーを構成する

レート制限は、カスタム WAF 規則を使用して構成されます。

レート制限規則を構成するときは、 "しきい値" を指定します。 しきい値は、1 分または 5 分の時間内に各ソケットの IP アドレスから許可される Web 要求の数です。

また、少なくとも 1 つの "一致条件" を指定する必要があります。これにより、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.

上記の一致条件は、長さが 0 より大きい Host ヘッダーを持つすべての要求を識別します。 Azure Front Door のすべての有効な HTTP 要求には Host ヘッダーが含まれているため、この一致条件は、すべての HTTP 要求に一致する効果があります。

レート制限と Azure Front Door サーバー

多くの場合、同じクライアントからの要求は、同じ Azure Front Door に届きます。 その場合、各クライアント IP アドレスのレート制限に達すると、ただちに要求がブロックされます。

同じクライアントからの要求が、レート制限のカウンターをまだ更新していない別の Azure Front Door サーバーに届く可能性もあります。 たとえば、クライアントが要求ごとに新しい TCP 接続を開き、各 TCP 接続が別の Azure Front Door サーバーにルーティングされることもあります。

しきい値が十分に低い場合、新しい Azure Front Door サーバーへの最初の要求はレート制限のチェックを通過します。 したがって、低いしきい値 (たとえば、1 分あたりの要求が約 200 件未満) の場合、しきい値を超える一部の要求が通過する場合があります。

レート制限のしきい値と時間枠を決定する際には、いくつかの考慮事項に留意してください。

  • DDoS攻撃を防ぐには、許容されるリクエスト数のしきい値が最小で、ウィンドウ サイズが大きいことが最も効果的な構成です。 攻撃者がしきい値に達すると、レート制限期間の残りの期間はブロックされるため、この構成は、より効果的です。 したがって、攻撃者が 1 分間の最初の 30 秒間にブロックされた場合、残りの 30 秒間だけレートが制限されます。 5 分間の最初の 1 分間で攻撃者がブロックされた場合、残りの 4 分間はレートが制限されます。
  • 時間枠のサイズを大きく (1 分ではなく 5 分など)、しきい値を大きく (たとえば、100 ではなく 200) 設定すると、短い時間枠のサイズと低いしきい値を使用するよりも、レート制限のしきい値に近い値を適用する方が正確になる傾向があります。
  • Azure Front Door WAF のレート制限は、一定期間で動作します。 レート制限のしきい値に違反すると、そのレート制限ルールに一致するすべてのトラフィックが、一定期間の残りの期間ブロックされます。

次のステップ