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

Este tutorial mostra como utilizar Azure PowerShell para criar uma política de filtragem geográfica de exemplo e associar a política ao anfitrião de front-end do Azure Front Door existente. Esta política de filtragem geográfica de exemplo bloqueia os pedidos de todos os outros países ou regiões, exceto o Estados Unidos.

Se não tiver uma subscrição do Azure, crie uma conta gratuita agora.

Pré-requisitos

Antes de começar a configurar uma política de filtro geográfico, configure o seu 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 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 iniciar sessão com as suas credenciais do Azure. Em seguida, instale o módulo do Az PowerShell.

Ligar ao Azure com uma caixa de diálogo interativa para iniciar sessão

Install-Module -Name Az
Connect-AzAccount

Certifique-se de que tem a versão atual do PowerShellGet instalada. Execute o seguinte comando e reabra o PowerShell.

Install-Module PowerShellGet -Force -AllowClobber

Instalar o módulo Az.FrontDoor

Install-Module -Name Az.FrontDoor

Criar um perfil do Azure Front Door

Crie um perfil do Azure Front Door ao seguir 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 selecione pedidos que não são provenientes de "EUA" com New-AzFrontDoorWafMatchConditionObject em parâmetros quando cria 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 num domínio do Azure Front Door?.

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

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

Crie um CustomRule objeto nonUSBlockRule com base na condição de correspondência, numa ação e numa prioridade com New-AzFrontDoorWafCustomRuleObject. Uma regra personalizada pode ter várias condições de correspondência. Neste exemplo, Action está definido como Block. Priority está definido como 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

Localize o nome do grupo de recursos que contém o perfil do Azure Front Door com Get-AzResourceGroup. Em seguida, crie um geoPolicy objeto que contenha nonUSBlockRule com New-AzFrontDoorWafPolicy no grupo de recursos especificado que contém o perfil do Azure Front Door. Tem de fornecer um nome exclusivo para a política geográfica.

O exemplo seguinte utiliza o nome myResourceGroupFD1 do grupo de recursos com o pressuposto de que criou o perfil do Azure Front Door com as instruções fornecidas no Início Rápido: Criar um Azure Front Door. No exemplo seguinte, substitua o nome geoPolicyAllowUSOnly da política por um nome de política exclusivo.

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

Ligue o objeto de política WAF ao anfitrião de front-end do Azure Front Door existente. Atualizar as propriedades do Azure Front Door.

Para tal, obtenha primeiro o objeto do Azure Front Door com Get-AzFrontDoor.

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

Em seguida, defina a propriedade de front-end WebApplicationFirewallPolicyLink para o ID de recurso da política geográfica com Set-AzFrontDoor.

Set-AzFrontDoor -InputObject $geoFrontDoorObjectExample[0]

Nota

Só tem de definir a WebApplicationFirewallPolicyLink propriedade uma vez para ligar uma política WAF a um anfitrião de front-end do Azure Front Door. As atualizações de política subsequentes são aplicadas automaticamente ao anfitrião de front-end.

Passos seguintes