# Auditoría técnica del servidor y despliegue OpenClaw

**Fecha:** 2026-04-12
**Alcance:** revisión de solo lectura del host, exposición de servicios y postura de OpenClaw
**Host:** `silvio-server`
**Sistema operativo:** Ubuntu 24.04.4 LTS

---

## 1. Resumen ejecutivo

Se ha realizado una auditoría de solo lectura sobre el servidor donde corre OpenClaw.

### Estado general

- El host está operativo y OpenClaw responde correctamente.
- Telegram está configurado y con sonda OK.
- El gateway de OpenClaw está levantado como servicio `systemd --user`.
- Hay una **superficie de exposición amplia** en red, con muchos puertos escuchando en `0.0.0.0` y `::`.
- La auditoría de OpenClaw marca **9 hallazgos críticos**, **5 warnings** y **1 informativo**.
- El servidor está **muy atrasado** respecto a la rama `main` de OpenClaw, con actualización disponible.

### Riesgo actual

**Riesgo global estimado: alto**, no por un único fallo, sino por la combinación de:

- múltiples servicios publicados en todas las interfaces
- políticas peligrosas activadas en Control UI
- allowlists con comodín para ejecución elevada
- falta de rate limiting de autenticación en gateway
- software con desfase importante respecto a upstream

---

## 2. Metodología

Se ejecutaron únicamente comprobaciones de lectura:

- identificación del sistema y privilegios del usuario actual
- enumeración de puertos en escucha
- comprobación de firewall disponible
- `openclaw status --deep`
- `openclaw security audit --deep`
- `openclaw update status`
- `openclaw health --json`

No se realizaron cambios en configuración, red, firewall ni servicios.

---

## 3. Contexto del sistema

### 3.1 Sistema operativo

- **Distribución:** Ubuntu 24.04.4 LTS
- **Kernel:** Linux 6.8.0-106-generic
- **Arquitectura:** x86_64

### 3.2 Usuario operativo

La revisión se ejecutó como:

- **usuario:** `kevin`
- con membresía en grupos relevantes como `sudo`, `docker`, `adm`, `lxd`

Esto indica que la cuenta de operación tiene privilegios elevados disponibles.

---

## 4. Estado de OpenClaw

### 4.1 Gateway

- **Estado:** reachable
- **Bind visible:** `ws://127.0.0.1:18789` para loopback interno del gateway
- **Dashboard:** `http://192.168.1.178:18789/`
- **Servicio:** `systemd installed · enabled · running`

### 4.2 Canal activo

- **Canal:** `dev (main)`
- **Proveedor de mensajería verificado:** Telegram
- **Probe Telegram:** OK

### 4.3 Health

El health report indica `ok: true` y el gateway es alcanzable.

---

## 5. Exposición de red detectada

Se detectó un número considerable de servicios escuchando en interfaces públicas o de red.

### 5.1 Servicios en loopback, menos expuestos

Ejemplos:

- `127.0.0.1:18791`
- `127.0.0.1:8002`
- `127.0.0.1:8001`
- `127.0.0.1:4317`
- `127.0.0.1:59129`
- resolvers locales `127.0.0.53`, `127.0.0.54`

### 5.2 Servicios publicados en todas las interfaces

Se observaron puertos abiertos en `0.0.0.0` o `::`, entre ellos:

- `22` SSH
- `80` HTTP
- `443` HTTPS
- `631` IPP/CUPS
- `3000`, `3001`
- `4000`, `4001`, `4002`
- `5174`
- `5432` PostgreSQL
- `6379` Redis
- `8080`, `8100`
- `8443`, `9443`
- `9000`, `9002`, `9004`, `9007`, `9008`, `9010`, `9011`, `9021`
- `11434`, `11435`
- `18789`, `18790`
- `19999`

### 5.3 Evaluación

Aunque no todos esos puertos tienen por qué estar expuestos a Internet, sí están escuchando en interfaces no restringidas. Sin un firewall confirmado, la postura debe considerarse **amplia y permisiva**.

Especial atención merecen:

- `5432` PostgreSQL expuesto en todas las interfaces
- `6379` Redis expuesto en todas las interfaces
- `631` CUPS expuesto
- múltiples servicios web y Python auxiliares en rango `9000+`
- `18789` dashboard/gateway de OpenClaw accesible por IP LAN

---

## 6. Firewall del host

No se detectó disponibilidad de:

- `ufw`
- `nft`
- `firewall-cmd`

Esto **no prueba al 100%** que no haya firewall, pero sí indica que no hay una herramienta estándar de gestión presente o accesible en esta ruta. A efectos prácticos, la postura actual debe tratarse como **sin control local fácilmente verificable**.

---

## 7. Hallazgos de seguridad de OpenClaw

La auditoría profunda de OpenClaw devolvió:

- **9 críticos**
- **5 warnings**
- **1 informativo**

### 7.1 Hallazgos críticos

#### 1. `gateway.controlUi.allowedOrigins` contiene `*`

Impacto:

- cualquier origen web podría intentar interactuar con la Control UI
- se desactiva el valor de una allowlist estricta de orígenes

Riesgo:

- incremento importante de superficie frente a abuso desde navegador o entornos no previstos

#### 2. `dangerouslyAllowHostHeaderOriginFallback=true`

Impacto:

- debilita protecciones contra DNS rebinding y validación de origen

Riesgo:

- alto, especialmente si el panel es accesible fuera de loopback

#### 3. `dangerouslyDisableDeviceAuth=true`

Impacto:

- se desactivan comprobaciones de identidad del dispositivo en Control UI

Riesgo:

- crítico si el panel está accesible desde red compartida o pública

#### 4-9. Wildcards en `tools.elevated.allowFrom.*`

Afecta a varios canales, incluyendo:

- telegram
- webchat
- discord
- whatsapp
- signal
- imessage

Impacto:

- el uso de `*` como allowlist amplia el perímetro de confianza de ejecución elevada

Riesgo:

- crítico, porque degrada la frontera entre operador confiable y superficie de canal

### 7.2 Warnings importantes

#### `gateway.controlUi.allowInsecureAuth=true`

- sigue siendo una señal de operación insegura
- debería limitarse a escenarios muy concretos de depuración

#### Sin `gateway.auth.rateLimit`

- no hay rate limiting configurado para autenticación del gateway
- esto deja la puerta abierta a intentos repetidos de fuerza bruta

#### `tools.exec.security="full"` configurado

- implica un modelo de confianza muy amplio
- aceptable solo en entorno muy personal y controlado
- mala práctica si el sistema está expuesto a más actores o superficies

#### `gateway.nodes.denyCommands` con entradas ineficaces

- parte de las reglas declaradas no coincide con comandos efectivos
- da falsa sensación de restricción

---

## 8. Estado de actualización

### OpenClaw

- instalación desde git en `~/openclaw-cli-repo`
- canal `dev (main)`
- **update available**
- rama local **behind 6024** respecto a `origin/main`
- npm release reportada: `2026.4.11`
- dependencias marcadas como stale

### Evaluación

El desfase es importante. Esto no implica automáticamente vulnerabilidad explotable, pero sí:

- mayor probabilidad de bugs ya corregidos upstream
- divergencia respecto a documentación actual
- más dificultad al diagnosticar comportamientos extraños

---

## 9. Interpretación del riesgo

### Fortalezas observadas

- OpenClaw operativo y medible
- servicio gestionado por `systemd --user`
- Telegram funcionando correctamente
- gateway accesible y con salud general positiva

### Debilidades observadas

- demasiados servicios escuchando fuera de loopback
- postura de Control UI claramente insegura
- allowlists demasiado abiertas para exec elevado
- ausencia de rate limiting de autenticación
- sin firewall verificable por herramientas estándar
- gran desfase de versión

### Riesgo resultante

Si este host se usa solo en LAN muy controlada, el riesgo es moderado-alto.

Si este host es alcanzable desde Internet o redes menos confiables, el riesgo pasa a **alto** o **muy alto**.

---

## 10. Recomendaciones prioritarias

Estas recomendaciones son de diseño y remediación futura. **No se han aplicado** en esta auditoría.

### Prioridad 1, crítica

1. Eliminar `*` de `gateway.controlUi.allowedOrigins`.
2. Desactivar `dangerouslyAllowHostHeaderOriginFallback`.
3. Desactivar `dangerouslyDisableDeviceAuth`.
4. Revisar y cerrar wildcards en `tools.elevated.allowFrom.*`.
5. Añadir `gateway.auth.rateLimit`.

### Prioridad 2, alta

6. Inventariar todos los servicios en puertos `3000+`, `4000+`, `8000+`, `9000+`, `11434+`, `19999`.
7. Restringir a loopback todo lo que no necesite acceso externo.
8. Revisar especialmente exposición de PostgreSQL `5432`, Redis `6379` y CUPS `631`.
9. Confirmar si el host tiene salida pública o solo LAN/Tailscale.

### Prioridad 3, operativa

10. Actualizar OpenClaw o, como mínimo, planificar actualización controlada.
11. Revisar si el canal `dev (main)` es apropiado para este entorno.
12. Validar si `tools.exec.security=full` sigue siendo una decisión consciente.

---

## 11. Recomendación de siguiente fase

La siguiente fase recomendable sería una **auditoría de remediación guiada**, con plan antes de tocar nada.

Opciones sugeridas:

1. **Plan de endurecimiento solo para OpenClaw**
   - corregir Control UI, auth y exec

2. **Plan de endurecimiento del host**
   - puertos, firewall, exposición de servicios, bases de datos, Redis, paneles auxiliares

3. **Plan mixto**
   - primero OpenClaw, luego host

Mi recomendación es la **3**, porque ahora mismo el riesgo viene de ambas capas.

---

## 12. Conclusión

El servidor está funcional, pero su postura actual no es conservadora. La auditoría muestra un patrón claro:

- sistema útil y operativo
- superficie amplia
- varias decisiones de conveniencia activadas en OpenClaw
- controles insuficientes para un entorno con exposición relevante

No parece un servidor roto, pero sí un servidor que necesita **endurecimiento serio** si va a seguir creciendo o exponiéndose más.

---

## 13. Evidencia resumida

### Sistema

- Ubuntu 24.04.4 LTS
- kernel 6.8.0-106-generic
- usuario operativo: `kevin`

### OpenClaw

- app 2026.4.3
- update available
- behind 6024
- Telegram OK
- gateway service running

### Auditoría OpenClaw

- 9 critical
- 5 warn
- 1 info

### Puertos expuestos destacados

- 22
- 80
- 443
- 5432
- 6379
- 631
- 18789
- 18790
- 19999
- varios `3000+`, `4000+`, `8000+`, `9000+`

---

## 14. Estado del informe

Este informe ha sido generado en modo **read-only**, sin cambios en el servidor.
