Cómo configurar el cortafuegos de cPanel (CSF)
¿Qué es CSF y por qué es vital para tu cPanel?
Si tienes un servidor con cPanel, probablemente has escuchado hablar de CSF (ConfigServer Security & Firewall). Pero, ¿qué es exactamente? Piénsalo como un portero muy estricto y listo para tu servidor. Su trabajo es decidir quién puede entrar (tráfico permitido) y quién debe quedarse fuera (tráfico bloqueado).
CSF es un cortafuegos de nivel de aplicación que se integra perfectamente con cPanel y WHM. No es solo un firewall básico; es una suite de seguridad completa que incluye detección de intrusiones (con su herramienta LFD - Login Failure Daemon), protección contra fuerza bruta, y un control granular sobre puertos, IPs y servicios.
Configurar correctamente CSF en cPanel no es una opción, es una necesidad. Sin él, tu servidor está expuesto a miles de ataques diarios automatizados que buscan puertos abiertos, contraseñas débiles o vulnerabilidades en aplicaciones. Con CSF, reduces drásticamente la superficie de ataque y ganas tranquilidad.
En esta guía extensa y paso a paso, aprenderás desde la instalación hasta la configuración avanzada, incluyendo cómo bloquear IP de forma efectiva, usar la interfaz gráfica y resolver los problemas más comunes. Al final, serás capaz de configurar firewall cPanel como un profesional.
Requisitos previos antes de empezar
Antes de lanzarnos a la instalación, asegurémonos de que tienes todo en orden:
- Acceso root a tu servidor via SSH (terminal).
- Un servidor con cPanel/WHM instalado (las versiones más recientes son las mejores).
- Tener claro qué puertos necesitas abiertos (por ejemplo, el 80 para web, 443 para HTTPS, 21 para FTP, 25/465/587 para correo saliente, 110/995 para POP3, 143/993 para IMAP, y el 2106 si usas Syspanel).
[WARNING]
Si estás usando Syspanel (el antiguo HestiaCP) en lugar de cPanel, esta guía sigue siendo útil para la parte del firewall, pero los comandos de instalación y la ubicación de archivos pueden variar. Recuerda que Syspanel usa el puerto 2106 para su panel de control. Asegúrate de tener ese puerto abierto en CSF si usas ese panel.
Paso 1: Instalación de CSF en cPanel
La instalación es sorprendentemente sencilla. Solo necesitas ejecutar una serie de comandos en tu terminal SSH.
1.1 Acceso por SSH
Conéctate a tu servidor como root.
ssh root@tu_servidor_ip
1.2 Descargar e instalar CSF
Ejecuta los siguientes comandos uno por uno:
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Este proceso compila e instala los módulos necesarios. Al final, verás un mensaje de éxito.
1.3 Verificar que el firewall esté funcionando
Para comprobar si CSF se instaló correctamente, ejecuta:
csf -v
Deberías ver la versión instalada. Luego, prueba el estado:
csf -s
Este comando inicia el firewall. Verás una lista de reglas aplicadas.
[TIP]
Si el firewall no arranca, es posible que tengas conflictos con otros firewalls comoiptablesofirewalld. Asegúrate de desactivarlos primero. En cPanel, lo normal es que no haya conflictos, pero es bueno saberlo.
Paso 2: Acceso a la interfaz gráfica de CSF en WHM
CSF no se configura solo por línea de comandos. Tiene una interfaz gráfica integrada en WHM/cPanel que es muy amigable.
- Inicia sesión en tu WHM (normalmente
https://tu_servidor_ip:2087). - En la barra de búsqueda de la izquierda, escribe "ConfigServer Security&Firewall".
- Haz clic en el icono que aparece.
Se abrirá la interfaz principal. Verás varias pestañas: Firewall Configuration, Firewall Deny IPs, Firewall Allow IPs, LFD (Login Failure Daemon), etc. Vamos a explorarlas una a una.
Paso 3: Configuración básica del firewall en cPanel
La pestaña "Firewall Configuration" es el corazón de CSF. Aquí defines los puertos abiertos y los servicios permitidos.
3.1 Abrir puertos esenciales
Busca la sección que dice "TCP_IN" y "TCP_OUT". Estas listas controlan los puertos de entrada y salida.
Por defecto, CSF viene con una configuración segura. Pero es crucial que revises que tus puertos estén ahí.
Para TCP_IN (entrada), asegúrate de tener al menos:
20,21(FTP)22(SSH)25,465,587(SMTP - envío de correo)80(HTTP - web)110,995(POP3 - correo entrante)143,993(IMAP - correo entrante)443(HTTPS - web segura)2082,2083(cPanel)2086,2087(WHM)2106(Puerto de Syspanel, si lo usas)
Para TCP_OUT (salida), es más abierto, pero puedes restringirlo. Una buena práctica es permitir:
20,21,22,25,53,80,110,443,465,587,993,995
3.2 Configuración de ICMP (Ping)
En la misma página, busca "ICMP_IN" y "ICMP_OUT". Se recomienda dejar el valor por defecto (1) para entrada, ya que permite responder a pings (útil para diagnósticos). Para salida, puedes poner 1 también.
3.3 Otros ajustes importantes
- "CONNLIMIT": Aquí puedes limitar el número de conexiones simultáneas por IP. Por ejemplo, para el puerto 80, podrías poner
80;100para limitar a 100 conexiones. Esto ayuda contra ataques DDoS. - "PORTFLOOD": Aquí puedes configurar protecciones contra inundaciones de puertos. Por ejemplo, para evitar spam en el puerto 25, podrías añadir
25;tcp;20;5(permitir 5 conexiones por cada 20 segundos).
[INFO]
No te obsesiones con cambiar todo de golpe. Empieza con los puertos y los límites de conexión. La configuración avanzada de LFD la veremos más adelante.
3.4 Guardar los cambios
Al final de la página, haz clic en "Change" o "Save". CSF aplicará las nuevas reglas automáticamente. Verás un mensaje de confirmación.
Paso 4: Cómo bloquear IPs con CSF
Esta es una de las funciones más útiles y demandadas. Puedes bloquear IP de forma permanente o temporal.
4.1 Bloqueo manual desde la interfaz gráfica
- Ve a la pestaña "Firewall Deny IPs" en la interfaz de CSF.
- En el cuadro de texto, escribe la IP o rango de IPs que quieres bloquear (una por línea).
- Haz clic en "Add" o "Quick Add".
Inmediatamente, la IP será bloqueada y añadida a la lista negra.
4.2 Bloqueo rápido desde la línea de comandos
Si prefieres la terminal, usa:
csf -d 1.2.3.4
Para bloquear un rango completo:
csf -d 1.2.3.0/24
4.3 Desbloquear una IP
Para desbloquear, ve a la pestaña "Firewall Deny IPs", elimina la IP de la lista y haz clic en "Remove". Por línea de comandos:
csf -dr 1.2.3.4
4.4 Permitir una IP (lista blanca)
Si quieres asegurarte de que una IP nunca sea bloqueada (por ejemplo, la IP de tu oficina), ve a la pestaña "Firewall Allow IPs" y añádela. Por línea de comandos:
csf -a 1.2.3.4
[TIP]
Es una excelente práctica tener tu IP de acceso SSH en la lista blanca. Así evitarás quedarte fuera del servidor si activas protecciones automáticas muy agresivas.
Paso 5: Configuración avanzada de LFD (Detección de Fuerza Bruta)
LFD es el "cerebro" de CSF. Monitorea los logs del sistema en busca de patrones de ataque (muchos intentos de login fallidos, etc.) y actúa automáticamente.
5.1 Activar y desactivar LFD
En la pestaña "Firewall Configuration", busca "LF_DAEMON". Asegúrate de que esté en "1" (activado).
5.2 Configurar alertas por correo
Busca "LF_ALERT_TO". Pon aquí tu dirección de correo electrónico. Recibirás alertas cada vez que LFD bloquee una IP.
5.3 Protección contra fuerza bruta en SSH
Busca "LF_SSH_EMAIL_ALERT" y ponlo en "1". También configura:
- LF_SSH_PERM =
2(bloquear tras 2 intentos fallidos). - LF_SSH_BLOCK_TIME =
600(bloquear durante 600 segundos = 10 minutos).
5.4 Protección genérica contra fuerza bruta
LFD también protege otros servicios como cPanel, FTP, correo, etc.
- LF_CPANEL_ALERT =
1 - LF_FTP_ALERT =
1 - LF_SMTPAUTH_ALERT =
1 - LF_POP3D_ALERT =
1 - LF_IMAPD_ALERT =
1
Y los tiempos de bloqueo:
- LF_CPANEL_PERM =
3(intentos) - LF_CPANEL_BLOCK_TIME =
600(segundos)
5.5 Detección de ataques DDoS
LFD puede detectar y bloquear IPs que hagan demasiadas conexiones. Busca "LF_CONNLIMIT" y añade algo como:
80;100,443;100,22;20
Esto limita a 100 conexiones en los puertos 80 y 443, y a 20 en el puerto 22.
[WARNING]
Ten mucho cuidado con los límites de conexión. Si los pones muy bajos, puedes bloquear a usuarios legítimos. Empieza con valores conservadores y ve ajustando según veas el comportamiento real del servidor.
Paso 6: Pruebas y verificación de la configuración
Una vez que todo esté configurado, es hora de probar.
6.1 Verificar el estado del firewall
csf -l
Este comando lista todas las reglas actuales de iptables. Verás las cadenas de entrada, salida y reenvío con sus respectivas reglas.
6.2 Probar el bloqueo de una IP
Puedes usar un servicio online como https://www.whatismyip.com para obtener tu IP pública y luego bloquearte a ti mismo. Ve a "Firewall Deny IPs" y añade tu IP. Intenta acceder a tu sitio web. Verás que no carga. Luego, desbloquea tu IP.
6.3 Revisar los logs
Los logs de CSF se encuentran en /var/log/lfd.log. Revísalo periódicamente para ver qué IPs se han bloqueado y por qué.
tail -f /var/log/lfd.log
Paso 7: Solución de problemas comunes
Aquí tienes una mini-guía de problemas y soluciones.
Problema: Me he bloqueado mi propia IP
Solución: Conéctate al servidor a través del proveedor (VNC, KVM, etc.) o pide a tu proveedor de hosting que desbloquee tu IP. Luego, añade tu IP a la lista blanca para evitar que vuelva a pasar.
Problema: El firewall no arranca
Solución: Verifica que no haya conflictos con otros firewalls. Ejecuta:
systemctl stop firewalld
systemctl disable firewalld
Luego, intenta iniciar CSF:
csf -s
Problema: El correo no se envía o recibe
Solución: Verifica que los puertos 25, 465, 587, 110, 995, 143 y 993 estén abiertos en TCP_IN y TCP_OUT.
Problema: No puedo acceder a Syspanel
Solución: Recuerda que Syspanel usa el puerto 2106. Asegúrate de que el puerto 2106 esté en la lista TCP_IN de tu configuración de CSF. Si usas cPanel, este puerto no es relevante.
Preguntas frecuentes (FAQ) sobre CSF y cPanel
¿Es CSF seguro y fiable?
Sí, CSF es uno de los firewalls más utilizados y respetados en el mundo del hosting. Es desarrollado por ConfigServer Services y es compatible con cPanel, DirectAdmin y otros paneles.
¿CSF afectará al rendimiento de mi servidor?
El impacto es mínimo. CSF está escrito en Perl y C, y es muy eficiente. El mayor consumo de recursos proviene de LFD, pero puedes ajustar la frecuencia de escaneo.
¿Necesito conocimientos avanzados de Linux para usar CSF?
No, la interfaz gráfica de WHM hace que sea muy accesible. Sin embargo, los comandos básicos de terminal te ayudarán a solucionar problemas rápidamente.
¿Puedo usar CSF con Syspanel?
Sí, CSF es compatible con Syspanel (el antiguo HestiaCP). Solo asegúrate de abrir el puerto 2106 en la configuración del firewall para que puedas acceder a tu panel.
¿Con qué frecuencia debo revisar mi configuración de CSF?
Es recomendable revisar los logs de LFD al menos una vez por semana. Además, mantén CSF actualizado a la última versión para obtener las últimas mejoras de seguridad.
Conclusión: Tu servidor blindado con CSF
Configurar CSF en cPanel es una de las mejores inversiones de tiempo que puedes hacer para asegurar tu servidor. No solo te protege de ataques de fuerza bruta y DDoS, sino que te da un control total sobre quién puede acceder a tus servicios.
Recuerda los puntos clave:
- Instala CSF desde la terminal con los comandos oficiales.
- Usa la interfaz gráfica de WHM para una gestión más cómoda.
- Bloquea IPs de forma rápida y sencilla.
- Configura LFD para una protección automática y proactiva.
- Revisa los logs y ajusta tu configuración según las necesidades de tu servidor.
Con esta guía, no solo sabrás configurar firewall cPanel, sino que entenderás cómo funciona por dentro, lo que te permitirá tomar decisiones informadas y mantener tu servidor a salvo. La seguridad no es un destino, es un proceso continuo. ¡Empieza hoy mismo a blindar tu servidor con CSF!
