Configure una directiva de WAF de filtrado geográfico para 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. Esta directiva de filtrado geográfico de ejemplo bloqueará las solicitudes de todos los países o regiones, salvo Estados Unidos.
Si no tiene una suscripción a Azure, cree una cuenta gratuita ahora.
Prerrequisitos
Antes de empezar a configurar una directiva de filtrado geográfico, configure el entorno de PowerShell y crear un perfil de Front Door.
Configuración del entorno de PowerShell
Azure PowerShell ofrece un conjunto de cmdlets que usan el modelo Azure Resource Manager para administrar los recursos de Azure.
Puede instalar Azure PowerShell en el equipo local y usarlo en cualquier sesión de PowerShell. Siga las instrucciones de la página para iniciar sesión con sus credenciales de Azure e instalar el módulo Az.PowerShell.
Conexión a Azure con un cuadro de diálogo interactivo para el inicio de sesión
Install-Module -Name Az
Connect-AzAccount
Asegúrese de tener instalada la versión actual de PowerShellGet. Ejecute el comando siguiente y vuelva a abrir PowerShell.
Install-Module PowerShellGet -Force -AllowClobber
Instalación del módulo Az.FrontDoor
Install-Module -Name Az.FrontDoor
Creación de un perfil de Front Door
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.
Definición de la condición de coincidencia del filtrado geográfico
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. Se proporcionan códigos de país o región de dos letras para la asignación de país o región en ¿Qué es el filtrado geográfico en un dominio para Azure Front Door?.
$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 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. Un objeto CustomRule puede tener varios MatchCondition. En este ejemplo, el valor de Action es Block y el de Priority es 1, la prioridad más alta.
$nonUSBlockRule = New-AzFrontDoorWafCustomRuleObject `
-Name "geoFilterRule" `
-RuleType MatchRule `
-MatchCondition $nonUSGeoMatchCondition `
-Action Block `
-Priority 1
Adición de reglas a una directiva
Busque el nombre del grupo de recursos que contiene el perfil de Front Door que usan 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. Debe especificar un nombre único para la directiva de replicación geográfica.
En el ejemplo siguiente se usa el nombre del grupo de recursos myResourceGroupFD1 con la suposición de que ha creado el perfil de Front Door con las instrucciones proporcionadas en el Inicio rápido: Creación de una instancia de Front Door. En el ejemplo siguiente, reemplace el nombre de la directiva geoPolicyAllowUSOnly con un nombre de directiva único.
$geoPolicy = New-AzFrontDoorWafPolicy `
-Name "geoPolicyAllowUSOnly" `
-resourceGroupName myResourceGroupFD1 `
-Customrule $nonUSBlockRule `
-Mode Prevention `
-EnabledState Enabled
Vinculación de una directiva de WAF a un host de front-end de Front Door
Vincule el objeto de directiva de WAF al host de front-end de Front Door existente y actualice las propiedades de Front Door.
Para ello, en primer lugar recupere el objeto Front Door mediante 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.
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. Las posteriores actualizaciones de la directiva se aplican al host del front-end.
Pasos siguientes
- Más información sobre el firewall de aplicaciones web de Azure.
- Aprenda a crear una instancia de Front Door.