Guía de seguridad

Manual: Servidor AI Privado (Hardened VPS)

Guía para la instalación y el mantenimiento seguro de OpenClaw (Clawdbot) en un VPS endurecido.

Procedimiento recomendado: endurecimiento del sistema, usuario no root, firewall, SSH por clave, perímetro privado (Tailscale), persistencia del servicio y actualizaciones automáticas de seguridad.

⚠️ Ejecute los pasos en el orden indicado para no bloquear el acceso al servidor.

¿Prefieres un servidor ya configurado y seguro? Conocer nuestro servicio administrado

Preparación y usuario seguro

Creación de un usuario no root antes de endurecer el acceso.

Crear nuevo usuario

Sustituya 'alex' por el nombre de usuario deseado.

adduser alex  # Cambia 'alex' por tu nombre
usermod -aG sudo alex

Copiar llaves SSH al nuevo usuario

Ejecutar desde la máquina local.

ssh-copy-id alex@IP_DE_TU_SERVIDOR

Entrar con el nuevo usuario

No continuar si la conexión falla.

ssh alex@IP_DE_TU_SERVIDOR

Endurecimiento del sistema (Hardening)

Configuración de firewall, actualizaciones automáticas y restricción de SSH.

Actualizar y automatizar parches

sudo apt update && sudo apt upgrade -y
sudo apt install unattended-upgrades fail2ban -y
sudo dpkg-reconfigure -plow unattended-upgrades

Configurar Firewall (UFW) básico

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable

Cerrar SSH a contraseñas y root

sudo nano /etc/ssh/sshd_config

# Tras editar las directivas indicadas, reiniciar el servicio:
sudo systemctl restart ssh

Localice y configure las siguientes directivas:

  • PasswordAuthentication no
  • PermitRootLogin no
  • PubkeyAuthentication yes

Perímetro privado (Tailscale)

Restricción del servidor a la red privada Tailscale.

Instalar Tailscale

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

Restringir SSH solo a la red privada

# Permitir tráfico desde la subred interna de Tailscale
sudo ufw allow from 100.64.0.0/10 to any port 22 proto tcp

# Eliminar la regla que abría SSH al mundo entero
sudo ufw delete allow ssh

Instalación de OpenClaw (Clawdbot) y persistencia

Instalación del bot, permisos de credenciales e inicio automático con PM2.

Instalar Node.js y PM2

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
sudo npm install -g pm2

Instalar y configurar el Bot

npm install -g clawdbot
clawdbot doctor

Permisos de secretos (Crucial)

chmod 700 ~/.clawdbot/credentials
chmod 600 .env  # Si usas archivo de variables

Configurar inicio automático

pm2 start clawdbot --name "ai-bot"
pm2 save
pm2 startup
# (Copia y pega el comando que te devuelva la terminal)

Auditoría final

Comprobación del endurecimiento y de los puertos expuestos.

Ejecutar auditoría de la app

clawdbot security audit --deep

Verificar puertos abiertos

En la columna "Local Address" no debe aparecer 0.0.0.0 (público) en puertos sensibles, salvo SSH si aún no se ha aplicado la fase 3.

sudo ufw status verbose
ss -tulnp | grep LISTEN

Resumen de seguridad alcanzado

Acceso por clave: acceso exclusivo mediante clave privada SSH.

Perímetro privado: el servidor no responde a pings externos (fuera de Tailscale).

Actualizaciones y resiliencia: parches automáticos y reinicio del servicio tras fallos.

Permisos mínimos: credenciales y archivos sensibles con permisos restringidos.

Servidor + seguridad + OpenClaw instalado. Sin tocar la terminal. Ver la oferta