Un VPS mal configurado es una invitación abierta a los atacantes.
Cada mes detectamos miles de intentos de fuerza bruta contra paneles cPanel, inyecciones SQL en WordPress desactualizados y malware en cuentas comprometidas. La buena noticia: el 90% de estos ataques se pueden prevenir con configuraciones básicas.
En esta guía te muestro cómo proteger tu VPS cPanel desde cero. No teoría abstracta: configuraciones concretas que puedes aplicar hoy.
Las 3 amenazas principales contra tu VPS cPanel
Antes de protegerte, necesitas entender contra qué te defiendes:
1. Ataques de fuerza bruta
Bots automatizados intentando miles de combinaciones de usuario/contraseña contra:
- Login de cPanel y WHM
- SSH
- FTP
- Cuentas de correo
- Paneles de administración de CMS (wp-admin)
2. Malware y código malicioso
Archivos infectados que llegan a tu servidor mediante:
- Plugins y temas de WordPress pirateados
- Vulnerabilidades en CMS desactualizados
- Formularios de subida sin validación
- Cuentas comprometidas
3. Explotación de vulnerabilidades
Ataques dirigidos que aprovechan:
- Software desactualizado (cPanel, PHP, Apache)
- Configuraciones inseguras por defecto
- Permisos de archivos incorrectos
- Funciones PHP peligrosas habilitadas
Arquitectura de seguridad en capas
La seguridad efectiva funciona en capas. Si una falla, las demás te protegen:
| Capa | Función | Herramientas |
|---|---|---|
| Perímetro | Filtrar tráfico malicioso | CSF/iptables, Fail2ban |
| Aplicación | Bloquear ataques web | ModSecurity WAF |
| Autenticación | Impedir accesos no autorizados | 2FA, cPHulk, contraseñas fuertes |
| Sistema | Detectar y eliminar malware | Imunify360, ClamAV |
| Recuperación | Restaurar tras incidentes | Backups automatizados |
Vamos a configurar cada una.
Capa 1: Firewall y protección perimetral
Instalar CSF (ConfigServer Security & Firewall)
[!WARNING] Fin de soporte de CSF: ConfigServer ha anunciado que dejará de dar soporte a CSF el 31 de agosto de 2025.
Por este motivo, no recomendamos realizar nuevas instalaciones de CSF. cPanel ha anunciado que realizará un fork del proyecto para mantenerlo y publicarlo bajo su propia marca a partir de 2026. Puedes seguir el desarrollo de esta iniciativa aquí.
Para nuevas instalaciones, recomendamos utilizar Imunify360 o esperar a la solución nativa de cPanel.
Si ya tienes CSF instalado, seguirá funcionando, pero dejará de recibir actualizaciones de seguridad después de la fecha indicada.
Configuración esencial (para instalaciones existentes):
- Ve a WHM → Plugins → ConfigServer Security & Firewall
- En “csf - ConfigServer Firewall”, haz clic en “Firewall Configuration”
- Configura estos valores esenciales:
TESTING = "0" # Desactivar modo test
RESTRICT_SYSLOG = "3" # Restringir acceso a syslog
SMTP_BLOCK = "1" # Bloquear SMTP saliente (excepto autenticado)
LF_ALERT_TO = "[email protected]" # Alertas por email
- Guarda y reinicia CSF
Configurar puertos permitidos
Solo abre los puertos que realmente necesitas:
Puertos esenciales cPanel:
- 80, 443: HTTP/HTTPS
- 21, 20: FTP (considera SFTP en su lugar)
- 22: SSH (cámbialo a otro puerto)
- 25, 465, 587: SMTP
- 110, 995: POP3
- 143, 993: IMAP
- 2082-2083: cPanel
- 2086-2087: WHM
- 2095-2096: Webmail
Cambiar el puerto SSH
El puerto 22 recibe miles de ataques diarios. Cambiarlo reduce el ruido:
# Editar configuración SSH
nano /etc/ssh/sshd_config
# Cambiar línea Port 22 a:
Port 2468 # Elige un puerto entre 1024-65535
# Reiniciar SSH
systemctl restart sshd
Importante: Asegúrate de abrir el nuevo puerto en CSF antes de cerrar tu sesión actual.
Deshabilitar login root por SSH
Crea un usuario con privilegios sudo en lugar de usar root:
# Crear usuario
adduser administrador
passwd administrador
# Añadir a grupo wheel (sudo)
usermod -aG wheel administrador
# Editar SSH config
nano /etc/ssh/sshd_config
# Cambiar a:
PermitRootLogin no
# Reiniciar SSH
systemctl restart sshd
Ahora conéctate como “administrador” y usa sudo para comandos root.
Capa 2: Protección de aplicaciones web (WAF)
Activar ModSecurity
ModSecurity es un Web Application Firewall que bloquea ataques como SQL injection y XSS.
Activar en WHM:
- Ve a WHM → Security Center → ModSecurity Configuration
- Cambia a “On” si está desactivado
- En “Rules List”, selecciona un conjunto de reglas (OWASP recomendado)
Configurar reglas OWASP CRS
Las reglas OWASP Core Rule Set son el estándar de la industria:
- WHM → Security Center → ModSecurity Tools
- Haz clic en “Rules Deployment”
- Selecciona “OWASP ModSecurity Core Rule Set”
- Aplica las reglas
Nota: Algunas reglas pueden generar falsos positivos. Monitoriza los logs y ajusta excepciones según sea necesario.
Imunify360: Protección integral
Si buscas seguridad profesional sin complicaciones, Imunify360 es la mejor opción. Combina:
- Firewall inteligente con IA
- Protección contra fuerza bruta
- Escaneo y limpieza de malware
- Defensa proactiva contra ataques zero-day
- Parches virtuales para vulnerabilidades
Instalación:
wget https://repo.imunify360.cloudlinux.com/defence360/i360deploy.sh
bash i360deploy.sh --key TU_CLAVE_LICENCIA
Una vez instalado, aparece en WHM → Plugins → Imunify360.
Con el VPS cPanel administrado de Avantys, Imunify360 viene preinstalado y configurado como parte del servicio de administración.
Capa 3: Autenticación y control de acceso
Activar autenticación de dos factores (2FA)
2FA añade una capa extra: aunque roben tu contraseña, necesitan el código de tu móvil.
Activar 2FA en WHM:
- WHM → Security Center → Two-Factor Authentication
- Haz clic en “Configure Two-Factor Authentication”
- Activa “Enable Two-Factor Authentication”
- Escanea el código QR con Google Authenticator o Authy
Forzar 2FA para todas las cuentas cPanel:
En la misma sección, activa “Require Two-Factor Authentication for all cPanel accounts”.
Configurar cPHulk (protección fuerza bruta nativa)
cPHulk viene integrado en cPanel y bloquea IPs tras varios intentos fallidos.
Activar en WHM:
- WHM → Security Center → cPHulk Brute Force Protection
- Haz clic en “Enable”
- Configura estos valores:
| Opción | Valor recomendado |
|---|---|
| IP Based Brute Force Protection | Enable |
| Maximum Failures Per IP | 5 |
| IP Brute Force Protection Period | 15 minutos |
| Maximum Failures Per Account | 10 |
| Automatic IP Blocking | Enable |
Añadir tu IP a la whitelist:
Si tienes IP fija, añádela para no bloquearte a ti mismo:
WHM → Security Center → cPHulk → Whitelist Management → Add IP
Políticas de contraseñas fuertes
Obliga a todos los usuarios a usar contraseñas seguras:
- WHM → Security Center → Password Strength Configuration
- Establece fuerza mínima: 65 (sobre 100)
- WHM → Security Center → Configure Security Policies
- Activa “Password Age Requirement” (90 días recomendado)
Capa 4: Seguridad a nivel de sistema
Mantener todo actualizado
El 80% de los ataques exitosos explotan vulnerabilidades conocidas con parche disponible.
Actualizar cPanel:
/usr/local/cpanel/scripts/upcp --force
Configurar actualizaciones automáticas:
WHM → Server Configuration → Update Preferences → Automatic Updates: “Release”
Actualizar sistema operativo:
# AlmaLinux/Rocky Linux
dnf update -y
Configurar PHP de forma segura
PHP mal configurado es la puerta de entrada más común para malware.
WHM → MultiPHP INI Editor → Editor Mode:
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
expose_php = Off
allow_url_fopen = Off
allow_url_include = Off
display_errors = Off
log_errors = On
Importante: Algunas aplicaciones legítimas necesitan estas funciones. Prueba antes de aplicar en producción.
Permisos de archivos correctos
Permisos incorrectos permiten que atacantes escriban archivos maliciosos.
Valores correctos para WordPress:
| Tipo | Permiso |
|---|---|
| Directorios | 755 |
| Archivos | 644 |
| wp-config.php | 600 |
Corregir permisos masivamente:
# Directorios
find /home/usuario/public_html -type d -exec chmod 755 {} \;
# Archivos
find /home/usuario/public_html -type f -exec chmod 644 {} \;
# wp-config.php
chmod 600 /home/usuario/public_html/wp-config.php
Instalar antivirus ClamAV
ClamAV escanea archivos en busca de malware conocido.
Instalar desde WHM:
- WHM → cPanel → Manage Plugins
- Busca “ClamAV” y actívalo
- Los usuarios pueden escanear desde cPanel → Advanced → Virus Scanner
Proteger directorios temporales
Los atacantes a menudo usan /tmp para ejecutar código malicioso.
# Montar /tmp con opciones restrictivas
# Añadir a /etc/fstab:
tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev 0 0
# Aplicar cambios
mount -o remount /tmp
Capa 5: Backups y recuperación
La seguridad perfecta no existe. Los backups son tu red de seguridad.
Configurar backups automáticos en WHM
- WHM → Backup → Backup Configuration
- Activa “Enable Backup”
- Configura:
| Opción | Recomendación |
|---|---|
| Backup Type | Compressed |
| Backup Daily | Enable |
| Backup Weekly | Enable |
| Backup Monthly | Enable |
| Retention | Daily: 7, Weekly: 4, Monthly: 2 |
Almacenamiento externo de backups
Guardar backups en el mismo servidor es peligroso. Si hackean el servidor, pierdes los backups también.
Opciones recomendadas:
- Servidor remoto: Configura en WHM → Backup → Backup Destination con SFTP
- Amazon S3: Usa el plugin de backup de cPanel con credenciales AWS
- Google Drive/Dropbox: Mediante scripts o plugins de terceros
Probar la restauración
Un backup que no has probado restaurar no es un backup. Programa pruebas periódicas:
- Crea una cuenta de prueba
- Restaura un backup anterior
- Verifica que los archivos, bases de datos y correos funcionan
Checklist de seguridad rápido
Usa esta lista para verificar tu configuración:
Firewall y red
- Firewall configurado (Imunify360 o CSF existente)
- Solo puertos necesarios abiertos
- Puerto SSH cambiado del 22
- Login root por SSH deshabilitado
Autenticación
- 2FA activado en WHM
- cPHulk activo con límites configurados
- Política de contraseñas fuertes (65+)
- IP propia en whitelist de cPHulk
Aplicación web
- ModSecurity activo con reglas OWASP
- PHP con funciones peligrosas deshabilitadas
- allow_url_fopen = Off
- display_errors = Off
Sistema
- cPanel actualizado a última versión
- Sistema operativo actualizado
- ClamAV o Imunify360 instalado
- /tmp montado con noexec
Backups
- Backups automáticos diarios activos
- Destino de backup externo configurado
- Restauración probada en los últimos 30 días
¿Prefieres seguridad sin complicaciones?
El VPS cPanel administrado de Avantys incluye toda esta configuración de seguridad aplicada desde el primer día. Firewall avanzado, Imunify360, backups automáticos externos y monitorización 24/7.
Monitorización y respuesta a incidentes
Logs que debes vigilar
| Log | Ubicación | Qué buscar |
|---|---|---|
| Acceso cPanel | /usr/local/cpanel/logs/access_log | Logins fallidos, IPs sospechosas |
| Errores Apache | /var/log/apache2/error_log | Ataques web, errores PHP |
| SSH | /var/log/secure | Intentos de acceso |
| /var/log/exim_mainlog | Spam saliente, cuentas comprometidas | |
| CSF | /var/log/lfd.log | Bloqueos de firewall |
Configurar alertas por email
En WHM → Server Contacts → Contact Information, configura:
- System Administrator Email: [email protected]
- Activa notificaciones para: Disk usage, Bandwidth, Security alerts
CSF también envía alertas. Configura en:
WHM → Plugins → CSF → Firewall Configuration → LF_ALERT_TO
Qué hacer si te hackean
- No entres en pánico. La mayoría de hacks se pueden limpiar.
- Aísla el servidor si es posible (corta acceso de red excepto tu IP)
- Identifica la entrada: Revisa logs de acceso y fecha de modificación de archivos
- Restaura desde backup limpio si tienes uno reciente
- Cambia TODAS las contraseñas: cPanel, FTP, MySQL, SSH
- Escanea con Imunify360/ClamAV para detectar archivos infectados
- Actualiza todo: CMS, plugins, temas, PHP
- Refuerza la seguridad aplicando las medidas de esta guía
FAQ: Preguntas frecuentes
¿Es suficiente el firewall del proveedor de VPS?
Generalmente no. Los firewalls de red del datacenter protegen a nivel de infraestructura, pero necesitas protección a nivel de aplicación (CSF, ModSecurity) y de cuentas (cPHulk, 2FA).
¿Imunify360 o CSF + ModSecurity + ClamAV?
Imunify360 integra todas esas funciones y añade IA para detección proactiva. Si el presupuesto lo permite, Imunify360 es más completo y fácil de gestionar. Dado el fin de soporte de CSF en 2025, Imunify360 es la opción recomendada para nuevas instalaciones.
¿Cada cuánto debo actualizar cPanel?
Configura actualizaciones automáticas en el canal “Release” (estable). Las actualizaciones de seguridad se aplican automáticamente. Para actualizaciones mayores, programa una ventana de mantenimiento y prueba antes en staging si tienes sitios críticos.
¿Por qué deshabilitar allow_url_fopen?
Esta función permite que PHP descargue archivos remotos. Los atacantes la usan para descargar shells y malware. La mayoría de aplicaciones legítimas funcionan sin ella. Si algo falla, habilítala solo para esa cuenta específica.
¿Los backups en el mismo servidor son seguros?
No. Si el servidor se compromete o falla el disco, pierdes servidor y backups. Siempre configura un destino externo: otro servidor, S3, o servicio de backup en la nube.
¿Cómo sé si mi servidor está comprometido?
Señales de alerta:
- Uso de CPU/RAM anormalmente alto
- Emails salientes que no reconoces
- Archivos modificados recientemente que no tocaste
- Nuevos usuarios o cuentas FTP desconocidas
- IPs bloqueadas en listas negras (verifica en mxtoolbox.com)
¿Es seguro usar cPanel en un VPS sin CloudLinux?
Sí, pero CloudLinux añade aislamiento entre cuentas (CageFS) que impide que una cuenta comprometida afecte a otras. En VPS con múltiples clientes, CloudLinux es muy recomendable.
¿Debo bloquear el acceso a xmlrpc.php de WordPress?
Sí. El archivo xmlrpc.php es un vector de ataque común para fuerza bruta. Bloquéalo en .htaccess si no usas pingbacks ni publicación remota:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
Conclusión
La seguridad de un VPS cPanel no es un proyecto que se hace una vez. Es un proceso continuo de actualización, monitorización y ajuste.
Los pasos más importantes son:
- Firewall configurado (Imunify360 o solución nativa)
- Autenticación robusta (2FA + contraseñas fuertes + cPHulk)
- Software actualizado (cPanel, SO, CMS)
- Backups externos probados y funcionando
Si implementas solo estas cuatro cosas, ya estarás mejor protegido que el 80% de los VPS.
Para quienes prefieren centrarse en su negocio sin preocuparse por la seguridad del servidor, el VPS cPanel administrado de Avantys incluye todas estas medidas aplicadas y mantenidas por nuestro equipo técnico.
Guías relacionadas del cluster VPS cPanel
Complementa tu conocimiento con estas guías:
Configuración y optimización
- Cómo migrar tu hosting a VPS cPanel
- Configurar LiteSpeed en VPS cPanel
- VPS cPanel vs VPS Plesk
- Cómo cambiar la versión de PHP en cPanel
Fundamentos
- Qué es un VPS y para qué sirve
- VPS administrado vs no administrado
- Hosting compartido vs VPS
- Administrar servidores Linux: guía completa
Última actualización: Diciembre 2025. Guía verificada con cPanel 118 y WHM.
VPS cPanel Administrado
La potencia de un VPS con la facilidad de cPanel. Soporte en español.