# Reglas de OpenWAF

> Las 49 reglas que OpenWAF ejecuta además de OWASP CRS 4.25, por id: ficheros sensibles, path traversal, evasión por codificación, request smuggling, firmas de escáneres, trampas y parches de emergencia.

El borde ejecuta **OWASP CRS 4.25** (el módulo `coraza-coreruleset` v4.25.0, sobre Coraza) con nivel de paranoia 1,
más las **49 reglas** propias de esta página. Después van los nueve [escudos por tecnología](https://developers.openwaf.dev/es/waf/shields/)
(pseudoidentificadores 1001 a 1009), que no se cuentan aquí.

Cada regla de esta página aparece con su id en los eventos de seguridad (`rule_id`) y suma puntos a la puntuación de la
petición; el [modo y el nivel](https://developers.openwaf.dev/es/waf/modes-and-levels/) del sitio deciden qué pasa. Para apagar una regla en una ruta,
añade una [excepción del WAF](https://developers.openwaf.dev/es/waf/waf-exceptions/) con su id. Esta página lista todas las reglas de los ficheros que
carga el borde (recuento del 2026-10-30): es el conjunto completo, no una selección.

## Ficheros sensibles (10001 a 10008)

| Regla | Qué detecta |
|---|---|
| `10001` | Ficheros ocultos y carpetas de control de versiones: `.env`, `.git`, `.svn`, `.hg` |
| `10002` | Rutas de WordPress en un sitio que no es WordPress |
| `10003` | Ficheros de configuración del servidor |
| `10004` | Ficheros de gestores de paquetes |
| `10005` | Ficheros de contenedores y de CI |
| `10006` | Copias de seguridad y volcados de bases de datos |
| `10007` | Rutas de depuración y de información del servidor |
| `10008` | `wp-config.php` |

## Path traversal (10010 a 10012)

| Regla | Qué detecta |
|---|---|
| `10010` | Path traversal codificado en la URI |
| `10011` | Path traversal codificado en un parámetro |
| `10012` | Bytes nulos en un parámetro |

## Evasión por codificación (10020 a 10022)

| Regla | Qué detecta |
|---|---|
| `10020` | Doble codificación URL en la ruta |
| `10021` | Caracteres Unicode de ancho completo para esquivar otras reglas |
| `10022` | Codificaciones UTF-8 sobrelargas |

## Request smuggling y SSRF (10032 a 10035)

| Regla | Qué detecta |
|---|---|
| `10032` | Un upgrade a WebSocket dirigido a un endpoint de metadatos de la nube |
| `10033` | Smuggling con upgrade `h2c` en claro |
| `10034` | El método `CONNECT` (smuggling por túnel) |
| `10035` | Una cabecera `Host` dirigida a una dirección interna o de metadatos |

## Firmas de escáneres (10041 a 10058)

Una regla por escáner, por sus firmas conocidas: `10041` sqlmap, `10042` Nikto, `10043` Nuclei, `10044` WPScan,
`10045` dirsearch, `10046` Gobuster, `10047` Nmap, `10048` masscan, `10049` wafw00f, `10050` WhatWeb, `10051` Arjun,
`10052` Commix, `10053` w3af, `10054` skipfish, `10055` Wapiti, `10056` JoomScan, `10057` droopescan y `10058` Xray.

## Trampas de sondeo (10061 a 10072)

Rutas que ningún visitante real de un sitio pide, así que pedirlas es un sondeo:

| Regla | Qué detecta |
|---|---|
| `10061` | Rutas internas de Cloudflare |
| `10062` | Rutas de administración de un WAF |
| `10063` | Manejadores de depuración de .NET |
| `10064` | Endpoints de depuración de Java y Spring |
| `10065` | Rutas `cgi-bin` |
| `10066` | Herramientas de administración de PHP |
| `10067` | Rutas de metadatos de la nube |
| `10068` | Endpoints de depuración de Laravel |
| `10069` | Source maps y configuración de compilación |
| `10070` | Introspección de GraphQL |
| `10071` | Endpoints de gestión de contenedores |
| `10072` | Endpoints de shell y terminal |

## Parches de emergencia

| Regla | Qué detecta |
|---|---|
| `10075` | Inyección en la sesión de PHP, [PHP2Shell](https://openwaf.dev/es/noticias/php2shell-cve-2026-109618-cve-2026-109619/) (CVE-2026-109618) |

Las reglas de emergencia nuevas para CVE explotadas se añaden aquí y se anuncian en el [registro de cambios](https://developers.openwaf.dev/es/changelog/).
