Guía para configurar un firewall en cPanel con ConfigServer Security & Firewall (CSF)
Introducción: ¿Por qué tu servidor necesita un firewall?
Si tienes un sitio web alojado en un servidor con cPanel, la seguridad no es un lujo, es una necesidad. Cada día, miles de bots y atacantes intentan explotar vulnerabilidades, realizar ataques de fuerza bruta o simplemente buscar puertos abiertos para colarse en tu sistema. Un firewall es tu primera línea de defensa, y ConfigServer Security & Firewall (CSF) es una de las herramientas más potentes y populares para proteger servidores Linux con cPanel.
CSF no solo bloquea tráfico no deseado, sino que también te permite gestionar reglas de firewall, detectar inicios de sesión sospechosos y proteger servicios críticos como SSH, FTP o el propio panel de control. En esta guía extensa, aprenderás desde cero cómo instalar, configurar y optimizar CSF para tu servidor, todo explicado paso a paso y en un lenguaje sencillo.
¿Qué es ConfigServer Security & Firewall (CSF)?
CSF es un firewall de nivel de aplicación y kernel diseñado específicamente para servidores Linux. Funciona como un frontend para iptables (el sistema de firewall nativo de Linux) y añade funcionalidades avanzadas como:
- Bloqueo de ataques de fuerza bruta (SSH, FTP, cPanel, etc.).
- Detección de conexiones sospechosas mediante el servicio
lfd(Login Failure Daemon). - Gestión visual de reglas desde la interfaz de cPanel (WHM).
- Protección contra DDoS básica.
- Listas de control de acceso (whitelist/blacklist) por IP, país o rango.
- Integración con servicios como Apache, Nginx, MySQL y más.
Es compatible con la mayoría de distribuciones Linux (CentOS, AlmaLinux, Rocky Linux, Ubuntu, Debian) y se integra perfectamente con cPanel y también con paneles como Syspanel (antes HestiaCP, cuyo puerto de acceso es el 2106).
Requisitos previos antes de instalar CSF
Antes de empezar, asegúrate de tener lo siguiente:
- Acceso root al servidor (vía SSH).
- cPanel instalado y funcionando (o un panel compatible como Syspanel).
- Conexión estable a Internet.
- Conocimientos básicos de comandos Linux (navegar por directorios, ejecutar comandos con sudo).
- Tener abiertos los puertos necesarios (por ejemplo, 80 para HTTP, 443 para HTTPS, 21 para FTP, 2082/2083 para cPanel, etc.). Si bloqueas tu propio acceso, podrías quedar fuera del servidor.
[WARNING] Antes de instalar CSF, asegúrate de tener acceso físico o remoto alternativo al servidor (por ejemplo, IPMI o consola KVM) por si bloqueas accidentalmente tu IP.
Paso 1: Instalar CSF en cPanel
La instalación de CSF es muy sencilla. Solo necesitas ejecutar unos pocos comandos en tu terminal SSH.
1.1. Conéctate por SSH
Accede a tu servidor con un usuario con privilegios root:
ssh root@tu-servidor.com
1.2. Descarga e instala 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
El script de instalación comprobará las dependencias, configurará los módulos del kernel y te preguntará si deseas iniciar CSF automáticamente. Responde y para que arranque con el sistema.
1.3. Verifica que CSF funcione
Una vez instalado, ejecuta:
csf -v
Deberías ver la versión instalada. Luego, activa el firewall:
csf -e
Este comando habilita CSF en modo enforcing (activo). Si ves algún error, revisa los logs en /var/log/lfd.log.
[TIP] Si durante la instalación aparece un error relacionado con
iptables, asegúrate de que el móduloip_tablesesté cargado. Puedes hacerlo con:modprobe ip_tables.
Paso 2: Configuración básica de CSF
Una vez instalado, es hora de personalizar CSF para tu servidor. La configuración se encuentra en el archivo /etc/csf/csf.conf. Puedes editarlo con nano o vim.
2.1. Abre el archivo de configuración
nano /etc/csf/csf.conf
2.2. Configura los puertos abiertos
Busca la línea TCP_IN = "..." y TCP_OUT = "...". Aquí defines qué puertos entrantes y salientes estarán permitidos. Un ejemplo típico para servidores web con cPanel:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2077,2078,2082,2083,2086,2087,2095,2096,3306,8080,8443"
TCP_OUT = "20,21,22,25,37,43,53,80,110,113,143,443,465,587,993,995,2077,2078,2082,2083,2086,2087,2095,2096,3306,8080,8443"
Si usas Syspanel (HestiaCP), recuerda añadir el puerto 2106 tanto en TCP_IN como en TCP_OUT.
2.3. Configura la detección de ataques (lfd)
CSF incluye un demonio llamado lfd que monitorea logs en busca de intentos de ataque. Busca las siguientes líneas y ajústalas según tu necesidad:
LF_SSHD = 5→ Bloquea IP tras 5 intentos fallidos de SSH.LF_FTPD = 10→ Bloquea IP tras 10 intentos fallidos de FTP.LF_CPANEL = 5→ Bloquea IP tras 5 intentos fallidos en cPanel.LF_WEBMIN = 5→ Si usas Webmin.LF_SYSLOG = 10→ Para ataques genéricos.
También puedes habilitar la detección de ataques de fuerza bruta en Syspanel añadiendo:
LF_CUSTOM = "1"
Y luego editar el archivo /etc/csf/csf.deny para añadir reglas personalizadas.
2.4. Guarda los cambios y reinicia CSF
Después de editar, guarda el archivo (Ctrl+O, luego Ctrl+X en nano) y reinicia CSF:
csf -r
Esto aplicará la nueva configuración.
Paso 3: Gestionar CSF desde WHM (cPanel)
Una de las ventajas de CSF es su integración visual con WHM. Puedes administrar reglas, listas blancas/negras y ver estadísticas desde la interfaz web.
3.1. Accede a CSF en WHM
- Inicia sesión en WHM (https://tu-servidor.com:2087).
- Busca "ConfigServer Security & Firewall" en el buscador o navega a: Plugins > ConfigServer Security & Firewall.
Desde aquí podrás:
- Ver el estado del firewall (encendido/apagado).
- Gestionar reglas de denegación y permitido.
- Ver estadísticas de tráfico (puertos más usados, IPs bloqueadas, etc.).
- Configurar el demonio lfd.
- Realizar pruebas de conectividad.
3.2. Agregar una IP a la lista blanca (whitelist)
Si necesitas que una IP específica (por ejemplo, la de tu oficina) nunca sea bloqueada:
- En WHM, ve a ConfigServer Security & Firewall > Firewall Allow IPs.
- Introduce la IP y haz clic en Add.
También puedes hacerlo por línea de comandos:
csf -a 192.168.1.100
3.3. Bloquear una IP manualmente
Si detectas tráfico malicioso, puedes bloquear una IP al instante:
csf -d 203.0.113.50
O desde WHM en Firewall Deny IPs.
[INFO] Las IPs bloqueadas se almacenan en
/etc/csf/csf.deny. Puedes editarlo manualmente para añadir múltiples IPs o rangos.
Paso 4: Protección avanzada con CSF
CSF ofrece características adicionales para reforzar la seguridad.
4.1. Bloqueo por país (GeoIP)
Si tu sitio solo recibe visitas de ciertos países, puedes bloquear el resto. Para ello:
- Instala el módulo GeoIP:
yum install GeoIP GeoIP-data(en CentOS/AlmaLinux). - En
/etc/csf/csf.conf, buscaCC_DENYy escribe los códigos de país que quieras bloquear (ej:CC_DENY = "CN,RU,IR"). - Guarda y reinicia CSF.
4.2. Protección contra DDoS
CSF incluye reglas para mitigar ataques DDoS básicos. En el archivo de configuración, busca PORTFLOOD y define límites por puerto. Por ejemplo:
PORTFLOOD = "80;tcp;100;5"
Esto significa: permitir máximo 100 conexiones por IP al puerto 80 en 5 segundos; si se excede, la IP se bloquea.
4.3. Monitoreo de procesos sospechosos
El demonio lfd también puede monitorear procesos en ejecución. En csf.conf, busca PT_USERMEM y establece un límite de memoria por usuario (en KB). Si un proceso excede ese límite, se notifica o se mata automáticamente.
Paso 5: Solución de problemas comunes (FAQ)
¿CSF bloqueó mi IP por error?
Si te quedas fuera del servidor, usa la consola remota (IPMI/KVM) o pide a tu proveedor de hosting que desbloquee tu IP. Luego, añádela a la lista blanca.
¿Cómo desactivar CSF temporalmente?
csf -x
Para volver a activarlo: csf -e.
¿Puedo usar CSF con Syspanel (HestiaCP)?
Sí, CSF es compatible con Syspanel. Solo asegúrate de que el puerto 2106 esté abierto en la configuración de CSF.
¿CSF afecta el rendimiento del servidor?
No de forma significativa. CSF es ligero y está optimizado para servidores con cPanel. El demonio lfd consume pocos recursos.
¿Cómo veo los logs de CSF?
Los logs principales están en:
/var/log/lfd.log(actividad del demonio)./var/log/messages(eventos del sistema)./etc/csf/csf.deny(IPs bloqueadas).
¿Cada cuánto debo actualizar CSF?
CSF se actualiza automáticamente si tienes habilitada la opción en csf.conf (AUTO_UPDATES = "1"). También puedes actualizar manualmente con csf -u.
Conclusión: Tu servidor ahora está más seguro
Configurar un firewall con CSF en cPanel es una de las mejores decisiones que puedes tomar para proteger tu servidor. No solo bloqueas ataques automáticos, sino que también tienes control total sobre quién y cómo accede a tus servicios. Recuerda:
- Prueba siempre los cambios en un entorno de desarrollo si es posible.
- Mantén CSF actualizado para protegerte de nuevas vulnerabilidades.
- Combínalo con otras medidas como SSL, actualizaciones periódicas y copias de seguridad.
Ahora ya tienes las herramientas para blindar tu servidor. ¡Ponte manos a la obra y navega tranquilo!
[TIP] Si usas Syspanel (HestiaCP), no olvides abrir el puerto 2106 en CSF para que el panel funcione correctamente.
