Configuración de una regla de limitación de volumen del firewall de aplicaciones web mediante Azure PowerShellConfigure a web application firewall rate limit rule using Azure PowerShell

La regla de limitación de volumen del firewall de aplicaciones web (WAF) de Azure para Azure Front Door controla el número de solicitudes permitidas desde una IP de un solo cliente durante un minuto.The Azure web application firewall (WAF) rate limit rule for Azure Front Door controls the number of requests allowed from a single client IP during a one-minute duration. En este artículo se muestra cómo configurar una regla de limitación de volumen de WAF que controla el número de solicitudes permitidas desde un solo cliente a una aplicación web que contiene /promo en la URL mediante Azure PowerShell.This article shows how to configure a WAF rate limit rule that controls the number of requests allowed from a single client to a web application that contains /promo in the URL using Azure PowerShell.

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.If you don't have an Azure subscription, create a free account before you begin.

Requisitos previosPrerequisites

Antes de empezar a configurar una directiva de limitación de volumen, configure el entorno de PowerShell y cree un perfil de Front Door.Before you begin to set up a rate limit 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 de PowerShell.Follow the instructions on the page, to sign in with your Azure credentials, and install 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

Connect-AzAccount

Antes de instalar el módulo de Front Door asegúrese de que tiene instalada la última versión de PowerShellGet.Before install Front Door module, 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 DoorCreate a Front Door profile by following the instructions described in Quickstart: Create a Front Door profile

Definición de condiciones de coincidencia de URLDefine url match conditions

Defina una condición de coincidencia de URL (la URL contiene /promo) mediante New-AzFrontDoorWafMatchConditionObject.Define a URL match condition (URL contains /promo) using New-AzFrontDoorWafMatchConditionObject. En el ejemplo siguiente se define el elemento /promo con el valor de la variable RequestUri:The following example matches /promo as the value of the RequestUri variable:

   $promoMatchCondition = New-AzFrontDoorWafMatchConditionObject `
     -MatchVariable RequestUri `
     -OperatorProperty Contains `
     -MatchValue "/promo"

Creación de una regla de limitación de volumen personalizadaCreate a custom rate limit rule

Establezca un límite de volumen mediante New AzFrontDoorWafCustomRuleObject.Set a rate limit using New-AzFrontDoorWafCustomRuleObject. En el ejemplo siguiente, el límite se establece en 1000.In the following example, the limit is set to 1000. Las solicitudes desde cualquier cliente a la página de promoción que superan el valor de 1000 durante un minuto se bloquean hasta que se inicia el siguiente minuto.Requests from any client to the promo page exceeding 1000 during one minute are blocked until the next minute starts.

   $promoRateLimitRule = New-AzFrontDoorWafCustomRuleObject `
     -Name "rateLimitRule" `
     -RuleType RateLimitRule `
     -MatchCondition $promoMatchCondition `
     -RateLimitThreshold 1000 `
     -Action Block -Priority 1

Configuración de la directiva de seguridadConfigure a security policy

Busque el nombre del grupo de recursos que contiene el perfil de Front Door que usan Get-AzureRmResourceGroup.Find the name of the resource group that contains the Front Door profile using Get-AzureRmResourceGroup. A continuación, configure una directiva de seguridad con una regla de limitación de volumen personalizada mediante New-AzFrontDoorWafPolicy en el grupo de recursos especificado que contiene el perfil de Front Door.Next, configure a security policy with a custom rate limit rule using New-AzFrontDoorWafPolicy in the specified resource group that contains the Front Door profile.

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.

mediante New-AzFrontDoorWafPolicy.using New-AzFrontDoorWafPolicy.

   $ratePolicy = New-AzFrontDoorWafPolicy `
     -Name "RateLimitPolicyExamplePS" `
     -resourceGroupName myResourceGroupFD1 `
     -Customrule $promoRateLimitRule `
     -Mode Prevention `
     -EnabledState Enabled

Vincule el objeto de directiva de seguridad a un host de front-end de Front Door existente y actualice las propiedades de Front Door.Link the security policy object to an existing Front Door front-end host and update Front Door properties. En primer lugar, recupere el objeto de Front Door mediante el comando Get-AzFrontDoor.First retrieve the Front Door object using Get-AzFrontDoor command. A continuación, establezca la propiedad WebApplicationFirewallPolicyLink de front-end en el valor de resourceId del elemento "$ratePolicy" creado en el paso anterior, mediante el uso del comando Set-AzFrontDoor.Next, set the front-end WebApplicationFirewallPolicyLink property to the resourceId of the "$ratePolicy" created in the previous step using Set-AzFrontDoor command.

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. Además, en el ejemplo siguiente, reemplace $frontDoorName por el nombre de su perfil de Front Door.Also, in the below example, replace $frontDoorName with the name of your Front Door profile.

   $FrontDoorObjectExample = Get-AzFrontDoor `
     -ResourceGroupName myResourceGroupFD1 `
     -Name $frontDoorName
   $FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $ratePolicy.Id
   Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]

Nota

Solo necesita establecer la propiedad WebApplicationFirewallPolicyLink una vez para vincular una directiva de seguridad a un front-end de Front Door.You only need to set WebApplicationFirewallPolicyLink property once to link a security policy to a Front Door front-end. Las posteriores actualizaciones de la directiva se aplican al front-end automáticamente.Subsequent policy updates are automatically applied to the front-end.

Pasos siguientesNext steps