Procedimientos para configurar una directiva de WAF de filtrado geográfico para Front DoorHow to set up a geo-filtering WAF policy for your Front Door

En este tutorial se muestra cómo usar Azure PowerShell para crear una directiva de filtrado geográfico de ejemplo y a asociarla con el host de front-end de Front Door existente.This tutorial shows how to use Azure PowerShell to create a sample geo-filtering policy and associate the policy with your existing Front Door frontend host. Esta directiva de filtrado geográfico de ejemplo bloqueará las solicitudes de todos los países o regiones, salvo Estados Unidos.This sample geo-filtering policy will block requests from all other countries/regions except United States.

Si no tiene una suscripción a Azure, cree una cuenta gratuita ahora.If you don't have an Azure subscription, create a free account now.

Requisitos previosPrerequisites

Antes de empezar a configurar una directiva de filtrado geográfico, configure el entorno de PowerShell y crear un perfil de Front Door.Before you begin to set up a geo-filter policy, set up your PowerShell environment and create a Front Door profile.

Configuración del entorno de PowerShellSet up your PowerShell environment

Azure PowerShell ofrece un conjunto de cmdlets que usan el modelo Azure Resource Manager para administrar los recursos de Azure.Azure PowerShell provides a set of cmdlets that use the Azure Resource Manager model for managing your Azure resources.

Puede instalar Azure PowerShell en el equipo local y usarlo en cualquier sesión de PowerShell.You can install Azure PowerShell on your local machine and use it in any PowerShell session. Siga las instrucciones de la página para iniciar sesión con sus credenciales de Azure e instalar el módulo Az.PowerShell.Follow the instructions on the page, to sign in with your Azure credentials, and install the Az PowerShell module.

Conexión a Azure con un cuadro de diálogo interactivo para el inicio de sesiónConnect to Azure with an interactive dialog for sign-in

Install-Module -Name Az
Connect-AzAccount

Asegúrese de tener instalada la versión actual de PowerShellGet.Make sure you have the current version of PowerShellGet installed. Ejecute el comando siguiente y vuelva a abrir PowerShell.Run below command and reopen PowerShell.

Install-Module PowerShellGet -Force -AllowClobber

Instalación del módulo Az.FrontDoorInstall Az.FrontDoor module

Install-Module -Name Az.FrontDoor

Creación de un perfil de Front DoorCreate a Front Door profile

Para crear un perfil de Front Door siga las instrucciones que se describen en Inicio rápido: Creación de un perfil de Front Door.Create a Front Door profile by following the instructions described in Quickstart: Create a Front Door profile.

Definición de la condición de coincidencia del filtrado geográficoDefine geo-filtering match condition

Cree una condición de coincidencia de ejemplo que selecciona las solicitudes que no proceden de "EE.UU.", utilizando New AzFrontDoorWafMatchConditionObject en los parámetros al crear una condición de coincidencia.Create a sample match condition that selects requests not coming from "US" using New-AzFrontDoorWafMatchConditionObject on parameters when creating a match condition. Aquí se proporcionan códigos de país de dos letras para la asignación de país.Two letter country codes to country mapping are provided here.

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

Adición de una condición de coincidencia de filtrado geográfico a una regla con Action y PriorityAdd geo-filtering match condition to a rule with Action and Priority

Cree un objeto CustomRule nonUSBlockRule en función de la condición de coincidencia, un valor de Action y un valor de Priority, para lo que debe usar New-AzFrontDoorWafCustomRuleObject.Create a CustomRule object nonUSBlockRule based on the match condition, an Action, and a Priority using New-AzFrontDoorWafCustomRuleObject. Un objeto CustomRule puede tener varios MatchCondition.A CustomRule can have multiple MatchCondition. En este ejemplo, el valor de Action es Block y el de Priority es 1, la prioridad más alta.In this example, Action is set to Block and Priority to 1, the highest priority.

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

Adición de reglas a una directivaAdd rules to a policy

Busque el nombre del grupo de recursos que contiene el perfil de Front Door que usan Get-AzResourceGroup.Find the name of the resource group that contains the Front Door profile using Get-AzResourceGroup. A continuación, cree un objeto de directiva geoPolicy que contenga nonUSBlockRule para lo que debe usar New-AzFrontDoorWafPolicy en el grupo de recursos especificado que contiene el perfil de Front Door.Next, create a geoPolicy policy object containing nonUSBlockRule using New-AzFrontDoorWafPolicy in the specified resource group that contains the Front Door profile. Debe especificar un nombre único para la directiva de replicación geográfica.You must provide a unique name for the geo policy.

En el ejemplo siguiente se usa el nombre de grupo de recursos myResourceGroupFD1 con la suposición de que ha creado el perfil de Front Door mediante las instrucciones proporcionadas en el artículo Inicio rápido: Creación de una instancia de Front Door.The below example uses the Resource Group name myResourceGroupFD1 with the assumption that you have created the Front Door profile using instructions provided in the Quickstart: Create a Front Door article. En el ejemplo siguiente, reemplace el nombre de la directiva geoPolicyAllowUSOnly con un nombre de directiva único.In the below example, replace the policy name geoPolicyAllowUSOnly with a unique policy name.

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

Vincule el objeto de directiva de WAF al host de front-end de Front Door existente y actualice las propiedades de Front Door.Link the WAF policy object to the existing Front Door frontend host and update Front Door properties.

Para ello, en primer lugar recupere el objeto Front Door mediante Get-AzFrontDoor.To do so, first retrieve your Front Door object using Get-AzFrontDoor.

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

Luego, establezca la propiedad WebApplicationFirewallPolicyLink de front-end en el valor de resourceId de geoPolicymediante Set-AzFrontDoor.Next, set the frontend WebApplicationFirewallPolicyLink property to the resourceId of the geoPolicyusing Set-AzFrontDoor.

Set-AzFrontDoor -InputObject $geoFrontDoorObjectExample[0]

Nota

La propiedad WebApplicationFirewallPolicyLink solo es preciso establecerse una vez para vincular una directiva de WAF a un host de front-end de Front Door.You only need to set WebApplicationFirewallPolicyLink property once to link a WAF policy to a Front Door frontend host. Las posteriores actualizaciones de la directiva se aplican al host del front-end.Subsequent policy updates are automatically applied to the frontend host.

Pasos siguientesNext steps