# Cómo funciona OpenWAF

> El recorrido de una petición por OpenWAF: de los servidores de nombres a los nodos del borde en Alemania y España, y de ahí a tu origen.

OpenWAF se sitúa entre tus visitantes y tu servidor de origen. El DNS envía a los visitantes al **borde**, el borde
inspecciona cada petición y solo las permitidas llegan al origen. Un **plano de control** aparte guarda tu
configuración y la publica en el borde.

```text
Visitante ──1. consulta DNS──▶ Servidores de nombres de OpenWAF (o tu DNS + CNAME)
   │                              └─ respuesta: una dirección del borde
   └──2. HTTPS──▶ Nodo del borde (Alemania o España) ──3. peticiones permitidas──▶ Tu origen
                     ▲
                     └── configuración firmada ── Plano de control
```

## 1. El DNS envía a los visitantes al borde

Cuando un visitante abre `https://www.example.com`, su resolvedor pregunta quién responde por ese nombre:

- En una zona **delegada** responden los servidores de nombres de OpenWAF. Para un nombre
  [con proxy](https://developers.openwaf.dev/es/fundamentals/proxied-and-dns-only/) devuelven la dirección de un nodo del borde, elegido entre los nodos
  sanos más cercanos al visitante. Los registros solo DNS se responden tal como los escribiste.
- En una zona **externa** responde tu proveedor de DNS con un `CNAME` a `edge.openwaf.dev` (o las direcciones del borde
  en la raíz del dominio), que lleva al mismo borde.

Los nodos del borde se comprueban continuamente: un nodo que deja de responder sale de las respuestas DNS y los
visitantes pasan al siguiente más cercano.

## 2. El borde inspecciona la petición

Los nodos del borde funcionan en **Alemania y España**. Para cada petición a un nombre con proxy, el nodo:

1. Termina el TLS con el certificado del sitio (Let's Encrypt, emitido y renovado automáticamente), con preferencia
   por un intercambio de claves híbrido poscuántico.
2. Aplica la protección del sitio: reglas del [WAF](https://developers.openwaf.dev/es/waf/), política de [bots y agentes de IA](https://developers.openwaf.dev/es/ai-crawl-control/),
   la puerta de acceso, reglas por IP y por país y límites de peticiones ([Reglas](https://developers.openwaf.dev/es/rules/)).
3. Responde desde la [caché](https://developers.openwaf.dev/es/cache/) cuando el sitio la usa y la respuesta está guardada.
4. Reenvía la petición a tu **origen**: el contenido del registro con proxy. Los sitios nuevos se conectan por HTTPS y
   verifican el certificado del origen ([SSL/TLS](https://developers.openwaf.dev/es/ssl/)).

Las peticiones bloqueadas reciben una página de bloqueo y quedan como eventos de seguridad en [Analítica](https://developers.openwaf.dev/es/analytics/).

## 3. La configuración llega firmada al borde

Cada cambio que haces (registros DNS, ajustes, reglas) crea una nueva [versión](https://developers.openwaf.dev/es/dns/zone-versions/) de la zona. El
plano de control convierte cada versión en un documento de configuración firmado con Ed25519; los nodos verifican la
firma antes de aplicarlo y rechazan lo que no se verifica. Las versiones nuevas llegan a todos los nodos en menos de
un minuto. La vista **Propagación** de un dominio muestra qué versión ha aplicado cada nodo.

Si los nodos no pueden contactar con el plano de control, siguen sirviendo con la última configuración válida que
recibieron.

## Dónde están los datos

| Componente | Ubicación |
|---|---|
| Nodos del borde (TLS, WAF, caché) | Alemania y España |
| Servidores DNS | Alemania |
| Plano de control y datos de clientes | Alemania (UE) |

Los eventos de seguridad se conservan 30 días. Consulta [Confianza y seguridad](https://developers.openwaf.dev/es/fundamentals/trust-and-security/) y la
lista de [subencargados](https://openwaf.dev/es/legal/subencargados/).

## Interfaces

La misma configuración se gestiona desde cuatro sitios, todos con la misma validación, el mismo versionado y la misma
auditoría:

- [Panel](https://dash.openwaf.dev): La aplicación web en dash.openwaf.dev.
- [API](https://developers.openwaf.dev/es/api/): API REST en https://dash.openwaf.dev/v1 con tokens bearer.
- [CLI](https://developers.openwaf.dev/es/cli/): `openwaf-cloud ctl`, para scripts y terminales.
- [Servidor MCP](https://developers.openwaf.dev/es/mcp/): Conecta un asistente de IA en https://mcp.openwaf.dev/mcp.
