Configurar uma política de filtragem geográfica WAF para o Azure Front Door

Este tutorial mostra como usar o Azure PowerShell para criar uma política de filtragem geográfica de exemplo e associar a política a seu host de front-end do Azure Front Door existente. Essa política de filtragem geográfica de exemplo bloqueará as solicitações de todos os outros países ou regiões, exceto dos Estados Unidos.

Caso não tenha uma assinatura do Azure, crie uma conta gratuita agora.

Pré-requisitos

Antes de configurar uma política de filtragem geográfica, configure o ambiente do PowerShell e crie um perfil do Azure Front Door.

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

Install-Module -Name Az
Connect-AzAccount

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 perfil do Azure Front Door

Criar um perfil do Azure Front Door seguindo as instruções descritas em Início rápido: Criar um perfil do Azure Front Door.

Definir uma condição de correspondência de filtragem geográfica

Crie uma condição de correspondência de exemplo que seleciona as solicitações não provenientes de "US" usando New-AzFrontDoorWafMatchConditionObject nos parâmetros, ao criar uma condição de correspondência.

Os códigos de país ou região de duas letras para o mapeamento de país ou região são fornecidos em O que é a filtragem geográfica em um domínio do Azure Front Door?.

$nonUSGeoMatchCondition = New-AzFrontDoorWafMatchConditionObject `
-MatchVariable SocketAddr `
-OperatorProperty GeoMatch `
-NegateCondition $true `
-MatchValue "US"

Adicionar condição de correspondência de filtragem geográfica a uma regra com uma ação e prioridade

Crie um CustomRule objetononUSBlockRule baseado na condição de correspondência, uma ação e uma prioridade, usando New-AzFrontDoorWafCustomRuleObject. Uma regra personalizada pode ter várias condições de correspondência. Neste exemplo, Action é configurado para Block. Priority é configurado para 1, que é a prioridade mais alta.

$nonUSBlockRule = New-AzFrontDoorWafCustomRuleObject `
-Name "geoFilterRule" `
-RuleType MatchRule `
-MatchCondition $nonUSGeoMatchCondition `
-Action Block `
-Priority 1

Adicionar regras a uma política

Encontre o nome do grupo de recursos que contém o perfil do Azure Front Door usando Get-AzResourceGroup. Em seguida, crie um geoPolicyobjeto que contém nonUSBlockRule usando New-AzFrontDoorWafPolicy no grupo de recursos especificado que contém o perfil do Azure Front Door. Você deve fornecer um nome exclusivo para a política geográfica.

O exemplo a seguir usa o nome do grupo de recursos myResourceGroupFD1 supondo que o perfil do Azure Front Door foi criado com as instruções fornecidas no Guia de início rápido: Criar um Azure Front Door. No exemplo a seguir, substitua o nome da política geoPolicyAllowUSOnly por um nome de política exclusivo.

$geoPolicy = New-AzFrontDoorWafPolicy `
-Name "geoPolicyAllowUSOnly" `
-resourceGroupName myResourceGroupFD1 `
-Customrule $nonUSBlockRule  `
-Mode Prevention `
-EnabledState Enabled

Vincule o objeto de política do WAF ao host de front-end existente do Azure Front Door. Atualize as propriedades do Azure Front Door.

Para fazer isso, primeiro recupere o objeto do Azure Front Door usando Get-AzFrontDoor.

$geoFrontDoorObjectExample = Get-AzFrontDoor -ResourceGroupName myResourceGroupFD1
$geoFrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $geoPolicy.Id

Em seguida, defina a propriedade front-end WebApplicationFirewallPolicyLink como a ID do recurso da política geográfica usando Set-AzFrontDoor.

Set-AzFrontDoor -InputObject $geoFrontDoorObjectExample[0]

Observação

Você precisa apenas definir a propriedade WebApplicationFirewallPolicyLink uma só vez para vincular uma política do WAF a um host de front-end do Azure Front Door. As próximas atualizações da política serão aplicadas automaticamente ao host front-end.

Próximas etapas