Configurar uma resposta personalizada para o Firewall de Aplicativo Web do Azure

Este artigo descreve como configurar uma página de resposta personalizada quando o Firewall de Aplicativo Web do Azure bloqueia uma solicitação.

Por padrão, quando o Firewall de Aplicativo Web do Azure bloqueia uma solicitação devido a uma regra correspondente, ela retorna um código 403 status com a mensagem "A solicitação está bloqueada". A mensagem padrão também inclui a cadeia de caracteres de referência de acompanhamento usada para vincular a entradas de log para a solicitação. Você pode configurar um código de status de resposta customizado e uma mensagem customizada com cadeia de caracteres de referência para seu caso de uso.

Configurar uma resposta personalizada status código e mensagem usando o portal

Você pode configurar uma resposta personalizada status código e corpo em Configurações de política no portal de Firewall de Aplicativo Web do Azure.

Captura de tela que mostra as configuração de política do Firewall de Aplicativo Web do Azure.

No exemplo anterior, mantivemos o código de resposta como 403 e configuramos uma mensagem curta "Entre em contato conosco", conforme mostrado na imagem a seguir:

Captura de tela que mostra uma regra personalizada.

"{{azure-ref}}" insere a cadeia de caracteres de referência exclusiva no corpo da resposta. O valor corresponde ao campo TrackingReference nos logs FrontDoorAccessLog e FrontDoorWebApplicationFirewallLog.

"{{azure-ref}}" insere a cadeia de caracteres de referência exclusiva no corpo da resposta. O valor corresponde ao campo TrackingReference nos logs FrontdoorAccessLog e FrontdoorWebApplicationFirewallLog.

Configurar uma resposta personalizada status código e mensagem usando o PowerShell

Siga estas etapas para configurar uma resposta personalizada status código e mensagem usando o PowerShell.

Configurar o ambiente do PowerShell

O Azure PowerShell fornece um conjunto de cmdlets que usa o modelo do Azure Resource Manager para gerenciar os recursos do Azure.

Você pode instalar o Azure PowerShell no computador local e usá-lo em qualquer sessão do PowerShell. Siga as instruções na página para entrar com suas credenciais do Azure. Em seguida, instale o módulo do Az PowerShell.

Conecte-se ao Azure com um diálogo interativo para entrar

Connect-AzAccount
Install-Module -Name Az

Verifique se tem a versão atual do PowerShellGet instalada. Execute o seguinte comando e abra o PowerShell novamente.

Install-Module PowerShellGet -Force -AllowClobber

Instalar o módulo Az.FrontDoor

Install-Module -Name Az.FrontDoor

Criar um grupo de recursos

No Azure, você pode alocar recursos relacionados a um grupo de recursos. Aqui, criamos um grupo de recursos usando New-AzResourceGroup.

New-AzResourceGroup -Name myResourceGroupWAF

Crie uma nova política WAF com resposta personalizada

O exemplo a seguir mostra como criar uma nova política de WAF (firewall do aplicativo Web) com uma resposta personalizada status código definido como 405 e uma mensagem de "Você está bloqueado" usando 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>"

Modifique a configuração do código de resposta personalizado ou do corpo da resposta de uma política WAF existente, 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>"

Próximas etapas

Saiba mais sobre Firewall de Aplicativo Web do Azure no Azure Front Door.