Logotipo de Bitdoze

Cómo securizar CloudPanel

Diez pasos prácticos para blindar CloudPanel: claves SSH, SSL, reglas de firewall, 2FA, backups, análisis de malware, WAF y más.

Dragos

4 min de lectura

Cómo securizar CloudPanel

Una instalación por defecto de CloudPanel es funcional, pero no está reforzada. Estos pasos reducen la superficie de ataque sin mucho esfuerzo.

Hetzner VPS Hostinger VPS DigitalOcean $100 gratis Vultr $100 gratis

Los precios de los VPS subieron en general en 2026 — si estás reconsiderando una máquina alquilada, mira qué cambió y cuándo gana un mini PC.

1. Usa claves SSH, no contraseñas

Las contraseñas se pueden vulnerar por fuerza bruta. Las claves SSH, no. Genera un par de claves:

bash
ssh-keygen -t rsa -b 4096

Añade tu clave pública al VPS al crearlo (Hetzner permite añadir claves SSH en la interfaz de creación del servidor). Si el servidor ya está en marcha, añade la clave a ~/.ssh/authorized_keys en el servidor y desactiva la autenticación por contraseña en /etc/ssh/sshd_config.

2. Añade un certificado SSL al área de administración

Configura un subdominio para la interfaz de administración de CloudPanel (p. ej., admin.tudominio.com) y añádelo en Admin Area → Settings → General. Apunta el DNS a la IP de tu servidor y deja que CloudPanel genere un certificado de Let’s Encrypt para él.

Configuración del certificado SSL del área de administración de CloudPanel

Una vez hecho esto, accedes al panel de administración por HTTPS en el puerto 443 usando el subdominio — no hace falta exponer el puerto 8443 a internet.

3. Bloquea los puertos 22 y 8443

El firewall integrado de CloudPanel se encarga de esto. Restringe SSH (puerto 22) y el puerto de administración (8443) para que solo tu IP pueda alcanzarlos:

Configuración de puertos del firewall de CloudPanel

Usa la opción My IP para añadir automáticamente tu IP actual:

CloudPanel añadiendo tu IP a la lista blanca del firewall

El inconveniente: si tu ISP cambia tu IP, quedarás bloqueado hasta que actualices la regla. Ten preparado un método de acceso alternativo (Hetzner ofrece acceso por consola desde el navegador).

4. Activa la autenticación de dos factores

En CloudPanel → Account settings, activa el 2FA. Escanea el código QR con Google Authenticator o Authy. A partir de ese momento, cada inicio de sesión requerirá un código temporal desde tu teléfono.

5. Configura las copias de seguridad

Snapshots (vía la API de Hetzner): ve a CloudPanel → Snapshots, conecta tu clave de API de Hetzner y define intervalos automáticos de snapshots y retención. Los snapshots incluyen el disco completo: archivos, base de datos y configuración.

Configuración de snapshots automáticos de CloudPanel

Backups remotos (archivos a almacenamiento externo): CloudPanel es compatible con Dropbox, Google Drive, SFTP y cualquier destino al que llegue Rclone. Esto respalda los archivos del sitio; para un backup completo que incluya las bases de datos, necesitarás un script aparte.

Configuración de backups remotos de CloudPanel

6. Mantén todo actualizado

Ejecuta las actualizaciones de paquetes de Ubuntu aproximadamente cada 3 meses:

bash
sudo apt update && sudo apt upgrade -y

Actualiza el propio CloudPanel:

bash
clp-update

Haz siempre un snapshot antes de cualquier actualización. Consulta Cómo actualizar CloudPanel de forma segura para ver el proceso completo.

7. Analiza en busca de malware

Instala LMD (Linux Malware Detect) y ClamAV, y programa análisis diarios de los directorios de los sitios. CloudPanel aísla cada sitio bajo un usuario del sistema distinto, así que un sitio infectado no puede propagarse a los demás — pero aún puede tumbar el servidor si no se detecta.

Los análisis de malware añaden carga de CPU mientras se ejecutan. Haz pruebas en un servidor de staging antes de activarlos en producción.

8. Añade un WAF

Pon tus sitios detrás de un Web Application Firewall para bloquear DDoS, inyección SQL y XSS antes de que lleguen al servidor. El plan gratuito de Cloudflare ya incluye reglas de WAF. CloudPanel tiene una integración nativa con Cloudflare que restringe el tráfico entrante solo a las IPs de Cloudflare:

Ajuste de la integración de Cloudflare en CloudPanel

Actívala después de apuntar tus dominios a Cloudflare – significa que las peticiones directas a la IP de tu servidor quedan bloqueadas, y todo el tráfico debe pasar primero por la red de Cloudflare.

9. Bloquea el acceso a archivos sensibles

Añade reglas de Nginx para bloquear el acceso a archivos que nunca deberían ser públicos. En la configuración del vhost de Nginx de tu sitio (o mediante las directivas de Nginx de CloudPanel), añade:

nginx
location ~ /\.(env|git|htaccess|htpasswd) {
    return 404;
}

location = /xmlrpc.php {
    return 403;
}

location ~ /\.user\.ini {
    return 404;
}

Esto bloquea los archivos .env (que a menudo contienen contraseñas de bases de datos), los directorios .git y el xmlrpc.php de WordPress (un objetivo habitual de fuerza bruta que la mayoría de los sitios no necesita).

10. Vincula MySQL a localhost

Asegúrate de que MySQL/MariaDB solo escucha en 127.0.0.1 para que no sea accesible desde fuera del servidor. Comprueba /etc/mysql/my.cnf o la configuración de MariaDB en busca de:

text
bind-address = 127.0.0.1

CloudPanel lo hace por defecto, pero conviene verificarlo, sobre todo después de las actualizaciones.