Cómo configurar un cortafuegos (firewall) en cPanel (CSF/ConfigServer)
¿Qué es CSF y por qué tu servidor cPanel lo necesita?
Si tienes un servidor con cPanel, una de las primeras cosas que debes hacer es protegerlo. Un servidor sin cortafuegos es como dejar la puerta de tu casa abierta: cualquiera puede entrar. Ahí es donde entra CSF (ConfigServer Security & Firewall), una herramienta de seguridad gratuita y muy potente que se integra perfectamente con cPanel.
CSF no es un simple cortafuegos. Es un sistema de seguridad completo que incluye detección de intrusiones, bloqueo de IPs maliciosas, protección contra fuerza bruta y mucho más. Cuando alguien intenta acceder a tu servidor de forma repetida sin éxito, CSF lo detecta y lo bloquea automáticamente.
Lo mejor de todo es que, aunque suene técnico, configurar CSF en cPanel es bastante sencillo si sigues los pasos correctos. En esta guía te voy a explicar todo lo que necesitas saber, desde la instalación hasta la configuración avanzada, usando un lenguaje claro y sin tecnicismos innecesarios.
Requisitos previos antes de instalar CSF
Antes de empezar con la instalación, asegúrate de tener lo siguiente:
-
Acceso root (administrador) a tu servidor a través de SSH (línea de comandos). Si no sabes qué es esto, pide ayuda a tu proveedor de hosting o a tu administrador de sistemas.
-
Un servidor con cPanel/WHM instalado. CSF funciona con cPanel, pero también con otros paneles como DirectAdmin o incluso servidores sin panel. En este artículo nos centramos en cPanel.
-
Acceso a WHM (el panel de administración de cPanel). Normalmente se accede a través de
https://tu-servidor:2087. -
Conocimientos básicos de Linux. No necesitas ser un experto, pero entender comandos básicos como
cd,lsonanote ayudará mucho. -
Una copia de seguridad de tu configuración actual. Siempre es recomendable tener un respaldo por si algo sale mal.
[WARNING] Si estás usando un servidor con Syspanel (anteriormente conocido como HestiaCP), ten en cuenta que el puerto de acceso es el 2106 y no el 2087. El proceso de instalación de CSF es similar, pero la interfaz de administración cambia.
Instalación de CSF en cPanel paso a paso
Paso 1: Acceder al servidor por SSH
Abre tu terminal (en Windows puedes usar PuTTY, en Mac o Linux la terminal nativa) y conéctate a tu servidor:
ssh root@tu-servidor.com
Te pedirá la contraseña de root. Una vez dentro, verás algo como root@servidor:~#.
Paso 2: Descargar e instalar CSF
Ejecuta los siguientes comandos en orden:
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Este proceso instalará CSF en tu servidor. Al final verás un mensaje indicando que la instalación se completó correctamente.
Paso 3: Verificar que CSF está instalado
Para comprobar que todo funciona, ejecuta:
perl /usr/local/csf/bin/csf -v
Deberías ver la versión instalada. También puedes comprobar que los módulos de Perl están bien con:
perl /usr/local/csf/bin/csf -c
Si todo está correcto, verás un mensaje de éxito.
Paso 4: Activar el modo de prueba
Antes de activar el firewall por completo, es muy recomendable usar el modo de prueba. Este modo permite que CSF funcione pero sin bloquear nada, solo registrando lo que haría. Así puedes ver si hay algún problema sin cortar tu acceso.
Para activarlo, edita el archivo de configuración:
nano /etc/csf/csf.conf
Busca la línea que dice TESTING = "0" y cámbiala a TESTING = "1". Guarda con Ctrl+O, luego Enter, y sal con Ctrl+X.
Ahora inicia CSF:
csf -s
Después de unos minutos (o incluso horas) de funcionamiento en modo prueba, revisa los registros para ver qué haría el firewall:
cat /var/log/lfd.log | grep "TESTING"
Si ves bloqueos que no deberían ocurrir (por ejemplo, tu propia IP), puedes ajustar la configuración antes de activar el firewall de verdad.
Paso 5: Desactivar el modo de prueba
Cuando estés seguro de que todo funciona bien, vuelve a editar el archivo de configuración:
nano /etc/csf/csf.conf
Cambia TESTING = "1" a TESTING = "0" y guarda. Luego reinicia CSF:
csf -r
[TIP] Nunca desactives el modo de prueba si no estás 100% seguro de que tu IP está permitida en el firewall. Si te equivocas, podrías quedarte fuera de tu propio servidor.
Configuración básica de CSF en cPanel
Ahora que CSF está instalado, vamos a configurarlo correctamente. La configuración se hace principalmente desde el archivo /etc/csf/csf.conf y desde la interfaz de WHM.
Puertos permitidos (entrantes y salientes)
La configuración más importante es la de los puertos. Por defecto, CSF ya incluye los puertos más comunes, pero debes revisar que estén correctos.
Para ver los puertos entrantes permitidos:
grep "TCP_IN" /etc/csf/csf.conf
Deberías ver algo como:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2083,2087,2082,2086"
Estos son los puertos estándar para cPanel:
- 20 y 21: FTP
- 22: SSH
- 25: SMTP (correo saliente)
- 53: DNS
- 80: HTTP (web)
- 110: POP3
- 143: IMAP
- 443: HTTPS (web segura)
- 465 y 587: SMTP con SSL
- 993 y 995: IMAP y POP3 con SSL
- 2082 y 2083: cPanel y cPanel SSL
- 2086 y 2087: WHM y WHM SSL
[INFO] Si tienes servicios adicionales como bases de datos remotas, juegos o aplicaciones específicas, deberás añadir sus puertos aquí. Por ejemplo, para MySQL remoto añadirías el puerto 3306.
Puertos salientes
Los puertos salientes son los que tu servidor usa para conectarse hacia afuera. La configuración por defecto suele ser suficiente:
grep "TCP_OUT" /etc/csf/csf.conf
Normalmente verás:
TCP_OUT = "20,21,22,25,37,43,53,80,110,113,443,587,873,2087,2089,2703"
Configurar IPs permitidas y bloqueadas
CSF te permite gestionar IPs de varias formas. Las más comunes son:
IPs siempre permitidas (por ejemplo, tu IP de administración):
nano /etc/csf/csf.allow
Añade cada IP en una línea. Por ejemplo:
192.168.1.100
203.0.113.50
IPs siempre bloqueadas:
nano /etc/csf/csf.deny
Añade las IPs que quieras bloquear permanentemente.
[TIP] Es muy recomendable añadir tu IP a
csf.allowantes de activar el firewall. Así nunca te quedarás fuera de tu servidor.
Configurar el correo de alertas
CSF puede enviarte notificaciones por correo cuando bloquea algo o cuando hay eventos importantes. Para configurarlo:
nano /etc/csf/csf.conf
Busca la línea LF_ALERT_TO y pon tu correo:
LF_ALERT_TO = "tu@correo.com"
También puedes activar alertas para eventos específicos buscando líneas que empiecen por LF_.
Configuración avanzada de CSF (protección contra ataques)
CSF tiene muchas funciones avanzadas que te ayudarán a proteger tu servidor de ataques. Vamos a ver las más importantes.
Protección contra fuerza bruta (Login Failure Daemon)
CSF incluye un daemon llamado lfd que monitoriza los intentos de acceso fallidos. Si alguien intenta entrar muchas veces con contraseñas incorrectas, lfd bloquea su IP automáticamente.
Para configurarlo, edita el archivo de configuración:
nano /etc/csf/csf.conf
Busca estas líneas y ajusta los valores:
LF_SSH = "5"
LF_SSH_PERM = "3600"
Esto significa que si alguien falla 5 veces al intentar entrar por SSH, se bloquea su IP durante 3600 segundos (1 hora).
Puedes hacer lo mismo para otros servicios:
LF_FTPpara FTPLF_CPANELpara cPanelLF_SMTP_AUTHpara correoLF_WEBMINpara Webmin
Detección de puertos escaneados
CSF también detecta si alguien está escaneando tus puertos. Busca estas líneas:
LF_PORTSCAN = "1"
LF_PORTSCAN_UNIQ = "5"
Esto bloqueará a cualquier IP que escanee más de 5 puertos únicos en un corto periodo de tiempo.
Protección contra ataques DDoS
CSF tiene protección básica contra DDoS que puedes activar:
LF_DISTFTP = "1"
LF_DISTSMTP = "1"
LF_DISTSSH = "1"
Estas opciones bloquean IPs que intentan conectarse a muchos puertos diferentes de forma simultánea.
Configurar el nivel de agresividad
CSF tiene un sistema de "conexiones por segundo" que puedes ajustar. Busca:
CONNLIMIT = "22,10;80,20;443,20"
Esto limita las conexiones simultáneas por IP para cada puerto. Por ejemplo, en el puerto 22 (SSH), cada IP solo puede tener 10 conexiones simultáneas.
[WARNING] Ten cuidado al ajustar estos valores. Si los pones demasiado bajos, podrías bloquear a usuarios legítimos. Empieza con valores conservadores y ve ajustando según las necesidades.
Gestión de CSF desde WHM (interfaz gráfica)
Si no te sientes cómodo con la línea de comandos, no te preocupes. CSF se integra con WHM y puedes gestionarlo desde la interfaz gráfica.
Acceder a CSF desde WHM
-
Inicia sesión en WHM (
https://tu-servidor:2087). -
En el buscador, escribe "ConfigServer Security & Firewall" o navega a Plugins → ConfigServer Security & Firewall.
-
Verás una interfaz con varias pestañas:
- Firewall: Para gestionar IPs permitidas y bloqueadas.
- Quick Config: Para ver los ajustes principales.
- Ports: Para gestionar los puertos.
- Logs: Para ver los registros de actividad.
Añadir una IP desde WHM
-
Ve a la pestaña Firewall.
-
En la sección Quick Allow, escribe la IP que quieres permitir.
-
Haz clic en Añadir.
-
CSF se actualizará automáticamente.
Bloquear una IP desde WHM
-
Ve a la pestaña Firewall.
-
En Quick Deny, escribe la IP que quieres bloquear.
-
Haz clic en Añadir.
-
La IP quedará bloqueada al instante.
Ver los logs desde WHM
En la pestaña Logs puedes ver todos los eventos que CSF ha registrado. Esto es muy útil para detectar ataques o para ver qué ha bloqueado el firewall.
Comandos útiles de CSF que debes conocer
Aquí tienes una lista de comandos que te serán muy útiles en el día a día:
Control del firewall
csf -s # Iniciar el firewall
csf -f # Detener el firewall
csf -r # Reiniciar el firewall
csf -x # Apagar el firewall (desactiva todo)
csf -e # Activar el firewall (después de apagarlo)
Gestión de IPs
csf -a IP # Añadir IP a la lista de permitidas
csf -d IP # Bloquear IP
csf -dr IP # Desbloquear IP
csf -t IP # Bloquear IP temporalmente (por defecto 1 hora)
Ver estado
csf -l # Listar todas las reglas activas
csf -v # Ver versión
csf -h # Ayuda
[TIP] Si bloqueas tu propia IP por error, puedes conectarte a través de la consola de tu proveedor de hosting (si tienen una) o pedirles que desbloqueen tu IP.
Solución de problemas comunes
No puedo acceder a mi servidor después de activar CSF
Esto suele pasar porque tu IP no está en la lista de permitidas. Para solucionarlo:
-
Conéctate a la consola de tu proveedor de hosting (KVM, VNC, etc.).
-
Ejecuta:
csf -a TU_IP
- Si no puedes acceder a la consola, contacta con tu proveedor y pídeles que desbloqueen tu IP.
El correo no funciona después de instalar CSF
Revisa que los puertos de correo estén abiertos:
grep "TCP_IN" /etc/csf/csf.conf
Asegúrate de que los puertos 25, 110, 143, 465, 587, 993 y 995 estén incluidos.
CSF bloquea a usuarios legítimos
Si CSF está bloqueando a usuarios que deberían tener acceso, revisa:
-
Los valores de
LF_*en la configuración. Puede que sean demasiado estrictos. -
Las reglas de
CONNLIMIT. Si tienes un sitio web muy popular, es posible que necesites aumentar los límites. -
Los logs para ver qué está bloqueando:
tail -f /var/log/lfd.log
Quiero desinstalar CSF completamente
Si por alguna razón quieres eliminar CSF:
cd /usr/src/csf
sh uninstall.sh
Esto eliminará CSF y todas sus reglas.
Preguntas frecuentes (FAQ)
¿CSF es gratis?
Sí, CSF es completamente gratuito para uso en servidores con cPanel o DirectAdmin. Solo necesitas una licencia gratuita que se obtiene automáticamente durante la instalación.
¿CSF afecta al rendimiento del servidor?
En general, CSF tiene un impacto mínimo en el rendimiento. El firewall en sí no consume muchos recursos. Sin embargo, lfd (el daemon de detección) puede consumir algo de CPU cuando hay muchos eventos. Esto es normal y no debería notarse en la mayoría de los casos.
¿Puedo usar CSF en un servidor sin cPanel?
Sí, CSF funciona en cualquier servidor Linux, incluso sin panel de control. Solo necesitas instalarlo manualmente y configurarlo.
¿Qué diferencia hay entre CSF y APF (Advanced Policy Firewall)?
CSF es una evolución de APF. CSF incluye todas las funciones de APF más muchas más: detección de intrusiones, protección contra fuerza bruta, integración con cPanel, etc. Si tienes APF instalado, deberías migrar a CSF.
¿Con qué frecuencia debo revisar los logs de CSF?
Es recomendable revisar los logs al menos una vez al día, especialmente si tienes un servidor público. Puedes configurar alertas por correo para que CSF te avise automáticamente de eventos importantes.
¿CSF protege contra todos los ataques?
No, ningún firewall protege contra todo. CSF es una capa de seguridad importante, pero debes complementarlo con otras medidas: mantener el sistema actualizado, usar contraseñas fuertes, instalar un antivirus (como ClamAV) y hacer copias de seguridad periódicas.
¿Puedo tener CSF y otro firewall a la vez?
No es recomendable. Tener dos firewalls activos puede causar conflictos y problemas de rendimiento. CSF es suficiente para la mayoría de los casos.
¿Qué hago si CSF bloquea a un cliente importante?
Puedes añadir su IP a csf.allow para que nunca sea bloqueada. También puedes aumentar los límites de `
