Partilhar via


Configurar uma resposta personalizada para o Azure Web Application Firewall

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, ele retorna um código de status 403 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 personalizado e uma mensagem personalizada com uma cadeia de caracteres de referência para seu caso de uso.

Configurar um código de status de resposta personalizado e uma mensagem usando o portal

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

Captura de ecrã que mostra as definições da Política de Firewall de Aplicações Web do Azure.

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

Captura de tela que mostra um exemplo de resposta personalizada.

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

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

Configurar um código de status de resposta personalizado e uma mensagem usando o PowerShell

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

Configurar o ambiente do PowerShell

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

Pode instalar o Azure PowerShell no seu computador local e utilizá-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 Az PowerShell.

Conectar-se ao Azure com uma caixa de diálogo interativa para entrar

Connect-AzAccount
Install-Module -Name Az

Verifique se você tem a versão atual do PowerShellGet instalada. Execute o seguinte comando e reabra o PowerShell.

Install-Module PowerShellGet -Force -AllowClobber

Instale o módulo Az.FrontDoor

Install-Module -Name Az.FrontDoor

Criar um grupo de recursos

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

New-AzResourceGroup -Name myResourceGroupWAF

Criar uma nova política WAF com uma resposta personalizada

O exemplo a seguir mostra como criar uma nova diretiva de firewall de aplicativo Web (WAF) com um código de status de resposta personalizado 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 o código de resposta personalizado ou as configurações do corpo de 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óximos passos

Saiba mais sobre o Firewall de Aplicativo Web do Azure na Porta da Frente do Azure.