# Guía: Proteger tu Servidor Web con Cloudflare Zero Trust y UFW

Tener un servidor web expuesto a internet es un riesgo constante. En esta guía, vamos a construir una doble barrera de seguridad de nivel empresarial para tu servidor Ubuntu:

1.  **El Muro Frontal:** Usaremos Cloudflare Zero Trust para obligar a cualquier visitante a iniciar sesión con tu cuenta de Google antes de ver tu web.
    
2.  **El Candado Trasero:** Configuraremos el cortafuegos de Ubuntu (UFW) para que tu servidor rechace cualquier conexión directa a su IP pública, a menos que venga de Cloudflare.
    

* * *

## PARTE 1: Configurar Cloudflare Zero Trust con Google

> *Requisito previo: Tu dominio debe estar gestionado en Cloudflare y con el proxy activado (la "nube naranja" en la pestaña DNS).*

### Paso 1.1: Obtener tu "Team Domain" en Cloudflare

1.  Accede al panel de **Zero Trust** en Cloudflare.
    
2.  Ve abajo del todo en el menú lateral y haz clic en **Settings**.
    
3.  En las pestañas superiores, elige **Team name**.
    
4.  Apunta la URL que aparece bajo **Team domain** (ej. `https://tu-equipo.cloudflareaccess.com`). *¡Guárdala porque la usaremos ahora!*
    

### Paso 1.2: Crear las credenciales en Google Cloud

1.  Ve a la [Consola de Google Cloud](https://console.cloud.google.com/) e inicia sesión.
    
2.  Crea un proyecto nuevo.
    
3.  Ve a **API y servicios > Pantalla de consentimiento de OAuth**. Elige "Externo" y rellena tus datos.
    
4.  Ve a **Credenciales > Crear credenciales > ID de cliente de OAuth** (Aplicación web).
    
5.  En **Orígenes de JavaScript autorizados**, pega tu Team Domain: `https://tu-equipo.cloudflareaccess.com`
    
6.  En **URI de redireccionamiento autorizados**, añade: `https://tu-equipo.cloudflareaccess.com/cdn-cgi/access/callback`
    
7.  Haz clic en Crear. Copia el **ID de cliente** y el **Secreto de cliente**.
    

### Paso 1.3: Conectar Google con Cloudflare

1.  Vuelve al panel de **Zero Trust**.
    
2.  Ve a **Integrations > Identity providers**.
    
3.  Haz clic en **Add new identity provider** y selecciona **Google**.
    
4.  Pega el ID y el Secreto de cliente y guarda.
    

### Paso 1.4: Proteger tu dominio (Crear el Muro)

1.  Ve a **Access controls > Applications** y pulsa **Add an application** (Self-hosted).
    
2.  **Pestaña 1:** Ponle un nombre. En *Public hostname*, escribe tu subdominio (ej. `openclaw`) y selecciona tu dominio. Pulsa Next.
    
3.  **Pestaña 2:** Ponle un nombre a la política (ej. `Administrador`) y asegúrate de que la acción es **Allow**.
    
4.  En *Include*, elige **Emails** en el Selector y escribe tu correo exacto. Pulsa Next y guarda.
    

* * *

## PARTE 2: Cerrar la "Puerta Trasera" con UFW

Vamos a blindar el servidor para que solo hable con Cloudflare y bloquee intentos de acceso por IP directa.

### Paso 2.1: Limpiar las reglas web abiertas

Conéctate por SSH y lista tus reglas numeradas:

```bash
sudo ufw status numbered
```
