Configurer une réponse personnalisée pour le pare-feu d’applications web Azure

Cet article explique comment configurer une page de réponse personnalisée lorsque l’Azure Web Application Firewall bloque une requête.

Par défaut, lorsque l’Azure Web Application Firewall bloque une requête en raison d'une règle correspondante, il renvoie un code d'état 403 avec le message « La requête est bloquée ». Le message par défaut inclut également la chaîne de référence de suivi utilisée pour établir un lien vers les entrées de journal pour la requête. Vous pouvez configurer un code d'état de réponse personnalisé et un message personnalisé avec une chaîne de référence pour votre cas d'utilisation.

Configurer un code d'état de réponse personnalisé et un message à l'aide du portail

Vous pouvez configurer un code d'état et un corps de réponse personnalisés sous Paramètres Azure Policy sur le portail d’Azure Web Application Firewall.

Capture d'écran qui affiche les paramètres de stratégie d’Azure Web Application Firewall.

Dans l'exemple précédent, nous avons conservé le code de réponse 403 et configuré un court message "Veuillez nous contacter", comme illustré dans l'image suivante :

Capture d'écran montrant un exemple de réponse personnalisée.

« {{Azure-Ref}} » insère la chaîne de référence unique dans le corps de la réponse. La valeur correspond au champ TrackingReference dans les journaux FrontDoorAccessLog et FrontDoorWebApplicationFirewallLog.

« {{Azure-Ref}} » insère la chaîne de référence unique dans le corps de la réponse. La valeur correspond au champ TrackingReference dans les journaux FrontdoorAccessLog et FrontdoorWebApplicationFirewallLog.

Configurer un code d'état de réponse personnalisé et un message à l'aide de PowerShell

Suivez ces étapes pour configurer un code d'état de réponse personnalisé et un message à l'aide de PowerShell.

Configurer votre environnement PowerShell

Azure PowerShell fournit un ensemble d’applets de commande qui utilisent le modèle Azure Resource Manager pour gérer vos ressources Azure.

Vous pouvez installer Azure PowerShell sur votre ordinateur local et l’utiliser sur n’importe quelle session PowerShell. Suivez les instructions de la page pour vous connecter avec vos identifiants Azure. Installez ensuite le module Az PowerShell.

Se connecter à Azure avec une boîte de dialogue interactive

Connect-AzAccount
Install-Module -Name Az

Vérifiez que la version actuelle de PowerShellGet est installée. Exécutez la commande suivante et rouvrez PowerShell.

Install-Module PowerShellGet -Force -AllowClobber

Installer le module Az.FrontDoor

Install-Module -Name Az.FrontDoor

Créer un groupe de ressources

Dans Azure, vous allouez les ressources associées à un groupe de ressources. Ici, nous créons un groupe de ressources en utilisant New-AzResourceGroup.

New-AzResourceGroup -Name myResourceGroupWAF

Créer une nouvelle stratégie WAF avec une réponse personnalisée

L'exemple suivant montre comment créer une nouvelle stratégie de pare-feu d'application Web (WAF) avec un code d'état de réponse personnalisé défini sur 405 et un message « Vous êtes bloqué » à l'aide de New-AzFrontDoorWafPolicy.

# WAF policy setting
New-AzFrontDoorWafPolicy `
-Name myWAFPolicy `
-ResourceGroupName myResourceGroupWAF `
-EnabledState enabled `
-Mode Detection `
-CustomBlockResponseStatusCode 405 `
-CustomBlockResponseBody "<html><head><title>You are blocked.</title></head><body></body></html>"

Modifiez le code de réponse personnalisé ou les paramètres du corps de réponse d'une stratégie WAF existante à l'aide de Update-AzFrontDoorFireWallPolicy.

# modify WAF response code
Update-AzFrontDoorFireWallPolicy `
-Name myWAFPolicy `
-ResourceGroupName myResourceGroupWAF `
-EnabledState enabled `
-Mode Detection `
-CustomBlockResponseStatusCode 403
# modify WAF response body
Update-AzFrontDoorFireWallPolicy `
-Name myWAFPolicy `
-ResourceGroupName myResourceGroupWAF `
-CustomBlockResponseBody "<html><head><title>Forbidden</title></head><body>{{azure-ref}}</body></html>"

Étapes suivantes

En savoir plus sur le Azure Web Application Firewall sur Azure Front Door.