Limitation de taux pour Azure Web Application Firewall sur Azure Application Gateway

S’applique à : ✔️ Application Gateway V2

La limitation de vitesse pour le Web Application Firewall sur Application Gateway vous aide à détecter et bloquer des niveaux anormalement élevés de trafic destinés à votre application. En utilisant la limitation de débit sur Application Gateway WAF v2, vous pouvez atténuer de nombreux types d’attaques par déni de service, vous protéger contre des clients mal configurés pour envoyer de grands volumes de requêtes en peu de temps, ou contrôler les taux de trafic vers votre site depuis des zones géographiques spécifiques.

Stratégies de limitation de débit

Configurez la limitation de débit en utilisant des règles WAF personnalisées dans une politique.

Remarque

Les règles de limite de débit ne sont prises en charge que sur les pare-feu d’applications Web exécutant le dernier moteur WAF. Pour vous assurer d’utiliser le dernier moteur, sélectionnez CRS 3.2 comme jeu de règles par défaut. De plus, les règles de limitation du débit ne sont pas prises en charge dans les clouds isolés du réseau.

Lorsque vous configurez une règle de limitation de taux, spécifiez le seuil : le nombre de requêtes autorisées dans le délai spécifié. La limitation de débit sur la passerelle d’application WAF v2 utilise un algorithme de fenêtre glissante pour déterminer quand le trafic dépasse le seuil et doit être supprimé. Au cours de la première fenêtre où le seuil de la règle est dépassé, tout trafic supplémentaire correspondant à la règle de limite de débit est abandonné. À partir de la deuxième fenêtre, le trafic jusqu’au seuil dans la fenêtre configurée est autorisé, ce qui produit un effet de limitation.

Vous devez également spécifier une condition de correspondance, qui indique au WAF quand activer la limite de débit. Vous pouvez configurer plusieurs règles de limite de débit qui correspondent à différentes variables et chemins d’accès au sein de votre stratégie.

Application Gateway WAF v2 introduit également un GroupByUserSession, que vous devez configurer. GroupByUserSession spécifie comment les demandes sont regroupées et comptées pour une règle de limite de débit correspondante.

Les trois GroupByVariables suivants sont actuellement disponibles :

  • ClientAddr : il s’agit du paramètre par défaut et cela signifie que chaque seuil de limite de débit et chaque atténuation s’appliquent indépendamment à chaque adresse IP source unique.
  • Géolocalisation : le trafic est regroupé en fonction de sa géographie en fonction d’une Geo-Match sur l’adresse IP du client. Pour une règle de limite de débit, le trafic provenant de la même zone géographique est regroupé.
  • Aucun : tout le trafic est regroupé et comptabilisé dans le seuil de la règle de limite de débit. Lorsque le seuil est dépassé, l’action se déclenche pour tout le trafic correspondant à la règle et ne gère pas de compteurs indépendants pour chaque adresse IP ou zone géographique du client. Utilisez Aucun avec des critères de correspondance spécifiques, tels qu’une page de connexion ou une liste d’agents utilisateurs suspects.
  • ClientAddrXFFHeader - Chaque seuil de limite de débit et chaque atténuation s’appliquent indépendamment en fonction de l’adresse IP trouvée dans l’en-tête X-Forwarded-For de la requête HTTP
  • GeoLocationXFFHeader : le trafic est regroupé par leur zone géographique en fonction d’un Geo-Match sur l’adresse IP trouvée dans l’en-tête X-Forwarded-For de la requête HTTP. Pour une règle de limite de débit, le trafic provenant de la même zone géographique est regroupé.

Détails de la limitation du débit

La politique Web Application Firewall compte et suit indépendamment les seuils de limite de débit configurés pour chaque point de terminaison auquel il est attaché. Par exemple, une seule stratégie WAF attachée à cinq écouteurs différents gère des compteurs indépendants et l’application de seuils pour chacun des écouteurs.

Les seuils de limite de taux ne sont pas toujours appliqués exactement comme définis, donc n’utilisez pas la limitation de taux pour un contrôle précis du trafic applicatif. À la place, utilisez-le pour atténuer les taux anormaux de trafic et maintenir la disponibilité des applications.

L’algorithme de fenêtre glissante bloque tout le trafic correspondant pour la première fenêtre dans laquelle le seuil est dépassé, puis limite le trafic dans les fenêtres suivantes. Soyez prudent lorsque vous définissez des seuils lors de la configuration de règles de correspondance large avec GeoLocation ou None en tant que GroupByVariables. Des seuils mal configurés pouvaient entraîner de courtes interruptions fréquentes pour le trafic correspondant.

Remarque

Chaque instance de passerelle d’application v2 maintient son propre compteur de limite de débit. Lorsque plusieurs instances sont actives, elles se répartissent les requêtes entrantes entre elles, et le seuil de limite de taux s’applique indépendamment à chaque instance.

Par exemple, considérons un seuil de 400 requêtes par IP client par minute. Si deux instances reçoivent 270 et 230 requêtes de la même IP client, aucune des deux n’atteint le seuil. Le WAF autorise les demandes même si le nombre combiné de demandes dépasse 400. Par conséquent, lorsque plusieurs instances sont actives, ne considérez pas le seuil configuré comme une limite stricte à l’échelle de la passerelle.

Étape suivante