Guía para configurar un cortafuegos (firewall) básico en cPanel y Plesk
Introducción: ¿Por qué necesitas un cortafuegos en tu hosting?
Imagina que tu servidor de hosting es una casa. Tienes puertas (puertos) por donde entran y salen visitas (datos). Un cortafuegos es como un portero inteligente que decide quién puede pasar, qué puertas están abiertas y cuáles deben permanecer cerradas para siempre. Sin él, cualquier persona (o programa malicioso) podría intentar colarse.
En el mundo del ciberseguridad hosting, configurar un firewall cPanel o un firewall Plesk es una de las primeras líneas de defensa. No importa si tienes un sitio web pequeño o una tienda online grande: un cortafuegos bien configurado evita accesos no autorizados, bloquea ataques de fuerza bruta y reduce drásticamente el riesgo de que tu web sea hackeada.
En esta guía te explicaré paso a paso cómo configurar un cortafuegos básico tanto en cPanel como en Plesk. Usaremos herramientas integradas y plugins gratuitos. No necesitas ser un experto en seguridad; solo seguir las instrucciones con calma.
[INFO] Esta guía está pensada para usuarios que gestionan su propio servidor o un plan de hosting con acceso a cPanel o Plesk. Si usas hosting compartido, algunas opciones pueden no estar disponibles; consulta con tu proveedor.
## ¿Qué es un cortafuegos y cómo protege tu servidor?
Un cortafuegos (firewall) es un sistema que filtra el tráfico de red. Decide qué conexiones entrantes y salientes están permitidas basándose en reglas predefinidas. Piensa en ello como una lista de invitados: solo dejas entrar a quienes están en la lista y bloqueas a los desconocidos.
En un servidor de hosting, los puertos más comunes son:
- Puerto 80: HTTP (tráfico web normal).
- Puerto 443: HTTPS (tráfico web cifrado).
- Puerto 21: FTP (transferencia de archivos).
- Puerto 22: SSH (acceso remoto seguro).
Un cortafuegos bien configurado cierra todos los puertos que no necesitas y solo permite el tráfico legítimo. Por ejemplo, si no usas FTP, puedes cerrar el puerto 21. Así reduces la superficie de ataque.
## Configurar un cortafuegos en cPanel
cPanel no incluye un cortafuegos nativo muy potente, pero puedes usar herramientas como ConfigServer Security & Firewall (CSF) o el firewall integrado de WHM. Aquí te explico cómo configurar ambos.
### Paso 1: Acceder a WHM (WebHost Manager)
Para configurar un cortafuegos a nivel de servidor, necesitas entrar a WHM (puerto 2087 por defecto). Desde ahí podrás gestionar el firewall.
- Abre tu navegador y ve a
https://tudominio.com:2087. - Inicia sesión con tu usuario root o un usuario con privilegios de administrador.
### Paso 2: Instalar y configurar CSF (ConfigServer Security & Firewall)
CSF es uno de los cortafuegos más populares para servidores con cPanel. Es gratuito y muy fácil de usar.
-
En WHM, busca "ConfigServer Security & Firewall" en el buscador de funciones.
-
Haz clic en "Install ConfigServer & Firewall".
-
Una vez instalado, ve a "ConfigServer Security & Firewall" > "Firewall Configuration".
-
Verás un archivo de configuración (normalmente
/etc/csf/csf.conf). No te asustes, solo necesitas modificar unas pocas líneas:- Busca
TCP_INyTCP_OUT. Aquí defines los puertos permitidos. Por defecto ya vienen los esenciales (80, 443, 22, etc.). Si no usas FTP, elimina el puerto 21. - Busca
LF_PERMBLOCK_INTERVALy ajústalo a86400(bloqueo permanente por 24 horas si se detectan muchos intentos fallidos). - Guarda los cambios.
- Busca
-
Para aplicar la configuración, ve a "ConfigServer Security & Firewall" > "Firewall Start/Stop/Restart" y haz clic en "Restart".
[TIP] Si no quieres editar archivos manualmente, CSF tiene una interfaz gráfica en WHM donde puedes gestionar reglas, listas blancas y negras.
### Paso 3: Bloquear IPs maliciosas manualmente
Si detectas una IP que está atacando tu servidor, puedes bloquearla fácilmente:
- En WHM, ve a "ConfigServer Security & Firewall" > "IP Block".
- Escribe la dirección IP y haz clic en "Block".
- Para desbloquear, ve a "IP Unblock" y escribe la IP.
### Paso 4: Usar el firewall integrado de WHM (opcional)
cPanel también incluye un firewall básico llamado "cPHulk Brute Force Protection". No es un cortafuegos completo, pero protege contra ataques de fuerza bruta en SSH, FTP y cPanel.
- En WHM, busca "cPHulk Brute Force Protection".
- Actívalo y configura los umbrales de bloqueo (por ejemplo, 5 intentos fallidos en 10 minutos bloquean la IP por 1 hora).
[WARNING] cPHulk solo protege contra ataques de autenticación, no contra otros tipos de tráfico malicioso. Combínalo con CSF para una protección más completa.
## Configurar un cortafuegos en Plesk
Plesk incluye un cortafuegos integrado llamado "Fail2Ban" y también permite gestionar reglas de firewall a través de "Firewall" en el panel. Aquí te guío paso a paso.
### Paso 1: Acceder a Plesk
- Abre tu navegador y ve a
https://tudominio.com:8443. - Inicia sesión con tu usuario administrador.
### Paso 2: Configurar el cortafuegos de Plesk
Plesk tiene un módulo llamado "Firewall" que te permite crear reglas sencillas.
- En el panel izquierdo, ve a "Herramientas y configuraciones" > "Firewall".
- Verás una lista de reglas. Por defecto, ya hay algunas (permitir HTTP, HTTPS, etc.).
- Para añadir una regla personalizada, haz clic en "Añadir regla".
- Elige:
- Dirección: Entrante o saliente.
- Protocolo: TCP, UDP o ambos.
- Puerto: Por ejemplo, 21 para FTP.
- Acción: Permitir o denegar.
- Haz clic en "OK" y luego en "Aplicar" para guardar los cambios.
[TIP] Si no necesitas FTP, añade una regla que deniegue el puerto 21. Así evitas ataques de fuerza bruta.
### Paso 3: Usar Fail2Ban en Plesk
Fail2Ban es una herramienta que bloquea automáticamente IPs después de varios intentos fallidos de inicio de sesión.
- En Plesk, ve a "Herramientas y configuraciones" > "Fail2Ban".
- Actívalo si no lo está.
- Verás una lista de "jails" (reglas predefinidas). Por ejemplo:
- cPanel (si tienes cPanel en Plesk, no es común).
- SSH: Bloquea IPs tras intentos fallidos de SSH.
- ProFTPd: Bloquea FTP.
- Haz clic en el nombre de un jail para configurarlo:
- Maxretry: Número máximo de intentos antes del bloqueo (por ejemplo, 5).
- Findtime: Ventana de tiempo en segundos (por ejemplo, 600 = 10 minutos).
- Bantime: Tiempo de bloqueo en segundos (por ejemplo, 3600 = 1 hora).
- Guarda los cambios.
[INFO] Fail2Ban es excelente para proteger servicios como SSH, FTP y el propio panel de Plesk. No reemplaza un cortafuegos completo, pero es un complemento muy efectivo.
### Paso 4: Bloquear IPs manualmente en Plesk
Si necesitas bloquear una IP específica:
- Ve a "Herramientas y configuraciones" > "Administrador de IP".
- Selecciona la IP y haz clic en "Bloquear".
- También puedes hacerlo desde "Firewall" añadiendo una regla de denegación.
## Mejores prácticas para la seguridad del servidor
Configurar el cortafuegos es solo el primer paso. Para una seguridad servidor sólida, sigue estas recomendaciones:
### 1. Mantén todo actualizado
Tanto cPanel como Plesk reciben actualizaciones de seguridad periódicas. Activa las actualizaciones automáticas o revísalas manualmente cada mes.
### 2. Usa contraseñas fuertes
Una contraseña débil puede eludir cualquier cortafuegos. Usa combinaciones de mayúsculas, minúsculas, números y símbolos. Herramientas como LastPass o Bitwarden te ayudan a gestionarlas.
### 3. Limita el acceso SSH
Si no necesitas SSH, ciérralo (puerto 22). Si lo necesitas, cambia el puerto por defecto (por ejemplo, 2222) y usa autenticación con llaves en lugar de contraseñas.
### 4. Activa la autenticación de dos factores (2FA)
Tanto cPanel como Plesk permiten 2FA. Actívala en todos los usuarios administrativos.
### 5. Monitorea los logs
Revisa periódicamente los logs de acceso y errores. En cPanel, puedes hacerlo desde WHM > "Log Viewer". En Plesk, desde "Herramientas y configuraciones" > "Registros".
[WARNING] No te confíes solo con el cortafuegos. Un atacante puede usar vulnerabilidades en aplicaciones web (como WordPress) para saltarse el firewall. Mantén tus scripts actualizados.
## Preguntas frecuentes (FAQ)
### ¿Qué puertos debo cerrar en mi cortafuegos?
Cierra todos los puertos que no uses. Por defecto, deja abiertos:
- 80 (HTTP)
- 443 (HTTPS)
- 22 (SSH, solo si lo necesitas)
- 21 (FTP, solo si lo usas)
- 25, 465, 587 (correo, si envías emails)
Si no usas correo, cierra los puertos de email.
### ¿El cortafuegos afecta el rendimiento de mi web?
No de forma significativa. Un cortafuegos bien configurado apenas consume recursos. Eso sí, evita reglas demasiado complejas o que analicen todo el tráfico en tiempo real (como algunos firewalls de aplicaciones web).
### ¿Puedo usar un cortafuegos externo (como Cloudflare) en lugar del de cPanel/Plesk?
Sí, Cloudflare ofrece un firewall a nivel de DNS que filtra el tráfico antes de que llegue a tu servidor. Es complementario, no sustituto. Lo ideal es usar ambos: Cloudflare para tráfico web y el cortafuegos del servidor para proteger otros servicios (SSH, FTP, etc.).
### ¿Cómo sé si mi cortafuegos está funcionando?
Puedes probar desde fuera: intenta conectarte a un puerto cerrado (por ejemplo, el 21 si lo bloqueaste). Usa herramientas como nmap o sitios web como "Port Checker". Si el puerto aparece como "filtrado" o "cerrado", el firewall está activo.
### ¿Qué hago si bloqueo mi propia IP por error?
No entres en pánico. Si tienes acceso a otro medio (como la consola del proveedor de hosting), puedes desbloquear la IP desde ahí. En cPanel, ve a WHM > "ConfigServer Security & Firewall" > "IP Unblock". En Plesk, ve a "Firewall" y elimina la regla de bloqueo.
## Conclusión
Configurar un cortafuegos en cPanel o Plesk no es complicado, pero requiere atención a los detalles. Con herramientas como CSF en cPanel y Fail2Ban en Plesk, puedes proteger tu servidor de la mayoría de los ataques automatizados. Recuerda que la seguridad es un proceso continuo: revisa tus reglas periódicamente, mantén todo actualizado y no te olvides de educar a los usuarios de tu hosting.
Si tienes dudas, busca ayuda en los foros oficiales de cPanel o Plesk, o consulta con tu proveedor de hosting. La ciberseguridad hosting es responsabilidad de todos, y un pequeño esfuerzo hoy puede ahorrarte un gran dolor de cabeza mañana.
[TIP] Si usas Syspanel (anteriormente HestiaCP), el cortafuegos se configura desde el panel en el puerto 2106. Allí puedes activar Fail2Ban y gestionar reglas básicas de firewall. Es similar a Plesk, pero más ligero.
