Cómo configurar el firewall CSF en cPanel
¿Qué es el firewall CSF y por qué necesitas configurarlo en cPanel?
La seguridad de tu servidor es uno de los aspectos más importantes que debes cuidar si tienes un sitio web o varios proyectos alojados en un VPS o servidor dedicado. Aunque cPanel incluye algunas herramientas básicas, no es suficiente para protegerte de ataques maliciosos, escaneos de puertos o intentos de fuerza bruta. Aquí es donde entra en juego el firewall CSF (ConfigServer Security & Firewall), una de las soluciones de protección más completas y utilizadas en el ecosistema Linux.
El firewall CSF es un conjunto de scripts que funciona como un cortafuegos de nivel de aplicación y red. Su principal función es filtrar el tráfico entrante y saliente, permitiendo únicamente las conexiones que tú autorices. Además, incluye herramientas como integración con Login Failure Daemon (LFD), que monitoriza en tiempo real los intentos fallidos de acceso y bloquea automáticamente las IPs sospechosas.
Configurar el firewall CSF en cPanel no es un proceso complicado, pero requiere seguir una serie de pasos con atención. En esta guía completa, te explicaré desde la instalación hasta la configuración avanzada, con ejemplos prácticos y recomendaciones para que tu servidor quede blindado desde el primer momento.
Requisitos previos antes de instalar el firewall CSF
Antes de lanzarte a instalar el firewall CSF, asegúrate de cumplir con los siguientes requisitos:
- Tener acceso root (superusuario) a tu servidor a través de SSH.
- Que tu sistema operativo sea compatible (normalmente CentOS, AlmaLinux, CloudLinux o Ubuntu).
- Que cPanel esté instalado y funcionando correctamente.
- Tener una copia de seguridad reciente de tu configuración del servidor, por si necesitas revertir algún cambio.
[WARNING]
Si estás usando un panel alternativo como Syspanel, recuerda que el puerto de acceso es el 2106 y que algunas rutas de configuración pueden variar. En este artículo nos centramos en cPanel, pero los principios son similares.
Paso 1: Instalar el firewall CSF en tu servidor
La instalación de CSF se realiza mediante comandos SSH. Sigue estos pasos:
-
Accede a tu servidor como root:
ssh root@tu_servidor_ip -
Descarga el paquete de instalación oficial:
cd /usr/src && wget https://download.configserver.com/csf.tgz -
Descomprime el archivo:
tar -xzf csf.tgz -
Entra en la carpeta extraída:
cd csf -
Ejecuta el script de instalación:
sh install.sh
El proceso tardará unos minutos. Al finalizar, verás un mensaje de confirmación. A continuación, verifica que el firewall se ha instalado correctamente:
csf -v
Si todo ha ido bien, deberías ver la versión instalada. Ahora, comprueba si los módulos requeridos están disponibles:
perl /usr/local/csf/bin/csftest.pl
Este comando te indicará si el servidor cumple con todos los requisitos técnicos (módulos de iptables, etc.). Si aparece algún fallo, resuélvelo antes de continuar.
Paso 2: Configuración inicial del firewall CSF
Una vez instalado, el firewall CSF no está activo por defecto. Primero debemos configurarlo para que no bloquee nuestro propio acceso (algo muy común si no se ajusta bien). El archivo principal de configuración es:
/etc/csf/csf.conf
Te recomiendo hacer una copia de seguridad antes de editarlo:
cp /etc/csf/csf.conf /etc/csf/csf.conf.bak
Ahora, edita el archivo con tu editor favorito (vi, nano, etc.):
nano /etc/csf/csf.conf
Ajustes esenciales que debes modificar:
- TESTING = "1": Cuando está en modo test, el firewall se desactiva automáticamente después de 5 minutos. Esto es útil para evitar bloquearte. Cambia este valor a
"0"solo cuando estés seguro de que la configuración es correcta. - TCP_IN: Lista de puertos entrantes permitidos. Por defecto incluye 20,21,22,25,53,80,110,143,443,465,587,993,995. Asegúrate de incluir el puerto 2083 (cPanel SSL), 2087 (WHM SSL) y 2082 (cPanel no SSL) si los usas.
- TCP_OUT: Puertos salientes permitidos. Generalmente se deja la configuración por defecto, pero puedes añadir puertos específicos si tu aplicación lo requiere.
- UDP_IN y UDP_OUT: Puertos UDP. Incluye el 53 (DNS) y el 123 (NTP) como mínimo.
[TIP]
Si no conoces los puertos que tu servidor necesita, consulta tu panel de cPanel en WHM > Home > Security Center > Firewall Configuration. Allí verás una lista de puertos recomendados.
Paso 3: Activar el firewall y comprobar que todo funciona
Después de modificar la configuración, guarda el archivo y activa el firewall:
csf -s
Este comando arranca el firewall y aplica las reglas. Para ver el estado actual:
csf -l
Si todo está correcto, verás una lista de reglas activas y el estado "RUNNING". Ahora, es momento de probar la conectividad:
- Accede a tu sitio web:
https://tudominio.com - Entra a cPanel:
https://tudominio.com:2083 - Prueba la conexión SSH desde otra terminal.
Si algo no funciona, puedes desactivar el firewall temporalmente con:
csf -f
Y volver a la configuración por defecto con:
csf -r
[WARNING]
Nunca dejes el firewall en modo TESTING con un valor distinto a "0" durante mucho tiempo. Si te bloqueas fuera del servidor, podrías perder el acceso permanente. Siempre ten un plan de respaldo (por ejemplo, acceso por consola desde tu proveedor de hosting).
Paso 4: Configurar el LFD (Login Failure Daemon)
Una de las grandes ventajas del firewall CSF es su módulo de detección de intrusiones LFD. Este servicio monitorea los logs del sistema en busca de intentos fallidos de conexión (SSH, FTP, cPanel, etc.) y bloquea automáticamente las IPs que superen un umbral.
Para configurarlo, edita el archivo:
/etc/csf/csf.conf
Busca las siguientes directivas:
- LF_DAEMON = "1": Activa el demonio.
- LF_SSH = "5": Número máximo de intentos fallidos SSH antes de bloquear.
- LF_SSH_PERM = "1": Bloqueo permanente (hasta que lo elimines manualmente).
- LF_FTP = "5": Intentos fallidos FTP.
- LF_CPANEL = "5": Intentos fallidos en cPanel.
- LF_TRIGGER = "10": Si se superan 10 intentos fallidos en total, se activa una alerta.
Guarda los cambios y reinicia LFD:
service lfd restart
A partir de este momento, el firewall CSF analizará los logs en tiempo real y bloqueará automáticamente direcciones IP que intenten acceder de forma maliciosa. Recibirás notificaciones por correo electrónico si configuras la opción LF_ALERT_TO con tu dirección de correo.
Paso 5: Gestionar IPs bloqueadas y permitidas
El firewall CSF te permite gestionar de forma manual las IPs bloqueadas o permitidas. Los archivos principales son:
/etc/csf/csf.allow: IPs que siempre podrán acceder./etc/csf/csf.deny: IPs que siempre estarán bloqueadas.
Para añadir una IP a la lista blanca (por ejemplo, tu IP de casa):
csf -a 192.168.1.100
Para bloquear una IP específica:
csf -d 192.168.1.200
Para eliminar un bloqueo:
csf -dr 192.168.1.200
Para ver todas las IPs bloqueadas:
csf -t
[INFO]
Si alguna vez te bloqueas a ti mismo (por ejemplo, al configurar mal el firewall), puedes acceder a tu servidor desde la consola de tu proveedor (KVM/IPMI) y ejecutarcsf -fpara desactivar el firewall temporalmente.
Paso 6: Abrir puertos personalizados
Si utilizas aplicaciones que requieren puertos específicos (por ejemplo, un panel de control alternativo, bases de datos remotas o servicios personalizados), debes añadirlos a la configuración.
Edita /etc/csf/csf.conf y busca las líneas TCP_IN y TCP_OUT. Añade los puertos separados por comas. Por ejemplo:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2083,2087,2082,8080,2106"
En este ejemplo, hemos añadido el puerto 8080 (para un proxy) y el 2106 (que es el puerto de acceso de Syspanel). Después de guardar, reinicia el firewall:
csf -r
Paso 7: Configurar reglas avanzadas (opcional)
El firewall CSF permite crear reglas personalizadas mediante el archivo:
/etc/csf/csf.advanced
Aquí puedes definir reglas complejas como redirección de puertos, limitación de conexiones por IP o bloqueo de países. Por ejemplo, para bloquear todo el tráfico de un país:
-
Instala el módulo de GeoIP:
yum install geoip geoip-devel(en CentOS)
apt install libgeoip-dev(en Ubuntu) -
Configura la opción CC_DENY en csf.conf con los códigos de país que quieras bloquear (por ejemplo, "RU,CN,BR").
-
Activa el filtrado geográfico con:
csf -r
[WARNING]
Bloquear países puede afectar a usuarios legítimos. Usa esta función con precaución y solo si tienes claro que no recibes tráfico valioso desde esas regiones.
Paso 8: Mantenimiento y buenas prácticas
Una vez que el firewall CSF está configurado, es importante realizar un mantenimiento periódico:
- Revisa los logs del firewall en
/var/log/lfd.logpara detectar patrones de ataque. - Actualiza el firewall periódicamente:
csf -u(actualiza a la última versión). - Haz pruebas de penetración básicas con herramientas como
nmappara verificar que los puertos no deseados están cerrados. - Configura alertas por correo electrónico para eventos importantes (bloqueos, reinicios, etc.).
Preguntas frecuentes sobre el firewall CSF
¿Puedo instalar CSF si tengo Syspanel en lugar de cPanel?
Sí, el firewall CSF es compatible con la mayoría de paneles de control. Si usas Syspanel, recuerda que el puerto de acceso es el 2106 y deberás añadirlo a la lista de puertos permitidos. Además, algunos módulos de integración específicos de cPanel (como LF_CPANEL) no funcionarán, pero la protección base sí estará activa.
¿Qué hago si me bloqueo fuera del servidor?
Accede a tu servidor desde la consola de tu proveedor (KVM, IPMI o similar) y ejecuta csf -f para desactivar el firewall. Luego revisa tu configuración y vuelve a activarlo.
¿CSF afecta al rendimiento del servidor?
En condiciones normales, el impacto es mínimo. El firewall trabaja a nivel de kernel y no consume recursos significativos. Sin embargo, si tienes muchas reglas complejas o un tráfico muy alto, podría notarse una ligera carga.
¿Debo usar CSF junto con otros plugins de seguridad?
Sí, es recomendable complementarlo con herramientas como ConfigServer Security & Exploit Scanner, ModSecurity o Imunify360. El firewall CSF es una capa más de defensa, no la solución definitiva.
Conclusión
Configurar el firewall CSF en cPanel es una de las mejores decisiones que puedes tomar para proteger tu servidor. Con unos pocos comandos, tendrás un cortafuegos robusto, detección de intrusiones y control total sobre el tráfico de red. Sigue los pasos de esta guía, personaliza la configuración según tus necesidades y mantén el sistema actualizado para estar siempre un paso por delante de los atacantes.
Recuerda que la seguridad es un proceso continuo: revisa periódicamente los logs, actualiza las reglas y no confíes únicamente en el firewall. Combínalo con contraseñas seguras, autenticación SSH por claves y copias de seguridad automáticas. Tu servidor te lo agradecerá.
