Configurare una risposta personalizzata per Web application firewall di Azure

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

Per impostazione predefinita, quando Web application firewall di Azure 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 collegare le voci di log per la richiesta. È possibile configurare un codice di stato della risposta personalizzata 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 della risposta personalizzato e il corpo in Impostazioni dei criteri nel portale di Web application firewall di Azure.

Screenshot che mostra le impostazioni dei criteri Web application firewall di Azure.

Nell'esempio precedente il codice di risposta è stato mantenuto 403 ed è stato configurato un breve messaggio "Contattaci", 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

Nell'esempio seguente viene illustrato come creare un nuovo criterio web application firewall (WAF) con un codice di stato della risposta personalizzato impostato su 405 e un messaggio "Sei bloccato" utilizzando 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 utilizzando 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 Web application firewall di Azure in Frontdoor di Azure.