Cómo funciona la protección
Cuando pones un sitio detrás de Nubulus WAF, tu dominio deja de apuntar a tu servidor y pasa a apuntar a Nubulus. Cada visita llega primero a Nubulus, pasa por varias capas de protección y solo entonces se reenvía a tu servidor (el origen).
Las capas van en un orden fijo, de la más barata a la más detallada. Una petición que se bloquea en una capa ya no pasa por las siguientes ni llega a tu servidor.
El recorrido de una petición
Section titled “El recorrido de una petición”Visitante │ ▼① Conexión segura (HTTPS) │ ▼② Network Policy ─────────── ¿Viene de una red, país o IP permitidos? ✗ → 403 │ ▼③ Lista de bloqueo compartida ── ¿Es una IP que está atacando la red? ✗ → 403 │ ▼④ Límite de peticiones ───── ¿Está enviando demasiadas peticiones? ✗ → 429 │ ▼⑤ Reglas WAF ─────────────── ¿El contenido parece un ataque? ✗ → 403 │ ▼⑥ Tu servidor (origen) │ ▼Respuesta al visitanteTodas las peticiones, se bloqueen o no, quedan registradas y puedes consultarlas en los logs del panel (ver Registro de peticiones).
① Conexión segura
Section titled “① Conexión segura”Nubulus gestiona automáticamente el certificado HTTPS de tu dominio. El visitante siempre se conecta cifrado y tú no tienes que renovar nada.
Nubulus solo sirve tráfico para dominios verificados: antes de activar un dominio tienes que demostrar que es tuyo con un registro DNS. Así nadie puede poner un dominio ajeno detrás de su sitio.
② Network Policy
Section titled “② Network Policy”La Network Policy es la primera barrera. Decide quién puede llegar a tu sitio según el origen de la conexión, antes de mirar qué pide. Es la herramienta indicada para:
- Restringir un panel de administración, un entorno de pruebas o un servicio casero a tu conexión o a tu país.
- Cortar de raíz el tráfico de redes que no te interesan, como proveedores cloud desde donde llegan la mayoría de bots y escáneres.
| Modo | Comportamiento |
|---|---|
off | Desactivada. Todo el tráfico pasa a la siguiente capa. |
allow | Lista blanca. Solo pasan las peticiones que coinciden con alguna entrada. El resto se bloquea. |
deny | Lista negra. Se bloquean las peticiones que coinciden con alguna entrada. El resto pasa. |
Qué puedes filtrar
Section titled “Qué puedes filtrar”Cada entrada de la política es de uno de estos tres tipos:
| Tipo | Qué identifica | Ejemplo |
|---|---|---|
| ASN | La red (operador o proveedor) desde la que se conecta el visitante. Cada operador de internet tiene uno o varios números de sistema autónomo. | 3352 (Telefónica España), 16509 (Amazon AWS) |
| País | El país asociado a la IP, en código ISO de dos letras. | ES, PT, CN |
| CIDR / IP | Una IP concreta o un rango de IPs. Una IP suelta equivale a un rango de una sola dirección. | 203.0.113.7, 198.51.100.0/24, 2001:db8::/32 |
Basta con que una entrada coincida: si tu política en modo allow tiene ASN 3352 y País PT, pasan las conexiones de Telefónica o desde Portugal.
Cuando no se puede determinar el origen
Section titled “Cuando no se puede determinar el origen”País y ASN se obtienen consultando bases de datos de geolocalización de IPs. Algunas direcciones no aparecen en ellas, por ejemplo rangos reservados o redes muy recientes. Para esos casos eliges qué hacer con la opción si la consulta falla:
- Bloquear (
closed): la petición se bloquea. Es la opción segura para una lista blanca: si no sabemos de dónde viene, no entra. - Dejar pasar (
open): la petición sigue a la siguiente capa. Es razonable para una lista negra, en la que solo quieres frenar lo que sabes que es malo.
Las entradas de tipo CIDR/IP no dependen de esta consulta: siempre se pueden evaluar.
Qué ve un visitante bloqueado
Section titled “Qué ve un visitante bloqueado”Recibe un 403 Forbidden con un identificador de bloqueo, por ejemplo np-3fa9c21b. Ese identificador también aparece en tus logs, así que si alguien te dice que no puede entrar, puedes buscar exactamente qué petición se bloqueó y por qué.
Las peticiones bloqueadas por la Network Policy no llegan a las capas siguientes: no consumen tu límite de peticiones ni se analizan con las reglas.
③ Lista de bloqueo compartida
Section titled “③ Lista de bloqueo compartida”Nubulus ve el tráfico de todos los sitios que protege. Cuando una misma IP ataca a varios sitios distintos, entra en una lista de bloqueo compartida durante un tiempo limitado, y todos los sitios que participan la bloquean antes de que llegue a atacarlos a ellos.
Esta capa es opcional y se activa por sitio. Las entradas caducan solas, así que una IP que deja de atacar acaba saliendo de la lista.
④ Límite de peticiones
Section titled “④ Límite de peticiones”Limita cuántas peticiones puede hacer una misma IP en una ventana de tiempo, por ejemplo 100 peticiones por segundo. Si las supera, recibe un 429 Too Many Requests hasta que baja el ritmo.
Te protege de ataques de fuerza bruta contra formularios de login, de scrapers agresivos y de picos que tumbarían tu servidor. El límite y la ventana se configuran por sitio.
⑤ Reglas WAF
Section titled “⑤ Reglas WAF”Las reglas inspeccionan el contenido de la petición: la URL, los parámetros, las cabeceras o el cuerpo. Detectan patrones de ataque como inyección SQL, cross-site scripting (XSS), acceso a ficheros del sistema o escáneres de vulnerabilidades conocidos.
Cómo decide: la puntuación de anomalía
Section titled “Cómo decide: la puntuación de anomalía”Cada regla tiene una puntuación. Cuando una petición coincide con varias reglas, sus puntuaciones se suman. Si el total alcanza el umbral de anomalía del sitio, la petición se bloquea con un 403.
Petición: /buscar?q=' OR 1=1 -- ├─ Regla "inyección SQL (tautología)" +3 ├─ Regla "comentario SQL" +2 └─ Total: 5 Umbral del sitio: 5 → bloqueadaAsí una coincidencia aislada y dudosa no basta para bloquear a un usuario legítimo, pero varias señales juntas sí. El umbral se ajusta por sitio:
- Umbral bajo: más estricto, bloquea antes, con más riesgo de falsos positivos.
- Umbral alto: más permisivo, solo bloquea cuando hay varias señales claras.
Además de la puntuación, cada regla tiene una acción:
| Acción | Efecto |
|---|---|
block | Si la regla coincide, la petición se bloquea en el acto, sin esperar al umbral. |
log | La regla suma su puntuación y queda registrada, pero por sí sola no bloquea. |
Reglas gestionadas
Section titled “Reglas gestionadas”Nubulus mantiene conjuntos de reglas, llamados paquetes, que se actualizan sin que tengas que hacer nada:
- Base: incluido siempre en todos los sitios. Cubre los ataques más comunes (SQLi, XSS, path traversal, ejecución de comandos, Log4Shell, escáneres conocidos…).
- Paquetes específicos (próximamente): reglas para tecnologías concretas, como WordPress, que podrás activar si tu sitio las usa.
Puedes activar o desactivar reglas concretas de tu sitio si alguna te causa falsos positivos.
Bloquear crawlers de IA
Section titled “Bloquear crawlers de IA”Una opción del sitio bloquea los crawlers que recogen contenido para entrenar modelos de IA, identificados por su user agent (GPTBot, ClaudeBot, CCBot…). Los buscadores normales no se ven afectados.
Reglas personalizadas
Section titled “Reglas personalizadas”Si necesitas algo específico de tu aplicación, puedes crear tus propias reglas. Una regla personalizada se define con:
| Campo | Qué es |
|---|---|
| Patrón | Una expresión regular que se busca en la petición. |
| Dónde buscar | Las partes de la petición que se inspeccionan: URI (ruta y query), ARGS (parámetros), HEADERS (cabeceras), BODY (cuerpo), METHOD (GET, POST…), PROTOCOL. |
| Puntuación | Cuánto suma al total de anomalía si coincide. |
| Acción | block para bloquear al momento, o log para que solo sume y quede registrada. |
| Severidad | Una etiqueta (baja, media, alta, crítica) para ordenar y filtrar en los logs. |
Ejemplos de uso:
- Proteger una ruta interna: patrón
^/wp-adminenURIcon acciónblock, combinado con una Network Policy si quieres que solo tu IP llegue. - Detectar un parámetro sospechoso sin bloquear todavía: patrón en
ARGScon acciónlog, para ver en los logs cuántas veces aparece antes de decidir.
⑥ Tu servidor
Section titled “⑥ Tu servidor”Las peticiones que superan todas las capas se reenvían a tu origen, intactas. Tu servidor recibe la petición original del visitante, y la respuesta que devuelve vuelve al visitante a través de Nubulus.
Registro de peticiones
Section titled “Registro de peticiones”Cada petición queda registrada en el panel con:
- Resultado: permitida, registrada (alguna regla coincidió pero no se alcanzó el umbral) o bloqueada.
- Motivo del bloqueo: Network Policy, lista compartida, límite de peticiones o reglas WAF, con las reglas que coincidieron y la puntuación total.
- Origen: IP, país, ASN y operador del visitante, y si es un bot conocido.
- Ruta, método, código de respuesta de tu servidor y tiempo de respuesta.
Los logs son la mejor herramienta para ajustar la protección: ver desde dónde llegan tus visitas reales antes de crear una lista blanca, detectar falsos positivos de una regla o comprobar que una regla nueva coincide con lo que esperabas.
Resumen
Section titled “Resumen”| Capa | Mira… | Bloquea con | Se configura |
|---|---|---|---|
| Network Policy | Red, país o IP de origen | 403 + ID de bloqueo | Modo, entradas y qué hacer si la consulta falla |
| Lista compartida | IPs que atacan la red de Nubulus | 403 | Activar o desactivar |
| Límite de peticiones | Ritmo de peticiones por IP | 429 | Peticiones y ventana |
| Reglas WAF | Contenido de la petición | 403 | Umbral, paquetes, reglas activas y reglas personalizadas |