---
title: "Cómo securizar CloudPanel"
description: "Diez pasos prácticos para blindar CloudPanel: claves SSH, SSL, reglas de firewall, 2FA, backups, análisis de malware, WAF y más."
date: 2026-02-26
categories: ["hosting"]
tags: ["cloudpanel","security"]
---

import { Picture } from "astro:assets";
import YouTubeEmbed from "@components/widgets/YouTubeEmbed.astro";
import imgSsl from "@assets/images/wordpress/cloudpanel-ssl-1024x346.webp";
import imgPorts from "@assets/images/wordpress/cloudpanel-ports-1024x463.webp";
import imgMyIp from "@assets/images/wordpress/cloudpanel-myip-1024x597.webp";
import imgSnapshots from "@assets/images/wordpress/cloudpanel-snapshots-1024x609.webp";
import imgRemote from "@assets/images/wordpress/remote-backups-1024x426.webp";
import imgCloudflare from "@assets/images/wordpress/cloudpanel-cloudflare-integration-1024x284.webp";

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

<YouTubeEmbed
  url="https://www.youtube.com/embed/sOCD1_oQb6U"
  label="Cómo securizar CloudPanel"
/>


<Button link="https://go.bitdoze.com/hetzner" text="Hetzner VPS" />
<Button link="https://go.bitdoze.com/hostinger-vps" text="Hostinger VPS" />
<Button link="https://go.bitdoze.com/do" text="DigitalOcean $100 gratis" />
<Button link="https://go.bitdoze.com/vultr" text="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](/es/subidas-precios-vps/)._


## 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.

<Picture formats={["webp"]} fallbackFormat="webp" src={imgSsl} alt="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:

<Picture formats={["webp"]} fallbackFormat="webp" src={imgPorts} alt="Configuración de puertos del firewall de CloudPanel" />

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

<Picture formats={["webp"]} fallbackFormat="webp" src={imgMyIp} alt="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.

<Picture formats={["webp"]} fallbackFormat="webp" src={imgSnapshots} alt="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](https://rclone.org/). Esto respalda los archivos del sitio; para un backup completo que incluya las bases de datos, necesitarás un script aparte.

<Picture formats={["webp"]} fallbackFormat="webp" src={imgRemote} alt="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](https://www.bitdoze.com/es/actualizar-cloudpanel-seguro/) para ver el proceso completo.

## 7. Analiza en busca de malware

Instala [LMD (Linux Malware Detect)](https://www.rfxn.com/projects/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:

<Picture formats={["webp"]} fallbackFormat="webp" src={imgCloudflare} alt="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:

```
bind-address = 127.0.0.1
```

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