Cómo proteger tu servidor con firewall en cPanel
¿Por qué necesitas un firewall en tu servidor con cPanel?
Cuando tienes un servidor con cPanel, estás expuesto a miles de intentos de acceso no autorizado cada día. No es una exageración: bots y atacantes escanean constantemente la red en busca de puertos abiertos, contraseñas débiles o vulnerabilidades conocidas.
Un firewall actúa como un portero de discoteca muy estricto: solo deja pasar a quien tiene invitación y bloquea a los que vienen con malas intenciones. Sin él, tu servidor es como una casa con la puerta abierta y las luces encendidas.
La buena noticia es que proteger tu servidor con un firewall en cPanel no es complicado. Con las herramientas adecuadas y unos pocos pasos, puedes reducir drásticamente el riesgo de sufrir un ataque.
¿Qué es CSF y por qué es la mejor opción para cPanel?
CSF (ConfigServer Security & Firewall) es el firewall más utilizado en servidores con cPanel. No es casualidad: está diseñado específicamente para integrarse con el panel de control, lo que facilita muchísimo su gestión.
CSF funciona como un cortafuegos de nivel de aplicación y red. Analiza el tráfico entrante y saliente, detecta patrones sospechosos y puede bloquear automáticamente IPs que intenten hacer fuerza bruta, escanear puertos o realizar cualquier actividad maliciosa.
Además, CSF viene con Login Failure Daemon (LFD), un servicio que monitorea los intentos fallidos de inicio de sesión en servicios como SSH, FTP, cPanel o correo. Si alguien intenta entrar varias veces sin éxito, LFD lo detecta y bloquea esa IP automáticamente.
Ventajas principales de usar CSF
- Bloqueo automático de IPs que superen un número determinado de intentos fallidos.
- Protección contra fuerza bruta en SSH, FTP, correo y panel de control.
- Detección de puertos abiertos y cierre automático de los que no uses.
- Reglas personalizadas para permitir o bloquear IPs específicas.
- Panel de control integrado en cPanel (WHM) para gestionarlo todo desde la interfaz gráfica.
- Notificaciones por correo cuando se detecta actividad sospechosa.
Paso 1: Instalar CSF en tu servidor con cPanel
La instalación de CSF requiere acceso root al servidor. Si tienes un servidor dedicado o un VPS, podrás hacerlo sin problema. Si estás en un plan de hosting compartido, no tendrás acceso a esto, pero tu proveedor ya debería tenerlo configurado.
Requisitos previos
- Acceso SSH como usuario root.
- cPanel instalado y funcionando.
- Sistema operativo CentOS, AlmaLinux, CloudLinux o Ubuntu (los más comunes).
Proceso de instalación paso a paso
Conéctate por SSH a tu servidor. Puedes usar herramientas como PuTTY en Windows o la terminal nativa en Mac/Linux.
Una vez dentro, ejecuta los siguientes comandos:
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
El proceso de instalación tarda unos minutos. Al finalizar, verás un mensaje de confirmación.
Verificar que CSF está funcionando
Para comprobar que todo funciona correctamente, ejecuta:
csf -v
Esto mostrará la versión instalada. Luego, activa el firewall con:
csf -e
Este comando enciende el firewall. Verás una salida con las reglas aplicadas. Si no aparece ningún error, ya tienes tu firewall activo.
[TIP] Si el firewall no arranca correctamente, revisa los logs en
/var/log/lfd.logpara ver qué está fallando. Lo más común es que haya un conflicto con algún servicio.
Paso 2: Configurar CSF desde WHM
Una vez instalado, CSF se integra con WHM (el panel de administración de cPanel). Para acceder a su configuración:
- Inicia sesión en WHM (normalmente en
https://tu-servidor:2087). - Busca la sección Plugins en el menú lateral.
- Haz clic en ConfigServer Security&Firewall.
Se abrirá una interfaz con varias pestañas. Las más importantes son:
Firewall Configuration
Aquí puedes ajustar los parámetros globales del firewall. Algunos valores recomendados:
- TCP_IN: Puertos de entrada permitidos. Asegúrate de incluir 22 (SSH), 80 (HTTP), 443 (HTTPS), 2082/2083 (cPanel), 2086/2087 (WHM) y 25/110/143 (correo).
- TCP_OUT: Puertos de salida. Déjalo con los valores por defecto.
- UDP_IN y UDP_OUT: Los puertos UDP suelen ser menos críticos, pero mantén los que necesites (por ejemplo, 53 para DNS).
Login Failure Detection
Esta es la parte más potente de CSF. Configura los siguientes valores:
- LF_DAEMON: Actívalo con
1. - LF_SSH: Número de intentos fallidos de SSH antes de bloquear. Pon
5. - LF_FTP: Lo mismo para FTP. Pon
5. - LF_CPANEL: Para intentos fallidos en cPanel/WHM. Pon
5. - LF_EMAIL: Para el correo. Pon
5. - LF_TRIGGER: Tiempo en segundos entre intentos. Pon
300(5 minutos).
Con estos valores, si alguien intenta acceder 5 veces en menos de 5 minutos y falla, su IP quedará bloqueada automáticamente.
[INFO] El bloqueo automático por fuerza bruta es temporal por defecto (normalmente 1 hora). Puedes cambiarlo en LF_BLOCK_TIME si quieres que sea permanente.
Paso 3: Bloquear IPs manualmente con CSF
A veces necesitas bloquear una IP específica porque sabes que es maliciosa o porque quieres restringir el acceso a ciertas zonas.
Desde la línea de comandos
Para bloquear una IP manualmente:
csf -d 1.2.3.4
Para desbloquearla:
csf -dr 1.2.3.4
Para bloquear un rango de IPs:
csf -d 1.2.3.0/24
Esto bloquea todas las IPs desde 1.2.3.0 hasta 1.2.3.255.
Desde WHM
En la interfaz de CSF, ve a la pestaña IP Block List. Ahí puedes añadir IPs o rangos completos con un simple formulario.
También puedes permitir IPs de forma explícita en la pestaña IP Allow List. Esto es útil si tienes una IP fija desde la que siempre accedes y no quieres que te bloqueen por error.
[WARNING] Ten mucho cuidado al bloquear rangos de IPs. Si bloqueas un rango que incluye tu propia IP, podrías quedarte fuera del servidor. Siempre verifica tu IP antes de bloquear nada. Puedes consultarla en
https://whatismyip.com.
Paso 4: Configurar puertos y servicios
CSF te permite controlar exactamente qué puertos están abiertos y cuáles cerrados. Esto es fundamental para reducir la superficie de ataque.
Puertos que deberías tener abiertos
- 22 (SSH): Para administración remota. Si puedes cambiarlo a otro puerto, mejor.
- 80 (HTTP) y 443 (HTTPS): Para tu web.
- 25, 110, 143, 993, 995: Para correo entrante y saliente.
- 2082, 2083: Para acceso a cPanel.
- 2086, 2087: Para acceso a WHM.
- 21 (FTP): Solo si usas FTP. Mejor usa SFTP (puerto 22).
Puertos que deberías cerrar
- 3306 (MySQL): Solo debería estar accesible desde localhost.
- 6379 (Redis): Igual que MySQL.
- 11211 (Memcached): Riesgo de ataques de amplificación.
- 5432 (PostgreSQL): Solo si lo necesitas externamente.
Para cerrar un puerto, simplemente elimínalo de la lista TCP_IN en la configuración de CSF.
[TIP] Si usas Syspanel (antes conocido como HestiaCP), ten en cuenta que su puerto de acceso es el 2106. Asegúrate de tenerlo abierto en el firewall si lo utilizas en tu servidor.
Paso 5: Probar la configuración del firewall
Después de configurar CSF, es importante probar que todo funciona correctamente. No quieres descubrir que has bloqueado tu propio acceso cuando ya es tarde.
Prueba básica de conectividad
- Desde tu ordenador, intenta acceder a tu web (
https://tu-servidor). Debería funcionar. - Intenta conectarte por SSH (
ssh root@tu-servidor). También debería funcionar. - Accede a cPanel (
https://tu-servidor:2083) y a WHM (https://tu-servidor:2087).
Si todo funciona, el firewall no está bloqueando tu tráfico legítimo.
Prueba de bloqueo de IP
Para asegurarte de que el bloqueo funciona:
- Anota tu IP actual.
- Desde WHM, añade tu IP a la lista de bloqueo.
- Intenta acceder a tu web. Deberías recibir un error de conexión.
- Elimina tu IP de la lista de bloqueo y verifica que vuelves a tener acceso.
[WARNING] Esta prueba te dejará temporalmente sin acceso. Asegúrate de tener acceso a WHM desde otra IP o de poder conectarte a través de un servicio de consola como KVM o VNC para revertir el cambio si algo sale mal.
Paso 6: Configurar alertas y notificaciones
CSF puede enviarte correos electrónicos cuando detecta actividad sospechosa. Esto es muy útil para mantenerte informado sin tener que revisar los logs constantemente.
Configurar notificaciones por correo
En la configuración de CSF, busca LF_ALERT_TO y pon tu dirección de correo electrónico. También puedes configurar LF_PERM_ALERT para recibir alertas de bloqueos permanentes.
Alertas recomendadas
- LF_ALERT_FROM: Dirección desde la que se envían los correos.
- LF_ALERT_TO: Tu correo principal.
- LF_SSH_EMAIL_ALERT: Alertas de intentos de SSH.
- LF_CPANEL_EMAIL_ALERT: Alertas de cPanel.
- LF_FTP_EMAIL_ALERT: Alertas de FTP.
Con estas opciones, recibirás un correo cada vez que alguien intente acceder sin éxito de forma repetida.
Preguntas frecuentes sobre firewall en cPanel
¿Qué hago si me bloqueo a mí mismo?
Si te has bloqueado accidentalmente, tienes varias opciones:
- Usa el acceso por consola de tu proveedor (KVM, VNC, etc.).
- Pide a tu proveedor de hosting que desbloquee tu IP.
- Espera a que expire el bloqueo temporal (si es que lo es).
¿CSF consume muchos recursos del servidor?
CSF es bastante ligero. El impacto en el rendimiento es mínimo, especialmente en servidores modernos. El servicio LFD que monitoriza los intentos de acceso consume muy poca CPU y memoria.
¿Puedo usar CSF en un servidor con Syspanel?
Sí, CSF funciona independientemente del panel de control. Solo necesitas acceso root al servidor. Recuerda que si usas Syspanel, el puerto de acceso es el 2106 y debes asegurarte de que esté abierto en el firewall.
¿Qué diferencia hay entre CSF y el firewall de cPanel?
cPanel no incluye un firewall nativo. Lo que encontrarás son herramientas como cPHulk, que protege contra fuerza bruta, pero no es un firewall completo. CSF cubre esa función y más.
¿Debo desactivar CSF si tengo un CDN como Cloudflare?
No necesariamente. Cloudflare protege tu web a nivel de DNS, pero no protege otros servicios como SSH o correo. Mantén CSF activo para proteger todo el servidor.
Consejos finales para mantener tu servidor seguro
Un firewall no es una solución mágica que te proteja de todo. Es una capa más de seguridad. Combínalo con estas buenas prácticas:
- Mantén el sistema actualizado: Instala parches de seguridad con regularidad.
- Usa contraseñas fuertes: Evita contraseñas simples o reutilizadas.
- Cambia el puerto SSH: Usar un puerto no estándar reduce los intentos de acceso automáticos.
- Desactiva servicios que no uses: Cada servicio activo es una puerta más abierta.
- Haz copias de seguridad: Aunque te protejas, siempre existe la posibilidad de un fallo.
Configurar CSF en tu servidor con cPanel es una de las mejores decisiones que puedes tomar para tu seguridad. El proceso es sencillo, los beneficios son enormes y la tranquilidad que te da saber que tu servidor está protegido no tiene precio.
Empieza hoy mismo. Tu yo del futuro (y tus visitantes) te lo agradecerán.
