Configuración de la protección contra bots para Web Application Firewall

Azure Web Application Firewall (WAF) para Front Door proporciona reglas de bot con las que identificar a los bots buenos y ofrecer protección frente a los bots peligrosos. Para más información sobre el conjunto de reglas de protección contra bots, consulte Conjunto de reglas de protección contra bots.

En este artículo se muestra cómo habilitar reglas de protección contra bots en el nivel Prémium de Azure Front Door.

Prerequisites

Crear una directiva básica de WAF para Front Door siguiendo las instrucciones descritas en Creación de una directiva de WAF para Azure Front Door mediante Azure Portal.

Habilitación del conjunto de reglas de protección contra bots

  1. En Azure Portal, vaya a su política WAF.

  2. Seleccione Reglas administradas y, después, Asignar.

    Captura de pantalla de Azure Portal que muestra la configuración de reglas administradas de la directiva WAF y el botón Asignar resaltado.

  3. En la lista desplegable Conjunto de reglas adicionales, seleccione la versión del conjunto de reglas de protección contra bots que quiere usar. Normalmente, se recomienda usar la versión más reciente del conjunto de reglas.

    Captura de pantalla de Azure Portal que muestra la página de asignación de reglas administradas, con el campo desplegable

  4. Seleccione Guardar.

Obtención de la configuración actual de la directiva WAF

Use el cmdlet Get-AzFrontDoorWafPolicy para recuperar la configuración actual de la directiva WAF. Asegúrese de usar el nombre correcto del grupo de recursos y el nombre de la directiva WAF para su propio entorno.

$frontDoorWafPolicy = Get-AzFrontDoorWafPolicy `
  -ResourceGroupName 'FrontDoorWafPolicy' `
  -Name 'WafPolicy'

Adición del conjunto de reglas de protección contra bots

Use el cmdlet New-AzFrontDoorWafManagedRuleObject para seleccionar el conjunto de reglas de protección contra bots, incluida la versión del conjunto de reglas. A continuación, agregue el conjunto de reglas a la configuración de WAF.

En el ejemplo siguiente se agrega la versión 1.0 del conjunto de reglas de protección contra bots a la configuración de WAF.

$botProtectionRuleSet = New-AzFrontDoorWafManagedRuleObject `
  -Type 'Microsoft_BotManagerRuleSet' `
  -Version '1.0'

$frontDoorWafPolicy.ManagedRules.Add($botProtectionRuleSet)

Aplicación de la configuración

Use el cmdlet Update-AzFrontDoorWafPolicy para actualizar la directiva WAF con el fin de incluir la configuración que creó anteriormente.

$frontDoorWafPolicy | Update-AzFrontDoorWafPolicy

Habilitación del conjunto de reglas de protección contra bots

Use el comando az network front-door waf-policy managed-rules add para actualizar la directiva de WAF para agregar el conjunto de reglas de protección contra bots.

En el ejemplo siguiente se agrega la versión 1.0 del conjunto de reglas de protección contra bots al WAF. Asegúrese de usar el nombre correcto del grupo de recursos y el nombre de la directiva WAF para su propio entorno.

az network front-door waf-policy managed-rules add \
  --resource-group FrontDoorWafPolicy \
  --policy-name WafPolicy \
  --type Microsoft_BotManagerRuleSet \
  --version 1.0

El siguiente archivo de Bicep de ejemplo muestra cómo realizar los pasos siguientes:

  • Cree una directiva de WAF de Front Door.
  • Habilite la versión 1.0 del conjunto de reglas de protección contra bots.
param wafPolicyName string = 'WafPolicy'

@description('The mode that the WAF should be deployed using. In "Prevention" mode, the WAF will block requests it detects as malicious. In "Detection" mode, the WAF will not block requests and will simply log the request.')
@allowed([
  'Detection'
  'Prevention'
])
param wafMode string = 'Prevention'

resource wafPolicy 'Microsoft.Network/frontDoorWebApplicationFirewallPolicies@2022-05-01' = {
  name: wafPolicyName
  location: 'Global'
  sku: {
    name: 'Premium_AzureFrontDoor'
  }
  properties: {
    policySettings: {
      enabledState: 'Enabled'
      mode: wafMode
    }
    managedRules: {
      managedRuleSets: [
        {
          ruleSetType: 'Microsoft_BotManagerRuleSet'
          ruleSetVersion: '1.0'
        }
      ]
    }
  }
}

Pasos siguientes