Configurare una risposta personalizzata per Azure Web application firewall

Questo articolo descrive come configurare una pagina di risposta personalizzata quando Azure Web application firewall blocca una richiesta.

Per impostazione predefinita, quando Azure Web application firewall blocca una richiesta a causa di una regola corrispondente, restituisce un codice di stato 403 con il messaggio "La richiesta è bloccata". Il messaggio predefinito include anche la stringa di riferimento di rilevamento usata per il collegamento alle voci di log per la richiesta. È possibile configurare un codice di stato della risposta personalizzato e un messaggio personalizzato con una stringa di riferimento per il caso d'uso.

Configurare un codice di stato e un messaggio di risposta personalizzati usando il portale

È possibile configurare un codice di stato e un corpo della risposta personalizzati in Impostazioni dei criteri nel portale di Azure Web application firewall.

Screenshot che mostra le impostazioni di Criteri di Azure Web application firewall.

Nell'esempio precedente il codice di risposta è stato mantenuto 403 e è stato configurato un breve messaggio "Please contact us", come illustrato nell'immagine seguente:

Screenshot che mostra un esempio di risposta personalizzata.

"{{azure-ref}}" inserisce la stringa di riferimento univoca nel corpo della risposta. Il valore corrisponde al campo TrackingReference nei FrontDoorAccessLog log e FrontDoorWebApplicationFirewallLog .

"{{azure-ref}}" inserisce la stringa di riferimento univoca nel corpo della risposta. Il valore corrisponde al campo TrackingReference nei FrontdoorAccessLog log e FrontdoorWebApplicationFirewallLog .

Configurare un codice di stato e un messaggio di risposta personalizzati usando PowerShell

Seguire questa procedura per configurare un codice di stato e un messaggio di risposta personalizzati usando PowerShell.

Configurare l'ambiente PowerShell

Azure PowerShell offre un set di cmdlet che usano il modello Azure Resource Manager per la gestione delle risorse di Azure.

È possibile installare Azure PowerShell nel computer locale e usarlo in qualsiasi sessione di PowerShell. Seguire le istruzioni nella pagina per accedere con le credenziali di Azure. Installare quindi il modulo Az PowerShell.

Connettersi ad Azure con una finestra di dialogo interattiva per l'accesso

Connect-AzAccount
Install-Module -Name Az

Assicurarsi di avere la versione corrente di PowerShellGet installata. Eseguire il comando seguente e riaprire PowerShell.

Install-Module PowerShellGet -Force -AllowClobber

Installare il modulo Az.FrontDoor

Install-Module -Name Az.FrontDoor

Creare un gruppo di risorse

In Azure, si allocano le risorse correlate a un gruppo di risorse. In questo caso viene creato un gruppo di risorse usando New-AzResourceGroup.

New-AzResourceGroup -Name myResourceGroupWAF

Creare un nuovo criterio WAF con una risposta personalizzata

L'esempio seguente mostra come creare un nuovo criterio web application firewall (WAF) con un codice di stato della risposta personalizzato impostato su 405 e un messaggio di "You are blocked" by using 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>"

Modificare le impostazioni personalizzate del codice di risposta o del corpo della risposta di un criterio WAF esistente usando 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>"

Passaggi successivi

Altre informazioni su Azure Web application firewall in Frontdoor di Azure.