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.
4 min de lectura

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 gratisLos 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:
ssh-keygen -t rsa -b 4096Añ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.

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:

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

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.

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.

6. Mantén todo actualizado
Ejecuta las actualizaciones de paquetes de Ubuntu aproximadamente cada 3 meses:
sudo apt update && sudo apt upgrade -yActualiza el propio CloudPanel:
clp-updateHaz 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:

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:
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:
bind-address = 127.0.0.1CloudPanel lo hace por defecto, pero conviene verificarlo, sobre todo después de las actualizaciones.


