Configure una directiva de WAF de filtrado geográfico para Azure
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 Azure Front Door existente. Esta directiva de filtrado geográfico de ejemplo bloquea 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 Azure 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. Luego instale el módulo Az de 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 siguiente comando 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 Azure Front Door
Para crear un perfil de Azure Front Door siga las instrucciones que se describen en Inicio rápido: Creación de un perfil de Azure Front Door.
Definir una 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 SocketAddr `
-OperatorProperty GeoMatch `
-NegateCondition $true `
-MatchValue "US"
Adición de una condición de coincidencia de filtrado geográfico a una regla con una acción y una prioridad
Cree un CustomRule
objeto nonUSBlockRule
en función de la condición de coincidencia, una acción y una prioridad, para lo que debe usar New-AzFrontDoorWafCustomRuleObject. Una regla personalizada puede tener varias condiciones de coincidencia. En este ejemplo, Action
está establecido en Block
.
Priority
está establecido en 1
, que es la prioridad máxima.
$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 Azure Front Door. Para ello, debe usar Get-AzResourceGroup
. A continuación, cree un geoPolicy
objeto que contenga nonUSBlockRule
para lo que debe usar New-AzFrontDoorWafPolicy en el grupo de recursos especificado que contiene el perfil de Azure 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 Azure Front Door siguiendo las instrucciones proporcionadas en el Inicio rápido: Creación de una instancia de Azure 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 Azure Front Door
Vincule el objeto de directiva WAF al host front-end de Azure Front Door existente. Actualizar las propiedades de Azure Front Door.
Para ello, en primer lugar recupere el objeto Azure Front Door mediante Get-AzFrontDoor.
$geoFrontDoorObjectExample = Get-AzFrontDoor -ResourceGroupName myResourceGroupFD1
$geoFrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $geoPolicy.Id
A continuación, establezca la propiedad front-end WebApplicationFirewallPolicyLink
en el identificador de recurso de la directiva geográfica mediante Set-AzFrontDoor.
Set-AzFrontDoor -InputObject $geoFrontDoorObjectExample[0]
Nota
Solo es necesario establecer la propiedad WebApplicationFirewallPolicyLink
una vez para vincular una directiva de WAF a un host de front-end de Azure Front Door. Las posteriores actualizaciones de la directiva se aplican al host de front-end automáticamente.
Pasos siguientes
- Más información sobre Firewall de aplicaciones web de Azure.
- Aprenda a crear una instancia de Azure Front Door.