Las firmas WAAP integradas proporcionan protección base contra SQL injection, XSS, path traversal, SSRF, CVEs conocidos y técnicas de ataque comunes. En entornos de producción reales, sin embargo, cada aplicación es diferente. Algunas APIs requieren formatos de cabecera específicos, algunas aplicaciones dependen de estructuras de parámetros heredadas, y el tráfico que es perfectamente normal para un servicio puede parecer sospechoso al conjunto de firmas integrado.
De esto se derivan dos requisitos. Primero, añadir reglas WAAP específicas de la aplicación sin romper el conjunto de reglas integrado. Segundo, cambiar el comportamiento de una regla integrada existente para un servicio específico: deshabilitarla, ponerla en modo monitor, bajar su puntuación o restringirla a una sección de tráfico particular.
En los enfoques tradicionales, escribir reglas personalizadas es a menudo un trabajo pesado. El operador tiene que aprender un lenguaje de scripting propietario, la sintaxis de las reglas se vuelve compleja, un regex mal escrito puede cortar el tráfico de producción, y desplegar una regla puede crear un riesgo de interrupción del servicio. Como resultado, los equipos escriben reglas demasiado amplias o ignoran temporalmente el tráfico de riesgo.
La gestión de IDs, el manejo de sobreescrituras y el aislamiento de capas añaden otra dimensión. Cuando las reglas integradas, las reglas personalizadas de toda la organización y las reglas específicas de la aplicación comparten el mismo espacio de nombres, el mantenimiento se vuelve difícil. Si la misma regla debe comportarse de manera diferente en distintas aplicaciones, un enfoque de duplicar y editar se vuelve insostenible rápidamente.
El modelo de TR7 Reglas WAAP Personalizadas simplifica esta complejidad: las reglas personalizadas se definen con regex, alcance, puntuación y estado; las reglas existentes se ajustan con sobreescrituras; las capas global y de pool se gestionan mediante rangos de ID sin conflictos.
TR7 convierte la creación de reglas WAAP personalizadas de una tarea de codificación separada en un flujo de políticas verificable y por capas que es nativo al motor WAAP principal.
El operador define una regla WAAP personalizada con los campos nombre, descripción, regex, alcance de coincidencia, puntuación y estado. El modo asistente es suficiente para el uso diario; los equipos que quieren un control más estricto pueden gestionar la misma estructura como JSON sin procesar.
Pueden añadirse nuevos patrones regex para necesidades específicas de la organización o la aplicación. Para las reglas integradas existentes, solo se sobreescribe el comportamiento específico que necesita cambiar — estado, puntuación o alcance de coincidencia; el conjunto de reglas integrado nunca se bifurca.
La capa global proporciona una base organizacional para todos los servicios; la capa de pool aplica configuraciones más específicas para aplicaciones o servicios concretos. Como los rangos de ID están particionados, las reglas integradas, las reglas personalizadas globales y las reglas específicas del servicio nunca colisionan.
Antes de que una regla entre en producción, se validan los campos de nombre, puntuación, alcance y regex. Si la regla es válida, el shard de firma objetivo se recompila; las partes sin cambios del motor no se ven afectadas.
Reglas WAAP Personalizadas ejecuta la lógica de seguridad personalizada al mismo nivel que el sistema de puntuación WAAP principal.
Cada regla personalizada se define con nombre, descripción, regex, alcance de coincidencia, puntuación y estado. El regex especifica el patrón de ataque o el formato no permitido; el alcance determina si ese patrón se busca en el contenido path, query, header, form, json, xml o raw. El valor de puntuación lleva el peso de la amenaza al modelo de puntuación WAAP. El campo de estado controla si la regla está enabled, monitor o disabled.
Una regla personalizada no se aplica ciegamente a toda la solicitud. La sección exacta de tráfico a inspeccionar se selecciona explícitamente. Las opciones de alcance path, query, header, form, json, xml y raw limitan dónde opera la regla. Esto reduce el riesgo de falsos positivos y garantiza que el regex solo se ejecute donde es significativo. El mismo patrón puede usarse en diferentes alcances con diferentes efectos.
A las reglas personalizadas se les asigna uno de cuatro niveles de puntuación: 2, 4, 6 u 8. Las puntuaciones más bajas son apropiadas para la monitorización o señales débiles; las más altas indican indicadores de ataque fuertes. La puntuación se une al mecanismo de decisión WAAP principal y se evalúa junto con otras firmas. La regla personalizada no es un interruptor de bloqueo aislado — es parte de un cálculo de riesgo compuesto.
Una nueva regla personalizada no tiene que ir directamente al modo de bloqueo. En modo monitor, las coincidencias de reglas se registran pero el tráfico no se interrumpe. El equipo de operaciones observa la tasa de falsos positivos en el tráfico real, ajusta el regex y el alcance, y luego mueve la regla al estado enabled con confianza. Este modelo proporciona un despliegue controlado en producción.
Si una regla integrada existente genera demasiado ruido en una aplicación específica, no es necesario copiar y modificar el conjunto de reglas. Una sobreescritura cambia el estado, la puntuación o el comportamiento del alcance de coincidencia. La misma regla integrada puede permanecer activa globalmente mientras se coloca en modo monitor o se reduce a un alcance menor para un pool específico. Esto reduce la carga de mantenimiento y evita la desviación del conjunto de firmas actual.
Los IDs de reglas personalizadas globales se generan en el rango 1.000.000–4.999.999; los IDs de reglas personalizadas de pool en 5.000.000–9.999.999. Esta separación evita conflictos entre reglas integradas, reglas de toda la organización y reglas específicas de la aplicación. El equipo de operaciones puede identificar el alcance de una regla únicamente por su ID. La gestión del inventario de reglas se vuelve más ordenada en entornos grandes.
Cuando se cambia una regla personalizada, solo se recompila el shard de firma objetivo. No se utiliza el enfoque de detener y reiniciar todo el conjunto de reglas sin cambios. Esto hace que las operaciones de reglas sean más rápidas y de menor riesgo. El comportamiento es especialmente valioso para reglas de protección temporal que cambian con frecuencia.
Las coincidencias de reglas personalizadas no se almacenan en un formato de log separado y desconectado. El ID de regla, el nombre, el estado, el valor de puntuación y el alcance coincidente se incluyen en el flujo principal de eventos WAAP. En el lado SIEM, las reglas personalizadas e integradas pueden examinarse a través del mismo modelo de evento. Esta visibilidad proporciona consistencia para la respuesta a incidentes y los informes de cumplimiento.
La gestión de reglas WAAP personalizadas se considera junto con la validación, el control de conflictos, el hot-load, la auditoría y los procedimientos de reversión.
Antes de que una regla entre en producción, las verificaciones confirman que el regex no está vacío, que la puntuación es uno de los valores permitidos y que la lista de alcances es válida. La unicidad del nombre y el rango de ID también forman parte del proceso de validación. Una regla no válida no se admite en el motor WAAP.
La capa global proporciona una base organizacional; la capa de pool define un comportamiento más específico para un servicio o aplicación particular. Cuando la misma lógica necesita resultados diferentes en distintas capas, se utiliza el mecanismo de sobreescritura. Este modelo proporciona excepciones gestionables y de alcance limitado en lugar de reglas duplicadas.
Los patrones regex escritos descuidadamente pueden crear riesgo de rendimiento. Los patrones demasiado amplios, con mucho backtracking o aplicados a alcances innecesariamente grandes pueden generar coste en el tráfico de producción. Por lo tanto, el regex debe definirse con un alcance tan estrecho y un patrón tan preciso como sea posible.
El flujo de trabajo seguro para una nueva regla personalizada es observar el tráfico real en modo monitor primero. Se revisan los resultados de log y se evalúan las rutas, cabeceras o parámetros que producen falsos positivos. Una vez que el comportamiento de la regla es claro, la regla se mueve al modo enabled.
Añadir, actualizar, deshabilitar y sobreescribir reglas personalizadas debe vincularse a registros de auditoría. Quién cambió la puntuación, el alcance o el estado de qué regla, y cuándo, es información crítica para la revisión post-incidente. El historial de cambios es especialmente importante para la seguridad operacional en reglas que tienen efecto de bloqueo.
Si una regla personalizada produce efectos inesperados, puede moverse rápidamente al estado monitor o disabled. Los cambios de sobreescritura también pueden revertirse para restaurar el comportamiento de la regla integrada. Esto hace posibles las operaciones de reglas sin interrumpir el tráfico de producción.
El equipo de seguridad puede añadir una regla temporal basada en regex para una vulnerabilidad recién divulgada sin esperar una actualización oficial de firmas. La regla se prueba primero en modo monitor y se mueve a enabled una vez que el patrón de ataque está confirmado.
Si una regla WAAP integrada afecta al tráfico normal en una aplicación específica, se sobreescribe en lugar de deshabilitarse completamente. El alcance se reduce, la puntuación se baja, o la regla se coloca en modo monitor solo para el pool relevante.
Las aplicaciones financieras o sanitarias pueden usar reglas personalizadas para validar los formatos esperados en cabeceras, campos de formulario o campos JSON específicos. Las solicitudes no conformes se puntúan o bloquean antes de llegar al código de la aplicación.
Los equipos SaaS pueden detectar patrones de abuso específicos de su propio comportamiento de API en alcances de path, query, header o JSON. Las violaciones de lógica de negocio no cubiertas por el conjunto de firmas integrado se gestionan como reglas personalizadas dentro de TR7 WAAP.
Reglas de seguridad personalizadas con regex, alcance, puntuación y sobreescritura. Permítanos guiarle en una configuración en vivo en su propio entorno.