Todos los productos
Search
Centro de documentos

Web Application Firewall:Custom rules

Última actualización: Sep 23, 2026

Cuando necesita una protección precisa contra ataques específicos, como llamadas a API maliciosas, solicitudes sospechosas o escaneos de alta frecuencia, utilice reglas personalizadas para construir estrategias de protección adaptadas con condiciones de coincidencia y acciones de regla flexibles.

Conceptos clave

  • custom rule: módulo de protección dentro de Core Web Protection. Para habilitar este módulo, debe crear una plantilla de protección. Puede crear varias plantillas de protección.

  • protection template: conjunto de reglas de protección que define su contenido y alcance. Una plantilla de protección consta de un tipo de plantilla, reglas de protección y objetos de aplicación.

    • Tipo de plantilla: debe especificar un tipo cuando crea una plantilla de protección. No es posible cambiar el tipo después de la creación. Hay dos tipos de plantilla disponibles:

      Tipo de plantilla

      Descripción

      Casos de uso

      Plantilla de protección predeterminada

      • De forma predeterminada, la plantilla se aplica a todos los objetos protegidos y grupos de objetos protegidos, tanto existentes como nuevos.

      • Puede excluir manualmente objetos específicos si establece su estado en "Not Applied".

      • Solo puede crear una plantilla de protección predeterminada dentro del módulo de reglas personalizadas.

      Despliegue reglas de protección globales y de propósito general.

      Plantilla de protección personalizada

      Debe especificar manualmente a qué objetos protegidos o grupos de objetos protegidos se aplica la plantilla.

      Despliegue reglas de protección detalladas para servicios específicos, como API de inicio de sesión o de pago.

    • protection rule: define la lógica de detección específica y la acción de respuesta. Una plantilla de protección puede contener varias reglas de protección. Cada regla consta de los siguientes componentes:

      • match condition: define las características de la solicitud que se inspeccionan, como la ruta de la solicitud o la dirección IP del cliente.

      • Protection Type: admite tres dimensiones de detección: Access Control, Rate Limiting y Extension Execution.

      • rule action: define la acción que se ejecuta cuando una solicitud coincide con una regla. Las acciones tienen la siguiente prioridad, de mayor a menor: Block, Strict CAPTCHA, CAPTCHA, JavaScript Validation y Log.

        Nota

        Si una solicitud coincide con varias reglas que tienen la misma acción dentro del mismo módulo de protección, WAF aplica de forma aleatoria una de las reglas coincidentes.

    • apply-to object: especifica el destino de una plantilla de protección. Utilice esta configuración para aplicar reglas de protección a objetos protegidos o grupos de objetos protegidos específicos. Un objeto protegido o grupo de objetos protegidos se puede asociar con varias plantillas de protección.

      • protected object: el sistema crea automáticamente un objeto protegido por cada dominio o instancia de servicio en la nube que agrega a WAF.

      • protected object group: puede agregar varios objetos protegidos a un grupo para gestionarlos de forma centralizada.

Procedimiento

Nota

Antes de empezar, asegúrese de haber agregado su servicio web a Web Application Firewall (WAF) y de que exista un objeto protegido. Si aún no ha agregado su servicio, consulte Add a domain to WAF.

Inicie sesión en la consola de Web Application Firewall (WAF). En la barra de navegación superior, seleccione el resource group y la región (Chinese Mainland o Outside Chinese Mainland) de su instancia de WAF. En el panel de navegación izquierdo, elija Protection Config > Core Web Protection.

Paso 1: Configurar el tipo de plantilla

En la página Core Web Protection, busque la sección Custom Rule y haga clic en Create Template. En el panel Create Template, configure los siguientes parámetros.

  • Template Name: introduzca un nombre para la plantilla.

  • Save as Default Template: solo puede establecer una plantilla predeterminada en el módulo de reglas personalizadas, y únicamente al crear una plantilla nueva.

    • Yes: no necesita configurar un valor en Apply To. Cuando se crea la plantilla, se aplica de forma predeterminada a todos los objetos protegidos y grupos de objetos. También se aplica automáticamente a los objetos nuevos que se agreguen después. Puede excluir manualmente objetos específicos si establece su estado en 'Inactive'.

    • No: debe configurar Apply To para especificar manualmente los objetos protegidos o grupos de objetos.

Paso 2: Agregar reglas de protección

En el área Rule Configuration, haga clic en Create Rule y configure los siguientes parámetros.

  • Rule Name: introduzca un nombre para la regla.

  • Match Condition: define las características de la solicitud que inspecciona la regla. Haga clic en Add Condition para agregar una condición. Cada condición consta de un Match Field, un Logical Operator y un Match Content. A continuación se muestran ejemplos de configuración.

    Nota

    Si una regla contiene varias condiciones, la solicitud debe coincidir con todas ellas (relación AND lógica) para activar la regla. No es posible configurar una relación OR lógica entre condiciones. Para bloquear solicitudes que coincidan con cualquiera de varias palabras clave o características (por ejemplo, la palabra clave A o la palabra clave B), cree una regla de protección independiente para cada condición. Para obtener más información sobre los campos de coincidencia y los operadores lógicos, consulte Match conditions.

    Match Field

    Logical Operator

    Match Content

    Descripción

    URI Path

    Contains

    /login.php

    La regla coincide si la ruta de la solicitud contiene /login.php.

    IP

    Belongs To

    192.1.XX.XX

    La regla coincide si la dirección IP del cliente es 192.1.XX.XX.

    Nota

    Reglas de coincidencia complejas

    1. Lógica y límites de coincidencia de múltiples valoresPara aplicar la misma regla a varios endpoints de API, utilice operadores lógicos que admitan múltiples valores, como Contains One of Multiple Values, Equals One of Multiple Values, Does Not Contain Any Value o Does Not Equal Any Value. Los requisitos de configuración son los siguientes:

    • Delimitador: debe usar una coma (,) para separar los distintos valores de coincidencia. El sistema divide los valores por comas y los procesa de forma independiente.

    • Cantidad y deduplicación: puede introducir hasta 50 valores. No se permiten valores duplicados.

    2. Manejo de caracteres especialesSi el contenido de coincidencia incluye una coma (por ejemplo, en algunas cadenas User-Agent), el sistema podría interpretarla como un delimitador de múltiples valores y provocar un error en la coincidencia. En este caso, no use operadores lógicos de múltiples valores. Se recomiendan las siguientes alternativas:

    • Coincidencia con expresiones regulares: hace coincidir el contenido mediante una expresión regular y trata las comas como caracteres literales.

    • Regla individual: cree una regla independiente para la cadena específica y utilice un operador lógico de un solo valor.

    3. Ejemplos de aplicación de expresiones regulares

    • Coincidir con un rango específico de números de versión: para coincidir con versiones del navegador Chrome entre 100 y 200, establezca el campo de coincidencia en User-Agent, el operador lógico en Regex Match y el contenido de coincidencia en Chrome/(1[0-9]{2}|200)\..

    • Bloquear codificaciones URL múltiples: para bloquear solicitudes codificadas en URL varias veces, por ejemplo, donde % se codifica como \x25, establezca el operador lógico en "Regex Match" y el contenido de coincidencia en \x25.*\x25.

    4. Recomendaciones para entornos de producciónCuando configura condiciones de coincidencia complejas, como expresiones regulares, en un entorno de producción, se recomienda utilizar primero la acción Monitor o una prueba canary para comprobar el comportamiento de la regla. Después de confirmar que no hay problemas, aplique la regla a todo el tráfico.

  • Protection Rule Type: se admiten tres tipos: Access Control, Rate Limiting y Extension Execution.

    • Access Control: adecuado para escenarios que requieren un control preciso sobre tipos específicos de solicitudes.

    • Rate Limiting: indicado para escenarios que necesitan protección basada en la frecuencia de acceso, como la prevención de relleno de credenciales y ataques de fuerza bruta. Esta función solo está disponible en instancias de WAF con suscripción (Enterprise o Ultimate Edition) y pay-as-you-go.

    • Extension Execution: diseñado para escenarios de seguridad personalizados que requieren scripts Lua para implementar lógica de negocio compleja. Se recomienda configurar primero extensions.

    Control de acceso

    Configure una regla de control de acceso para ejecutar una acción específica en solicitudes individuales que cumplan determinadas condiciones.

    Limitación de velocidad

    Configure una regla de limitación de velocidad para restringir el acceso excesivo desde los clientes.

    • Condiciones de detección de velocidad: si la cantidad de veces que un único Statistical Object coincide con la regla dentro del Statistical Interval (Seconds) especificado supera el Threshold (Times) configurado, WAF activa la acción de lista negra.

      Parámetro

      Descripción

      Statistical Object

      Seleccione el objeto cuya frecuencia de solicitudes desea medir. Las opciones incluyen:

      • IP: mide la frecuencia de solicitudes desde una única dirección IP. Si despliega un proxy de capa 7, como CDN o Anti-DDoS, frente a WAF, asegúrese de establecer el parámetro Is a Layer 7 proxy (such as Anti-DDoS/CDN) deployed before WAF? en Yes cuando agregue el recurso a WAF. Una configuración incorrecta impide que WAF obtenga la dirección IP real del cliente, lo que provoca errores en las reglas basadas en IP.

      • Custom Header: agrupa las solicitudes según el valor de un encabezado de solicitud personalizado, como Referer, y mide la frecuencia de solicitudes de cada grupo con el mismo valor de encabezado durante el periodo de tiempo especificado.

      • Custom Parameter: mide la frecuencia de solicitudes que contienen un parámetro específico en la URL. Por ejemplo, si el parámetro es user_id, WAF mide la frecuencia de las solicitudes con el mismo valor de user_id.

      • Custom Cookie: mide la frecuencia de solicitudes HTTP que contienen una cookie específica durante el periodo de tiempo indicado. Por ejemplo, si el nombre de la cookie personalizada es User, WAF cuenta las apariciones de cada valor de User dentro de ese periodo.

      • Session: WAF establece un identificador de sesión al definir una cookie llamada acw_tc en la respuesta, y mide la frecuencia de solicitudes del cliente con base en el valor de esta cookie.

      • Account: mide la frecuencia de solicitudes provenientes de la misma cuenta. Debe configurar User Identification en la página Protected Objects antes de usar esta opción. Para obtener más información, consulte Configure protected objects and protected object groups.

      Statistical Interval (Seconds)

      Establezca el periodo estadístico en segundos.

      Threshold (Times)

      Establezca el número máximo de veces que el Statistical Object puede coincidir con la Match Condition dentro del Statistical Interval (Seconds).

    • Condiciones de detección de códigos de estado: si la Quantity o el Percentage (%) de respuestas con un Status Code específico supera el umbral configurado, WAF activa la acción de lista negra. Si habilita la detección de códigos de estado, el objeto estadístico debe cumplir tanto las condiciones de detección de velocidad como las de código de estado para activar la acción.

      Parámetro

      Descripción

      Status Code

      Establezca el código de estado que desea contar.

      Quantity

      Establezca el número máximo de veces que el Status Code especificado puede aparecer en las respuestas durante el periodo estadístico.

      Percentage (%)

      Establezca el porcentaje máximo de respuestas con el Status Code especificado durante el periodo estadístico.

    • Condiciones de acción de lista negra: agrega a una lista negra los objetos estadísticos que cumplen las condiciones de detección anteriores. Durante el Timeout Period, WAF aplica la Rule Action configurada a las solicitudes del objeto incluido en la lista negra que estén dentro del alcance de Apply To.

      Parámetro

      Descripción

      Apply To

      Establezca el alcance de la acción de lista negra. Las opciones incluyen:

      • Current Match Condition: la acción se aplica solo a las solicitudes que cumplen la Match Condition de la regla actual.

      • Protected Object: la acción se aplica a todas las solicitudes del objeto estadístico, como una dirección IP, dirigidas al objeto protegido actual.

      Timeout Period

      Establezca la duración de la acción de lista negra. Unidad: segundos. Rango de valores: de 60 a 86400.

    Ejecución de extensiones

    Seleccione entre las reglas de extensión configuradas para implementar controles de seguridad personalizados.

    Nota

    Las reglas de Extension Execution solo admiten dos acciones: Block y Log.

  • Rule Action: seleccione la acción que se ejecutará cuando una solicitud coincida con la regla.

    Parámetro

    Descripción

    JavaScript Validation

    WAF devuelve un fragmento de JavaScript al cliente para validarlo. Un navegador estándar ejecuta este código automáticamente. Si el navegador del cliente ejecuta el código correctamente, WAF permite todas las solicitudes de ese cliente durante un periodo (30 minutos de forma predeterminada). De lo contrario, WAF bloquea las solicitudes.

    Block

    Bloquea las solicitudes que coinciden con la regla y devuelve una página de respuesta de bloqueo al cliente.

    Nota

    WAF utiliza una página de bloqueo predeterminada. También puede usar la función Custom Response para personalizar la página de bloqueo.

    Log

    Permite las solicitudes que coinciden con la regla, pero registra la coincidencia en los registros. Al probar una regla nueva, utilice primero el modo Log para analizar los registros de WAF y confirmar que la regla no bloquea solicitudes legítimas. Después, cambie a otra acción de regla.

    CAPTCHA

    WAF devuelve una página de CAPTCHA al cliente. Si el cliente completa el CAPTCHA correctamente, WAF permite todas las solicitudes de ese cliente durante un periodo (30 minutos de forma predeterminada). De lo contrario, WAF bloquea las solicitudes.

    Nota

    En una instancia de WAF con el método de facturación pay-as-you-go, esta acción genera cargos adicionales. Para obtener más información, consulte Pay-as-you-go billing details.

    Strict CAPTCHA

    WAF devuelve una página de CAPTCHA al cliente. Si el cliente completa el CAPTCHA correctamente, WAF permite la solicitud. De lo contrario, la bloquea. En este modo, cada solicitud del cliente que coincida con esta regla requiere verificación mediante CAPTCHA.

    Nota

    En una instancia de WAF con el método de facturación pay-as-you-go, esta acción genera cargos adicionales. Para obtener más información, consulte Pay-as-you-go billing details.

    Nota
    • La acción CAPTCHA solo está disponible en instancias de WAF con suscripción (Enterprise o Ultimate Edition) y pay-as-you-go.

    • Las acciones JavaScript Validation y CAPTCHA se aplican únicamente a solicitudes síncronas. Para solicitudes asíncronas, como las realizadas con XMLHttpRequest o Fetch API, debe inyectar el SDK web. De lo contrario, estas funciones no operarán correctamente. Para obtener más información, consulte las secciones de validación de JavaScript y CAPTCHA en Bot management.

    • Después de habilitar JavaScript Validation o CAPTCHA, y cuando el cliente supera la verificación, WAF usa Set-Cookie para definir una cookie llamada acw_sc__v2 (para JavaScript Validation) o acw_sc__v3 (para CAPTCHA) en el encabezado de respuesta. Luego, el cliente incluye este identificador en el encabezado Cookie de las solicitudes posteriores.

  • Advanced Settings (opcional): las siguientes funciones avanzadas solo están disponibles para instancias de WAF de Enterprise Edition o Ultimate Edition con el método de facturación de suscripción, y para instancias de WAF pay-as-you-go.

    Parámetro

    Descripción

    Canary Rule

    Configure el porcentaje de tráfico al que se aplica la regla, con base en una dimensión específica.

    Después de habilitar una regla canary, también debe establecer la Dimension y la Canary Release Proportion. Los valores válidos para Dimension son IP, Custom Header, Custom Parameter, Custom Cookie y Session.

    Nota

    Una regla canary entra en vigor según la Dimension configurada, en lugar de aplicarse de forma aleatoria a un porcentaje de todas las solicitudes. Por ejemplo, si establece Dimension en IP y Canary Release Proportion en 10%, WAF selecciona aproximadamente el 10% de todas las direcciones IP. Luego, WAF aplica la regla a todas las solicitudes de esas direcciones IP seleccionadas, no a un 10% aleatorio del total de solicitudes.

    Effective Mode

    • Permanently Effective (predeterminado): la regla siempre está activa mientras la plantilla de protección esté habilitada.

    • Fixed Schedule: la regla solo está activa durante un periodo de tiempo específico.

    • Recurring Schedule: la regla solo está activa durante un ciclo de tiempo recurrente específico.

Paso 3: Establecer los objetos de aplicación

En el área Apply To, seleccione los protected objects and protected object groups a los que desea aplicar la plantilla.

La forma en que se aplica la plantilla depende de la configuración realizada en Step 1:

  • Si estableció la plantilla como plantilla de protección predeterminada: no necesita configurar objetos de aplicación. La plantilla se aplica de forma predeterminada a todos los objetos protegidos y grupos de objetos protegidos, tanto existentes como nuevos. Puede excluir manualmente objetos específicos si establece su estado en "Not Applied".

  • Si no estableció la plantilla como plantilla de protección predeterminada: debe especificar manualmente los objetos protegidos y grupos de objetos protegidos a los que se aplica la plantilla.

Nota

Puede ajustar manualmente el estado de aplicación de los objetos protegidos o grupos de objetos protegidos, tanto durante como después de la creación de la plantilla.

Ejemplos de configuración de reglas de protección

Importante

A continuación se muestran ejemplos de configuración únicamente como referencia. Antes de desplegar reglas en un entorno de producción, debe ajustarlas según el tráfico real de su negocio y los patrones de ataque. Copiar y aplicar estos ejemplos directamente puede provocar interrupciones en el servicio o una protección ineficaz.

Restringir el acceso al panel de administración a direcciones IP específicas

Bloquee todas las solicitudes de acceso a la ruta /wp-admin y permita solo las solicitudes provenientes de la dirección IP del administrador: 192.1.XX.XX.

  • Match Condition:

    • Establezca Match Field en IP, Logical Operator en Not Belong To y Match Content con la dirección IP incluida en la lista de permitidos del administrador: 192.1.XX.XX.

    • Establezca Match Field en URI Path, Logical Operator en Contains y Match Content con la ruta a la que desea restringir el acceso: /wp-admin.

  • Protection Rule Type: Access Control.

  • Rule Action: Block.

Incluir una dirección IP en la lista de permitidos para probar un dominio

Permita que solo una dirección IP específica de la lista de permitidos acceda a un dominio de prueba agregado a WAF y bloquee todo el tráfico público restante.

  • Match Condition:

    • Establezca Match Field en IP, Logical Operator en Not Belong To y Match Content con el rango de direcciones IP de la lista de permitidos, por ejemplo, 203.xx.xx.200/32.

    • Establezca Match Field en Host, Logical Operator en Equals y Match Content con el dominio de prueba, por ejemplo, test.example.com.

  • Protection Rule Type: Access Control.

  • Rule Action: Block.

Bloquear solicitudes con un encabezado host no coincidente

Si el encabezado Host de una solicitud no coincide con el dominio legítimo de su negocio, utilice la siguiente regla para bloquearla. Esto ayuda a reducir el riesgo de ataques CC o sondeos maliciosos.

  • Match Condition:

    • Match Field: Host.

    • Logical Operator: Not Equal To.

    • Match Content: introduzca el nombre de dominio legítimo que utiliza su negocio.

  • Protection Rule Type: Access Control.

  • Rule Action: Block.

Bloquear rastreadores y escáneres maliciosos

Al configurar reglas personalizadas, utilice los siguientes patrones comunes de User-Agent (UA) para identificar distintos tipos de tráfico:

  • Herramientas de escaneo de seguridad: como sqlmap, nmap y nikto, que se usan habitualmente para buscar vulnerabilidades.

  • Scripts y bibliotecas automatizados: como python-requests, Python-urllib, curl/ y Wget/, empleados frecuentemente para llamadas mediante scripts o accesos fuera del navegador.

  • Rastreadores de extracción de datos: como MJ12bot, AhrefsBot y SemrushBot, diseñados para análisis SEO o extracción de contenido.

  • Motores de búsqueda principales: como Googlebot, Baiduspider y bingbot.

  • Identificadores de dispositivos móviles: como Mobile, Android, iPhone y iPad.

Nota

Basarse únicamente en el campo UA no es un método confiable para identificar tráfico malicioso, ya que los atacantes suelen falsificarlo para imitar navegadores normales. Al configurar reglas personalizadas, se recomienda considerar también la reputación de la IP, la frecuencia de acceso y logs de WAF para obtener una evaluación integral y evitar el bloqueo de solicitudes legítimas.

El siguiente ejemplo bloquea las solicitudes HTTP cuyo campo UA contiene la cadena bot.

  • Match Condition: establezca Match Field en User-Agent, Logical Operator en Contains y Match Content con el patrón de UA bot.

  • Protection Rule Type: Access Control.

  • Rule Action: Block.

Usar verificación humana para bloquear bots

Habilite la validación de JavaScript para una ruta de solicitud bajo ataque malicioso, como /index.php, con el fin de bloquear herramientas de ataque automatizadas sin afectar el acceso normal desde navegadores.

Nota
  • Para páginas estáticas, configure reglas de validación de JavaScript o CAPTCHA para asegurar que las solicitudes provengan de navegadores estándar capaces de ejecutar JavaScript. Estos métodos de verificación aplican únicamente a solicitudes síncronas y no son adecuados para solicitudes asíncronas, como las generadas con XMLHttpRequest o la API Fetch.

  • Para endpoints de API exclusivos del backend utilizados en comunicación entre servicios, no se recomienda configurar Run JavaScript Validation. La opción Run JavaScript Validation requiere un entorno de navegador para ejecutarse. Los clientes de API suelen ser programas del lado del servidor o scripts automatizados incapaces de analizar sintácticamente y ejecutar JavaScript, lo que provocaría el bloqueo continuo de solicitudes legítimas. Al configurar las condiciones de coincidencia, se recomienda excluir los endpoints de API del alcance de Run JavaScript Validation.

  • Match Condition: establezca Match Field en URI Path, Logical Operator en Contains y Match Content en /index.php.

  • Protection Rule Type: Access Control.

  • Rule Action: Run JavaScript Validation o Run Slider CAPTCHA.

Para habilitar la validación de JavaScript en todas las rutas de solicitud, establezca el contenido de coincidencia en /. Dado que esta configuración aplica a todas las solicitudes, se recomienda seguir el principio de mínimo privilegio: defina con precisión el alcance de la regla y utilice la coincidencia global con precaución.

Limitar la tasa de endpoints de API

Habilite la limitación de tasa para todos los endpoints de API, excepto example.com/api/pay. Este ejemplo asume que todas las URI de los endpoints de API contienen la cadena /api.

  • Match Condition:

    • Establezca Match Field en URI Path, Logical Operator en Not Equal To y Match Content en /api/pay.

    • Establezca Match Field en URI Path, Logical Operator en Contains y Match Content en /api.

  • Protection Rule Type: Rate Limiting.

  • Statistical Object: IP.

  • Statistical Interval (Seconds): 10.

  • Threshold (Times): 5.

  • Apply To: Current Match Condition.

  • Timeout Period: 1800.

  • Rule Action: Block.

Despliegue en producción

Para evitar interrupciones en su negocio, no cree ni habilite directamente en un entorno de producción reglas de protección que utilicen la acción Block. Se recomienda seguir este proceso de despliegue.

  1. Analizar las características de las solicitudes: utilice security reports y logs de WAF para identificar las características de las solicitudes legítimas y de los ataques maliciosos, como la dirección IP, User-Agent, Header y URI. Si planea configurar una regla de limitación de tasa, también debe determinar la frecuencia base de solicitudes de su tráfico normal.

  2. Configurar una lista de permitidos: antes de crear una plantilla de regla personalizada, se recomienda crear una allowlist rule para agregar direcciones IP de confianza a la lista de permitidos. Así evitará que las nuevas reglas bloqueen solicitudes confiables.

  3. Realizar pruebas canario: después de crear una regla personalizada, pruébela con uno de los siguientes métodos antes de desplegarla en el entorno de producción.

    • Aplique la regla en un entorno que no sea de producción para realizar pruebas.

    • Establezca Rule Action en Log.

    • Habilite Canary Rule en Advanced Settings.

  4. Analizar los resultados de las pruebas: una vez que la regla haya estado en ejecución durante un tiempo, revise los informes de seguridad y los registros para detectar falsos positivos entre las solicitudes coincidentes.

  5. Aplicar en producción: cuando confirme que la tasa de falsos positivos es aceptable, cambie la acción de la regla a la deseada y aplíquela en su entorno de producción.

  6. Supervisar y optimizar continuamente: supervise los informes de seguridad y los registros. Ajuste y optimice dinámicamente sus reglas según los cambios en el tráfico del negocio y su eficacia.

Operaciones diarias

Gestionar plantillas de protección

Las nuevas plantillas de protección se habilitan de forma predeterminada. En la lista de plantillas de protección puede realizar las siguientes operaciones:

  • Consulte la cantidad de entradas de Protected Object/Group asociadas a una plantilla.

  • Habilite o deshabilite una plantilla mediante el interruptor de Status.

  • Haga clic en Create Rule para la plantilla.

  • Edite (Edit), elimine (Delete) o copie (Copy) una plantilla de protección.

  • Haga clic en el icono 展开图标 situado a la izquierda del nombre de una plantilla de protección para consultar las reglas que contiene.

Gestionar reglas de protección

Las nuevas reglas se habilitan de forma predeterminada. En la lista de reglas puede realizar las siguientes operaciones:

  • Consulte información como Rule ID y Rule Condition.

  • Habilite o deshabilite una regla mediante el interruptor de Status.

  • Edite (Edit) o elimine (Delete) una regla.

Cuotas y límites

  • Solo las instancias de WAF de Enterprise Edition o Ultimate Edition con modelo de facturación de suscripción, así como las instancias de WAF pay-as-you-go, admiten las funciones CAPTCHA, Rate Limiting y Advanced Settings.

  • Una sola regla de protección admite un máximo de cinco elementos en Match Condition.

  • Cuando utilice operadores lógicos como Equals One of Multiple Values o Contains One of Multiple Values, podrá introducir un máximo de 50 valores de contenido de coincidencia. Para coincidir con más de 50 valores, se recomienda dividirlos en varias reglas o utilizar operadores como Contains o Regex Match.

  • Una regla se considera "regla avanzada" si cumple alguna de las siguientes condiciones. En las instancias de WAF de suscripción, las reglas avanzadas solo son compatibles con Enterprise Edition y versiones superiores. En las instancias de WAF pay-as-you-go, WAF factura las reglas avanzadas de manera distinta a las reglas básicas. Para conocer los detalles de precios, consulte Pay-as-you-go billing details.

    • El tipo de regla es de limitación de tasa.

    • Utiliza los campos de coincidencia: Cookie, Content-Type, Content-Length, X-Forwarded-For, Body, Http-Method, File Extension, Filename, Server-Port, Header, Cookie Name o Body Parameter.

    • Utiliza los operadores lógicos: Regex Match o Regex Not Match.

    • Utiliza configuraciones avanzadas: despliegue gradual de reglas (grayscale) o patrón de tiempo de vigencia.

Preguntas frecuentes

¿Por qué mi regla no funciona?

Si una regla personalizada de WAF configurada no funciona como se espera, o si la cantidad de solicitudes interceptadas es significativamente menor de lo previsto, se recomienda solucionar el problema de forma sistemática en las siguientes áreas.

Comprobar la configuración y el estado básicos

  1. Verificar la asociación del objeto protegido: compruebe que haya creado y asociado correctamente la plantilla de regla personalizada con el elemento Protected Object/Group de destino (como una instancia de ALB o un nombre de dominio). Asegúrese de que su estado sea Effective; de lo contrario, WAF no podrá entregar ni ejecutar la regla.

  2. Revisar el estado de la plantilla y de la regla: compruebe que tanto el interruptor de Status de la plantilla de protección como el de la regla específica estén activados. Si alguno está desactivado, la regla correspondiente permanecerá inactiva.

  3. Verificar la acción de la regla: confirme que Rule Action de la regla esté configurada con una opción distinta de Log. La acción Log solo registra eventos y no bloquea solicitudes.

Validar las condiciones y la lógica de coincidencia

  1. Precisión de las condiciones de coincidencia: revise detalladamente si Match Field, Logical Operator y Match Content de la regla coinciden correctamente con las solicitudes de destino. Si utiliza una expresión regular, verifique estrictamente que los caracteres de escape estén escritos de forma correcta.

  2. Estrategia para rutas dinámicas: si la ruta de destino contiene segmentos aleatorios generados dinámicamente (como parámetros o identificadores aleatorios), se recomienda establecer el campo de coincidencia en URI Path y usar el operador lógico Contains para coincidir únicamente con la cadena fija e invariable de la ruta. Evite coincidir con la ruta completa, ya que los cambios dinámicos pueden provocar que la regla falle.

  3. Manejo de encabezados ausentes: para los campos de encabezado de solicitud que podrían faltar, como Referer o User-Agent, tenga en cuenta que "el valor del campo está vacío" y "el campo no existe en el encabezado de la solicitud" son dos estados lógicos distintos. Se recomienda configurar condiciones para ambos estados lógicos y así evitar que la regla falle por un estado no contemplado.

Revisar la prioridad y las condiciones de activación de la regla

  1. Otras reglas podrían tener prioridad: compruebe si existen otras reglas o módulos de protección configurados. Por ejemplo, si hay una regla de allowlist configurada, una solicitud podría pasar antes de que su regla de bloqueo la evalúe.

  2. Limitación de tasa con condiciones de código de estado: si configura una regla de Rate Limiting y habilita la detección de status code, WAF activará la regla solo si el objeto estadístico cumple tanto el "umbral de frecuencia de acceso" como las "características del código de estado" dentro del periodo estadístico. Debe confirmar que el servidor de origen realmente devuelve el código de estado especificado (como 404) para las solicitudes relevantes. De lo contrario, WAF no activará la regla aunque la frecuencia de acceso alcance el umbral.

Limitar la tasa de un dominio en una instancia compartida

Las reglas de limitación de tasa restringen la frecuencia de solicitudes de un único objeto estadístico según el objeto protegido. Si una sola instancia de servicio en la nube gestiona el tráfico de varios dominios, WAF agrega la frecuencia de acceso de todos ellos para fines estadísticos. Si necesita limitar la frecuencia de acceso solo para un dominio específico, utilice uno de los siguientes métodos:

  • Agregue el dominio como objeto protegido de WAF y aplíquele la regla de limitación de tasa. Para obtener más información, consulte Configure protected objects and protected object groups.

  • En Match Condition de la regla de limitación de tasa, utilice el campo Host para especificar el dominio cuya frecuencia de acceso desea limitar.

Solución de problemas del campo de coincidencia de parámetros del cuerpo

La causa más probable es que el contenido de coincidencia sea demasiado corto. Cuando utilice el campo Body Parameter, asegúrese de que el contenido de coincidencia tenga como mínimo cinco caracteres de longitud. De lo contrario, WAF no podrá detectar el tráfico.

Cómo protegerse contra ataques nocturnos

Para servicios con poco tráfico legítimo durante la noche, configure reglas de protección más estrictas para defenderse de los ataques. Para ello, establezca Effective Mode de la regla en Recurring Schedule y seleccione la Time Zone correcta para aplicar una protección precisa durante el horario nocturno.

Si su servicio no atiende a usuarios de regiones específicas (por ejemplo, si solo da servicio a usuarios nacionales), también puede configurar regional blocking rules para bloquear directamente las solicitudes de acceso provenientes de esas regiones y así detener el tráfico anómalo.

Permitir solicitudes específicas y bloquear el resto

Lógica de configuración para permitir solicitudes específicas y bloquear todas las demás

Las reglas personalizadas de WAF utilizan una lógica de "coincidencia y activación", la cual no admite directamente un modelo de lista de permitidos positivo del tipo "permitir solo las solicitudes especificadas y bloquear el resto". Para implementar esta política de seguridad, debe usar lógica inversa: "bloquear todas las solicitudes que no coincidan con los criterios permitidos". Para conocer un método de configuración específico, consulte Restrict admin panel access to specific IP addresses.

Diferencias entre WAF y las ACL de Cloud Firewall

WAF difiere fundamentalmente de las ACL de Cloud Firewall y de los security groups de ECS en su modelo de defensa:

  • ACL de Cloud Firewall: se configura con base en "intenciones de negocio" fijas y enumerables. Por ejemplo, puede restringir una base de datos interna para que solo permita el acceso desde direcciones IP específicas de servidores de aplicaciones. Utiliza una estrategia de "denegar todo de forma predeterminada y permitir por excepción" para reducir con precisión la superficie de ataque de la red.

  • WAF: proporciona defensa basada en firmas y comportamiento, principalmente para solicitudes HTTP/HTTPS. El tráfico de aplicaciones web es sumamente complejo e involucra numerosas solicitudes dinámicas e interacciones de usuario. Si adoptara una estrategia de "denegar todo y permitir por excepción" en WAF, tendría que enumerar todas las características de las solicitudes legítimas, como URL, parámetros y encabezados. Esta estrategia no solo es difícil de implementar, sino que también resulta extremadamente costosa de mantener.

Estrategias detalladas recomendadas para WAF

Dadas estas diferencias, no se recomienda configurar una regla global de "bloquear todo y permitir casos específicos" en WAF. En su lugar, adopte la siguiente estrategia de configuración detallada:

  1. Control de acceso preciso: para rutas sensibles como paneles de administración o endpoints de API principales, configure reglas de control de acceso precisas basadas en la dirección IP, User-Agent o encabezados específicos para aplicar un control de acceso estricto.

  2. Protección base: para el tráfico público habitual, apóyese en las reglas de Core Web Protection y en los módulos de protección CC de WAF para identificar y bloquear patrones de ataque conocidos y comportamientos anómalos, en lugar de aplicar un bloqueo generalizado.

  3. Ajuste continuo: analice periódicamente los registros de eventos de WAF. Itere y refine constantemente sus reglas de control de acceso según los cambios en el tráfico del negocio y el panorama de amenazas para garantizar un equilibrio entre la seguridad y la disponibilidad del servicio.

Uso del operador contains para evitar reglas duplicadas

Cuando establece el campo de coincidencia en URI Path y el operador lógico en Contains, una solicitud coincide si la cadena especificada aparece en cualquier parte de la ruta de la solicitud.

Ejemplo: si introduce /resources/author/ como contenido de coincidencia, podrá coincidir con rutas multilingües como /cn/resources/author/ y /en/resources/author/.

Caso de uso: para directorios de varios niveles o sitios multilingües que comparten un segmento de ruta común y fijo, este método reduce eficazmente la necesidad de crear reglas duplicadas.