Personalización de reglas de Firewall de aplicaciones web mediante PowerShell

El Firewall de aplicaciones web (WAF) de Azure Application Gateway proporciona protección a las aplicaciones web. Dicha protección la proporciona Open Web Application Security Project (OWASP) Core Rule Set (CRS). Algunas reglas pueden producir falsos positivos y bloquear el tráfico real. Por este motivo, Application Gateway ofrece la posibilidad de personalizar reglas y grupos de reglas. Para más información sobre reglas y grupos de reglas específicos, consulte Lista de reglas y grupos de reglas de CRS de Firewall de aplicaciones web.

Visualización de reglas y grupos de reglas

Los siguientes ejemplos de código muestran cómo ver las reglas y los grupos de reglas que se pueden configurar en una puerta de enlace de aplicaciones con WAF habilitado.

Visualización del grupos de reglas

En el ejemplo siguiente se muestra cómo ver grupos de reglas:

Get-AzApplicationGatewayAvailableWafRuleSets

La siguiente salida es una respuesta truncada del ejemplo anterior:

OWASP (Ver. 3.0):

    General:
        Description:

        Rules:
            RuleId     Description
            ------     -----------
            200004     Possible Multipart Unmatched Boundary.

    REQUEST-911-METHOD-ENFORCEMENT:
        Description:

        Rules:
            RuleId     Description
            ------     -----------
            911011     Rule 911011
            911012     Rule 911012
            911100     Method is not allowed by policy
            911013     Rule 911013
            911014     Rule 911014
            911015     Rule 911015
            911016     Rule 911016
            911017     Rule 911017
            911018     Rule 911018

    REQUEST-913-SCANNER-DETECTION:
        Description:

        Rules:
            RuleId     Description
            ------     -----------
            913011     Rule 913011
            913012     Rule 913012
            913100     Found User-Agent associated with security scanner
            913110     Found request header associated with security scanner
            913120     Found request filename/argument associated with security scanner
            913013     Rule 913013
            913014     Rule 913014
            913101     Found User-Agent associated with scripting/generic HTTP client
            913102     Found User-Agent associated with web crawler/bot
            913015     Rule 913015
            913016     Rule 913016
            913017     Rule 913017
            913018     Rule 913018

            ...        ...

Deshabilitar reglas

En el ejemplo siguiente se deshabilitan las reglas 911011 y 911012 en una puerta de enlace de aplicaciones:

$disabledrules=New-AzApplicationGatewayFirewallDisabledRuleGroupConfig -RuleGroupName REQUEST-911-METHOD-ENFORCEMENT -Rules 911011,911012
Set-AzApplicationGatewayWebApplicationFirewallConfiguration -ApplicationGateway $gw -Enabled $true -FirewallMode Detection -RuleSetVersion 3.0 -RuleSetType OWASP -DisabledRuleGroups $disabledrules
Set-AzApplicationGateway -ApplicationGateway $gw

Reglas obligatorias

La lista siguiente contiene las condiciones que provocan que WAF bloquee la solicitud durante el modo de prevención (en modo de detección, se registran como excepciones). Estas condiciones no se pueden configurar o deshabilitar:

  • La imposibilidad de analizar el cuerpo de la solicitud tiene como resultado que la solicitud se bloquea, a menos que la inspección del cuerpo esté desactivada (XML, JSON, datos de formulario).
  • La longitud de los datos del cuerpo de la solicitud (sin archivos) es mayor que el límite configurado.
  • El cuerpo de la solicitud (archivos incluidos) es mayor que el límite.
  • Se produjo un error interno en el motor de WAF.

Específico de CRS 3.x:

  • La puntuación de anomalías de entrada superó el umbral.

Pasos siguientes

Después de configurar las reglas deshabilitadas, puede aprender a ver los registros de WAFS. Para más información, consulte Diagnósticos de Application Gateway.