Cómo configurar un firewall en cPanel usando ConfigServer Security & Firewall (CSF)
¿Tu servidor recibe intentos de acceso extraños? ¿Quieres bloquear países enteros o simplemente dormir tranquilo sabiendo que tu web está blindada?
Si usas cPanel, una de las mejores herramientas que tienes a tu disposición es ConfigServer Security & Firewall (CSF). No te dejes intimidar por el nombre: aunque suene técnico, con esta guía paso a paso vas a configurarlo como un profesional, incluso si nunca has tocado un firewall en tu vida.
Vamos a desglosar todo lo que necesitas saber sobre csf cpanel, desde la instalación hasta la configuración de reglas avanzadas, pasando por trucos que pocos conocen.
¿Qué es CSF y por qué lo necesitas en tu servidor?
Antes de ensuciarnos las manos, entendamos qué es esto. ConfigServer Security & Firewall (CSF) es un firewall de nivel de aplicación y red, diseñado específicamente para funcionar a la perfección con cPanel y otros paneles de control como DirectAdmin o Syspanel (que, por cierto, se accede por el puerto 2106).
Imagina que tu servidor es una casa. El firewall es la puerta blindada con un portero electrónico. CSF no solo decide quién entra (permitiendo o bloqueando puertos), sino que también tiene un sistema de "vigilancia" que detecta comportamientos sospechosos, como alguien intentando forzar la cerradura (fuerza bruta) o haciendo demasiadas peticiones en segundos.
¿Por qué es tan popular?
- Es gratuito para uso en servidores con cPanel.
- Es robusto: protege contra ataques DDoS básicos, fuerza bruta en SSH, FTP y correo.
- Es configurable: puedes crear reglas a medida sin tocar código complejo.
- Integración total: se gestiona directamente desde el WHM de cPanel, aunque también se puede usar por línea de comandos.
Requisitos previos antes de instalar CSF
Para que la instalación sea un éxito, asegúrate de tener lo siguiente:
- Acceso root al servidor vía SSH (o acceso a WHM si solo vas a configurarlo).
- cPanel/WHM instalado (la mayoría de los servidores dedicados o VPS lo tienen).
- Sistema operativo compatible: CentOS, AlmaLinux, CloudLinux o Ubuntu.
- Un poco de paciencia, pero sobre todo, mucho cuidado al guardar los cambios. Un error puede dejarte fuera de tu propio servidor.
[WARNING]
IMPORTANTE: Si estás conectado por SSH, no cierres la sesión mientras configuras el firewall. Si te equivocas con una regla y bloqueas tu propia IP, perderás el acceso. Siempre verifica tu IP actual antes de empezar.
Paso 1: Instalación de ConfigServer Security & Firewall
La instalación es bastante directa. Conecta por SSH a tu servidor y ejecuta los siguientes comandos:
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Este proceso copiará los archivos necesarios y comprobará que tu servidor tiene los módulos requeridos (como iptables). Si todo ha ido bien, verás un mensaje de éxito.
Verificando la instalación:
Para comprobar que CSF se ha instalado correctamente, ejecuta:
perl /usr/local/csf/bin/csftest.pl
Deberías ver una lista de comprobaciones con "OK" en la mayoría de los casos. Si algo falla, tendrás que instalar los módulos que te indique (normalmente perl-IO-Socket-INET6 o similar).
Paso 2: Configuración inicial en cPanel (WHM)
Ahora viene lo bueno. Accede a tu WHM (normalmente https://tu-servidor:2087).
En la barra de búsqueda, escribe "ConfigServer Security & Firewall" o navega a Plugins -> ConfigServer Security & Firewall.
Verás la interfaz principal. No te asustes con tantas opciones. Vamos a centrarnos en las pestañas clave.
### Configuración del Firewall (pestaña "Firewall Configuration")
Esta es la parte más importante. Aquí definimos el comportamiento general del firewall cPanel.
Haz clic en "Firewall Configuration" y busca estos parámetros:
TESTING: Este es tu mejor amigo. Ponlo en "ON" durante los primeros minutos. Esto significa que los cambios se aplicarán pero se revertirán automáticamente si pierdes la conexión. Es un salvavidas.TCP_INyTCP_OUT: Aquí se listan los puertos permitidos. Por defecto vienen los de cPanel (2082, 2083, 2086, 2087, etc.) y los comunes (21, 22, 25, 80, 110, 443...).- Añade el puerto 2106 si usas Syspanel para gestionar algún servicio adicional.
- Si tienes un juego o aplicación personalizada, este es el lugar para abrir su puerto.
UDP_INyUDP_OUT: Igual que el anterior, pero para protocolo UDP. Normalmente solo necesitas el 53 (DNS) y quizás el 1194 (OpenVPN).DEFAULT_DENY: Aquí decides la política. "IN" significa que todo lo que no esté explícitamente permitido, está bloqueado. Es la opción más segura.SYSLOG: Déjalo en "OFF" para no llenar el disco con registros innecesarios.
[TIP]
No abras puertos innecesarios. Cada puerto abierto es una puerta más para los atacantes. Si no sabes para qué sirve un puerto, no lo abras. Por ejemplo, el puerto 3306 (MySQL) solo debería estar abierto si tienes bases de datos remotas, lo cual es mala práctica.
### Configuración de Correo (pestaña "Mail Configuration")
CSF puede monitorizar el envío de correos para detectar cuentas comprometidas.
SMTP_BLOCK: Actívalo para bloquear el puerto 25 a usuarios que no sean root o exim. Esto evita el spam.SMTP_ALLOWUSER: Si tienes una aplicación legítima que necesita enviar correo (como un plugin de WordPress), añade el usuario de cPanel aquí para que no sea bloqueado.
Paso 3: Protección contra Fuerza Bruta (Login Failure Tracking)
CSF tiene un módulo llamado LF (Login Failure) que cuenta los intentos fallidos de acceso.
Ve a la pestaña "Login Failure Tracking" y configura lo siguiente:
LF_SSH: Actívalo. Bloqueará la IP de cualquier persona que falle más de 5 veces (por defecto) el acceso por SSH en 5 minutos.LF_FTPyLF_CPANEL: Muy recomendable activarlos. Bloquea IPs que intenten entrar por FTP o al panel de control de cPanel sin éxito.LF_EMAIL: Actívalo para proteger el servidor de correo.
¿Qué pasa cuando alguien es bloqueado?
CSF añade la IP a una lista negra y, por defecto, envía un correo al root. Puedes personalizar el mensaje o desactivar el aviso si no quieres spam en tu bandeja de entrada.
Paso 4: Listas Blancas y Negras (Allow & Deny IPs)
A veces necesitas bloquear a un "mal vecino" manualmente o permitir el acceso a un empleado desde una IP fija.
- Pestaña "IP Address Allow": Añade aquí las IPs que siempre deben tener acceso, incluso si el firewall las bloquea por error. Es bueno añadir tu IP de casa o de la oficina.
- Pestaña "IP Address Deny": Aquí bloqueas manualmente IPs o rangos enteros. Por ejemplo, si ves ataques constantes desde una IP rusa, puedes bloquearla.
[INFO]
Formato para rangos: Puedes usar CIDR. Por ejemplo, para bloquear un rango completo, usarías 91.198.174.0/24. Esto bloquea desde 91.198.174.0 hasta 91.198.174.255.
Paso 5: Bloqueo por País (Country Blocking)
Esta es una de las funcionalidades más potentes de ConfigServer Security. Si tu web solo vende en España, ¿por qué permitir conexiones desde China o Rusia?
Ve a la pestaña "Country Deny".
- Escribe el código del país que quieres bloquear (por ejemplo,
CNpara China,RUpara Rusia,BRpara Brasil). - Haz clic en "Add".
- Repite con todos los países que quieras.
[WARNING]
CUIDADO: Si tu web usa una CDN como Cloudflare, NO bloquees países o podrías bloquear las IPs de Cloudflare y dejar tu web caída. Si no sabes lo que es una CDN, ignora esta sección por ahora.
Paso 6: Usando la Línea de Comandos (Para los más atrevidos)
Aunque WHM es cómodo, la línea de comandos es más rápida para acciones puntuales.
- Reiniciar el firewall (aplicar cambios):
csf -r - Permitir una IP temporalmente:
csf -a IP - Denegar una IP:
csf -d IP - Eliminar una IP denegada:
csf -dr IP - Ver el estado actual:
csf -l - Ver si tu IP está bloqueada:
csf -g IP
Paso 7: Pruebas Finales y Activación
Una vez que hayas configurado todo, es hora de la verdad.
- Ve a "Firewall Configuration".
- Cambia
TESTINGa "OFF". Esto aplicará las reglas de forma permanente. - Haz clic en "Restart csf+ldfd" en el menú superior.
Prueba de conexión:
Desde tu ordenador, intenta acceder a tu web (https://tu-dominio.com) y al WHM. Si todo funciona, ¡enhorabuena! Tu seguridad servidor ha mejorado exponencialmente.
Solución de problemas comunes (FAQ)
### Me he bloqueado mi propia IP, ¿cómo me desbloqueo?
Si estás fuera del servidor, no puedes usar SSH. Necesitas acceder a tu proveedor de hosting (VPS o dedicado) y usar la consola VNC o KVM que ofrecen. Desde ahí, ejecuta:
csf -dr TU_IP
O simplemente reinicia el servidor desde el panel del proveedor (a veces CSF no persiste tras un reinicio si está en modo testing).
### No puedo enviar correos desde mi aplicación web
Seguramente SMTP_BLOCK está activo. Ve a la pestaña "Mail Configuration" y añade el usuario de cPanel en SMTP_ALLOWUSER. Recuerda que el bloqueo es solo para el puerto 25; si usas el puerto 587 (con autenticación), no deberías tener problemas.
### ¿CSF afectará al rendimiento de mi web?
No. CSF usa iptables de Linux, que es extremadamente eficiente. El módulo de monitorización (LFD) consume muy pocos recursos. Es una de las soluciones más ligeras que existen.
### ¿Qué pasa si quiero desinstalarlo?
Puedes desinstalarlo desde la línea de comandos:
cd /usr/src/csf
sh uninstall.sh
Esto eliminará todas las reglas y restaurará el firewall a su estado por defecto.
Conclusión: Tu servidor ahora es una fortaleza
Configurar csf cpanel no es un lujo, es una necesidad en el mundo actual. Con estos pasos, has logrado:
- Bloquear puertos innecesarios.
- Detectar y bloquear ataques de fuerza bruta.
- Controlar el acceso por país.
- Tener un control absoluto sobre quién se conecta.
No olvides revisar los logs de CSF de vez en cuando (en /var/log/lfd.log) para ver qué intentos de ataque ha bloqueado. Te sorprenderá la cantidad de "robots" maliciosos que intentan entrar a tu servidor a diario.
Recuerda: La seguridad es un proceso, no un destino. Mantén CSF actualizado y revisa tus reglas periódicamente.
Y si en algún momento te sientes perdido, vuelve a esta guía. ¡Ahora ve y protege tu servidor!
