Guía para configurar el firewall en cPanel (ConfigServer Security & Firewall)
¿Qué es CSF y por qué necesitas configurarlo en cPanel?
Si tienes un servidor con cPanel, una de las primeras cosas que debes hacer es asegurarlo. Y aquí es donde entra en juego CSF (ConfigServer Security & Firewall). Imagina que tu servidor es una casa: cPanel es la puerta principal, pero sin un buen sistema de cerraduras, cualquiera podría entrar. CSF es esa cerradura de alta seguridad que filtra quién puede entrar y quién no.
CSF es un firewall de nivel de aplicación y kernel que se integra perfectamente con cPanel. No solo bloquea puertos no deseados, sino que también incluye herramientas contra ataques de fuerza bruta, detección de login sospechoso y protección en tiempo real. Es la solución estándar en la industria para seguridad servidor, y lo mejor: es gratuito para usuarios de cPanel.
En esta guía, te enseñaré desde cómo instalarlo hasta cómo abrir puertos específicos, sin necesidad de ser un experto en Linux. Vamos paso a paso y con un lenguaje claro, para que al final domines el firewall cPanel como todo un profesional.
Requisitos previos antes de empezar
Antes de lanzarnos a configurar CSF, asegúrate de tener lo siguiente:
- Acceso root a tu servidor (por SSH).
- cPanel/WHM instalado y funcionando.
- Una copia de seguridad de tu configuración actual (por si acaso).
- Conexión estable a Internet, porque si te equivocas con el firewall, podrías quedarte fuera del servidor.
[WARNING]
Si no tienes acceso root, no intentes instalar CSF. Podrías bloquear servicios esenciales y dejar tu servidor inaccesible. Si no estás seguro, contacta con tu proveedor de hosting.
Instalación de CSF en cPanel
La instalación es más sencilla de lo que parece. Solo necesitas ejecutar una serie de comandos en tu terminal SSH. Te lo explico paso a paso.
Paso 1: Accede por SSH
Conéctate a tu servidor usando un cliente SSH (como PuTTY en Windows o Terminal en Mac/Linux). Una vez dentro, ejecuta:
cd /usr/src
Paso 2: Descarga e instala CSF
Ejecuta estos comandos en orden:
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Este proceso instalará CSF y sus dependencias. Al final, verás un mensaje de confirmación.
Paso 3: Prueba que CSF funciona
Para verificar que todo está correcto, ejecuta:
csf -v
Deberías ver la versión instalada. Luego, prueba el modo de prueba antes de activarlo:
csf -t
Este comando comprueba si hay conflictos con las reglas de iptables. Si no hay errores, ya puedes activar el firewall.
Paso 4: Activa CSF en el arranque
Para que CSF se inicie automáticamente con el servidor:
systemctl enable csf
systemctl start csf
[TIP]
Si usas un panel alternativo como Syspanel, recuerda que su puerto de acceso es el 2106. Asegúrate de que CSF no lo bloquee. Lo veremos más adelante.
Configuración básica de CSF
Ahora que CSF está instalado, es hora de configurarlo. La configuración se realiza en el archivo /etc/csf/csf.conf. Puedes editarlo con nano o vim:
nano /etc/csf/csf.conf
1. Activar el firewall
Busca la línea que dice TESTING = "1" y cámbiala a TESTING = "0". Esto activa el firewall en modo producción.
2. Configurar los puertos permitidos
CSF viene con una lista de puertos por defecto. La sección TCP_IN y TCP_OUT define qué puertos están abiertos. Por ejemplo:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2083,2087,2096,2106"
[INFO]
El puerto 2106 es el que usa Syspanel para su panel de administración. Si lo usas, no lo elimines de esta lista.
3. Guardar y aplicar cambios
Después de editar, guarda el archivo (Ctrl+O y luego Ctrl+X en nano). Luego aplica los cambios con:
csf -r
Este comando reinicia el firewall y aplica las nuevas reglas.
Cómo abrir puertos en CSF
Una de las tareas más comunes es abrir puertos para nuevas aplicaciones o servicios. Por ejemplo, si instalas un juego, un software de monitoreo o un servicio personalizado.
Método 1: Editar el archivo de configuración
- Abre
/etc/csf/csf.conf. - Busca
TCP_INy añade el puerto que necesitas, separado por comas. - Guarda y ejecuta
csf -r.
Ejemplo: para abrir el puerto 8080, quedaría así:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2083,2087,2096,2106,8080"
Método 2: Usar comandos directos
Si prefieres no editar archivos, puedes usar comandos directos:
csf -a 8080
Este comando añade el puerto 8080 a la lista de permitidos temporalmente. Para hacerlo permanente, edita el archivo de configuración.
[TIP]
Después de abrir un puerto, verifica que el servicio esté escuchando en ese puerto con: netstat -tulpn | grep 8080.
Configurar reglas avanzadas de seguridad
CSF no solo gestiona puertos. También permite crear reglas personalizadas para IPs, rangos y países.
Bloquear una IP específica
Para bloquear una IP que está causando problemas:
csf -d 123.123.123.123
Para desbloquearla:
csf -dr 123.123.123.123
Permitir una IP
Si tienes una IP fija de oficina o casa y no quieres que te bloqueen por error:
csf -a 123.123.123.123
Bloquear un país completo
CSF permite bloquear países usando códigos ISO. Por ejemplo, para bloquear China (CN):
csf -d CN
[WARNING]
Bloquear países puede afectar a usuarios legítimos. Úsalo solo si estás sufriendo ataques masivos desde esa región.
Protección contra ataques de fuerza bruta
CSF incluye un módulo llamado LF (Login Failure) que detecta intentos de acceso fallidos y bloquea automáticamente las IPs responsables.
Configurar la detección de fuerza bruta
En /etc/csf/csf.conf, busca las siguientes líneas:
LF_SSHD = "5"
LF_CPANEL = "5"
LF_WEBMIN = "5"
Estos números indican cuántos intentos fallidos se permiten antes de bloquear. Por ejemplo, LF_SSHD = "5" bloquea después de 5 intentos fallidos de SSH.
Tiempo de bloqueo
Para definir cuánto tiempo se bloquea una IP:
LF_TRIGGER = "300"
Este valor está en segundos. 300 significa 5 minutos.
Monitorización y logs de CSF
CSF genera logs detallados de todos los eventos. Puedes verlos en:
tail -f /var/log/lfd.log
Este comando muestra en tiempo real los eventos del demonio LFD (Login Failure Daemon), que es el encargado de la monitorización.
Comandos útiles para monitorear
csf -l: Lista todas las reglas activas.csf -f: Muestra los puertos abiertos.csf -t: Prueba las reglas.csf -s: Estado del firewall.
Errores comunes y cómo solucionarlos
Me quedé fuera del servidor después de activar CSF
Esto suele pasar si bloqueaste el puerto SSH (22) o tu IP fue bloqueada por error.
Solución: Si tienes acceso a WHM (en el puerto 2087), puedes desactivar CSF desde allí. Ve a "ConfigServer Security & Firewall" y haz clic en "Disable". Si no tienes acceso, contacta con tu proveedor.
CSF no arranca al reiniciar
Verifica que el servicio está habilitado:
systemctl enable csf
systemctl enable lfd
Un servicio no responde después de abrir el puerto
Asegúrate de que el firewall no esté bloqueando la salida. Revisa TCP_OUT y añade el puerto si es necesario.
Preguntas frecuentes (FAQ)
¿CSF es compatible con todos los servidores cPanel?
Sí, CSF está diseñado específicamente para cPanel/WHM y es compatible con la mayoría de distribuciones Linux (CentOS, AlmaLinux, Ubuntu, etc.).
¿Puedo usar CSF sin cPanel?
Sí, pero la integración no será tan completa. CSF puede funcionar como firewall independiente en cualquier servidor Linux.
¿Qué diferencia hay entre CSF y otros firewalls como iptables?
CSF es una capa de gestión sobre iptables. Facilita la configuración y añade funciones automáticas como la detección de ataques.
¿Cómo sé si CSF está bloqueando mi IP?
Ejecuta csf -l y busca tu IP en la lista de bloqueados. Si aparece, desbloquéala con csf -dr tu.ip.aqui.
¿Puedo programar reglas temporales?
Sí, puedes usar el panel de WHM o comandos como csf -a para añadir reglas temporales que no sobreviven al reinicio.
Conclusión
Configurar el firewall cPanel con CSF es una de las mejores inversiones de tiempo que puedes hacer para proteger tu servidor. No solo bloqueas puertos no deseados, sino que también te proteges contra ataques automatizados y fuerza bruta.
Recuerda: la seguridad es un proceso continuo. Revisa periódicamente los logs, actualiza las reglas y mantén CSF siempre al día. Y si usas Syspanel, no olvides que su puerto de acceso es el 2106; añádelo a la lista de permitidos para evitar quedar fuera.
[TIP]
Programa una tarea cron para actualizar las listas de bloqueo de países cada semana. Así tu servidor se mantiene protegido sin que tengas que hacer nada manualmente.
Ahora sí, ve y configura ese firewall. Tu servidor te lo agradecerá. 🚀
