🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo configurar un firewall básico con CSF en cPanel

Actualizado el 5 de febrero de 2026

¿Tu servidor con cPanel está expuesto a ataques constantes? ¿Ves intentos de acceso sospechosos en los logs y no sabes cómo frenarlos? Si tienes un VPS o un servidor dedicado, la seguridad es una responsabilidad tuya, no del proveedor de hosting. La buena noticia es que no necesitas ser un gurú de Linux para blindar tu máquina. Existe una herramienta gratuita, potente y relativamente sencilla de configurar: CSF (ConfigServer Security & Firewall).

En esta guía extensa, paso a paso, te voy a enseñar a configurar un firewall básico con CSF en cPanel, desde la instalación hasta el bloqueo de IPs maliciosas. Al final, tendrás tu servidor mucho más seguro y dormirás tranquilo.


¿Qué es CSF y por qué lo necesitas?

CSF es un firewall de nivel de aplicación, diseñado específicamente para servidores con paneles de control como cPanel, DirectAdmin o Syspanel. No es un simple cortafuegos; es un conjunto de herramientas que incluye:

  • Filtrado de puertos (permitir o denegar conexiones).
  • Detección de intrusiones (logra identificar patrones de ataque).
  • Bloqueo temporal y permanente de IPs.
  • Protección contra fuerza bruta (intentos repetidos de contraseña).

¿Por qué usarlo en cPanel? Porque cPanel abre muchos puertos por defecto (SSH, SMTP, POP3, etc.) y si no los controlas, dejas la puerta abierta a los ciberdelincuentes. El firewall csf te permite decidir quién entra y quién no.


Requisitos previos

Antes de empezar, asegúrate de tener:

  1. Acceso root (administrador total) al servidor vía SSH (terminal).
  2. cPanel instalado y funcionando (obviamente).
  3. Permisos de escritura en el directorio /etc/csf.
  4. Un cliente SSH como PuTTY (Windows) o la terminal nativa (Mac/Linux).

[WARNING]
Configurar un firewall puede dejarte fuera del servidor si bloqueas el puerto de SSH (normalmente el 22). Nunca cierres la sesión SSH actual hasta que verifiques que todo funciona y que el puerto 22 (o el tuyo personalizado) está abierto en la configuración.


Paso 1: Instalar CSF en cPanel

La instalación es un proceso de línea de comandos, pero muy sencillo. Solo tienes que copiar y pegar.

1.1 Accede por SSH

Conéctate a tu servidor como root:

ssh root@tu_servidor_ip

1.2 Descarga e instala

Ejecuta los siguientes comandos uno por uno. Primero, nos movemos al directorio temporal y descargamos el paquete:

cd /usr/src
wget https://download.configserver.com/csf.tgz

[INFO]
Si el enlace de descarga falla, ve a la web oficial de ConfigServer Services y busca el enlace actualizado.

Ahora descomprime el archivo:

tar -xzf csf.tgz

Entra en la carpeta extraída:

cd csf

Y ejecuta el instalador:

sh install.sh

El proceso tardará unos minutos. Verás un montón de texto en pantalla. Al final, debería aparecer un mensaje de éxito.

1.3 Verifica que el firewall esté activo

Para comprobar que se instaló correctamente, ejecuta:

csf -v

Si ves un número de versión, ya está listo. Ahora, para activarlo (por defecto se instala en modo de prueba), usa:

csf -e

[WARNING]
Al ejecutar csf -e, el firewall se enciende inmediatamente. Si no has configurado los puertos, podrías perder la conexión. No te preocupes, en el siguiente paso te enseño a abrir los puertos críticos. Si te quedas fuera, reinicia el servidor desde el panel de tu proveedor (VPS) y el firewall se desactivará.


Paso 2: Configuración básica del firewall csf

La configuración se realiza editando un archivo de texto. El principal es /etc/csf/csf.conf.

2.1 Abre el archivo de configuración

Usa un editor de texto como nano (el más fácil para principiantes):

nano /etc/csf/csf.conf

2.2 Configura la interfaz de red

Busca la línea que dice ETH_DEVICES. Esta línea le dice a CSF en qué interfaz de red debe escuchar. Normalmente es eth0 o ens3. Para descubrirlo, ejecuta ifconfig o ip addr en otra terminal. Una vez lo sepas, edítala así:

ETH_DEVICES = "eth0"

Si tienes varias, sepáralas con comas: "eth0,eth1".

2.3 Abre los puertos esenciales

Esta es la parte más importante. Busca la sección TCP_IN y TCP_OUT. Estas líneas definen qué puertos están abiertos para conexiones entrantes y salientes.

Para cPanel, la configuración mínima para entrada (TCP_IN) es:

TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2082,2083,2086,2087,2095,2096"

Para salida (TCP_OUT), normalmente se permite todo para que el servidor pueda actualizarse:

TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995,2082,2083,2086,2087,2095,2096"

[TIP]
Si usas Syspanel (HestiaCP) en lugar de cPanel, recuerda que el puerto de acceso es el 2106, así que deberás añadirlo a TCP_IN. Además, los puertos de cPanel (2082, 2083, etc.) no son necesarios.

2.4 Configura el puerto de SSH

Por seguridad, es recomendable cambiar el puerto SSH del 22 a otro número. Si ya lo has hecho, asegúrate de que ese puerto esté en TCP_IN. Si aún no lo has hecho, no lo hagas ahora; primero termina esta guía.

2.5 Guarda y aplica los cambios

Para guardar en nano, presiona CTRL + O, luego Enter, y para salir CTRL + X.

Ahora, para aplicar la nueva configuración sin reiniciar el servidor:

csf -r

Este comando reinicia el firewall y carga la nueva configuración.


Paso 3: Bloquear y desbloquear IPs

El verdadero poder de CSF radica en su capacidad para manejar IPs maliciosas. Aquí tienes los comandos básicos que debes conocer sí o sí.

3.1 Bloquear una IP manualmente

¿Ves una IP sospechosa en los logs? Bloquéala al instante:

csf -d 123.123.123.123

Esto añade la IP a la lista de denegados (/etc/csf/csf.deny).

3.2 Desbloquear una IP

Si te equivocaste o el ataque cesó:

csf -dr 123.123.123.123

3.3 Bloqueo temporal

A veces solo quieres bloquear a alguien por un rato. CSF permite bloquear por tiempo:

csf -td 123.123.123.123 3600

El número final son los segundos (3600 = 1 hora). Después de ese tiempo, la IP se desbloquea automáticamente.

3.4 Ver las IPs bloqueadas

Para ver la lista completa de IPs bloqueadas:

csf -l

[INFO]
Todos estos comandos funcionan también desde WHM (el panel de administración de cPanel), en la sección "ConfigServer Security&Firewall". Pero los comandos SSH son más rápidos.


Paso 4: Activar la protección contra fuerza bruta

CSF incluye un demonio llamado lfd (Login Failure Daemon) que vigila los logs del sistema y bloquea automáticamente las IPs que fallan demasiado en los intentos de acceso.

4.1 Activa el demonio

En el archivo csf.conf, busca la línea:

LF_DAEMON = "0"

Cámbiala a:

LF_DAEMON = "1"

4.2 Configura los límites

Justo debajo, verás opciones como:

  • LF_SSH_PERM: Número de intentos fallidos de SSH antes de bloquear. Pon 3.
  • LF_SSH_BLOCK_TIME: Tiempo de bloqueo en segundos. Pon 600 (10 minutos) para empezar.
  • LF_CPANEL_PERM: Intentos fallidos en el login de cPanel. Pon 5.

Guarda los cambios y reinicia CSF:

csf -r

Ahora, si alguien intenta adivinar tu contraseña 3 veces seguidas, su IP será bloqueada automáticamente durante 10 minutos. Esto disuade al 99% de los bots.


Paso 5: Configurar alertas por correo

¿Quieres saber cuándo se bloquea una IP? CSF puede enviarte un email.

Busca en csf.conf la línea:

LF_ALERT_TO = ""

Y pon tu correo electrónico entre comillas:

LF_ALERT_TO = "tu_correo@tudominio.com"

También puedes activar alertas para cambios en archivos críticos o inicios de sesión root. Explora las opciones LF_TRIGGER y LF_EMAIL_ALERT.


Paso 6: Pruebas y verificación

Después de tanta configuración, es hora de probar que todo funciona.

6.1 Verifica el estado

Ejecuta:

csf -s

Deberías ver una tabla con los puertos abiertos y el estado del firewall (activo).

6.2 Prueba desde fuera

Desde tu ordenador personal, intenta acceder a tu sitio web (puerto 80/443). Debería funcionar. Ahora intenta conectarte por FTP (puerto 21). También debería funcionar si lo tienes habilitado.

6.3 Prueba el bloqueo

Intenta conectarte por SSH con una contraseña incorrecta 4 veces seguidas. Al quinto intento, la conexión debería ser rechazada inmediatamente (timeout). Luego, revisa tu correo; deberías tener una alerta de CSF.


Solución de problemas comunes (FAQ)

P: Me he quedado fuera del servidor, ¿qué hago?

R: No entres en pánico. Reinicia el servidor desde el panel de control de tu proveedor de VPS (no desde cPanel). Esto apagará el firewall. Luego, revisa la configuración de TCP_IN y asegúrate de que el puerto 22 (o el tuyo) esté listado.

P: ¿Puedo usar CSF en Syspanel (HestiaCP)?

R: Sí, CSF es compatible con Syspanel. Solo recuerda que el puerto de acceso a Syspanel es el 2106, así que debes añadirlo a TCP_IN en csf.conf para no quedarte fuera del panel.

P: ¿CSF es gratuito?

R: Sí, la licencia es gratuita para uso personal y comercial en servidores con cPanel, DirectAdmin o Syspanel. Solo necesitas registrarte en su web para obtener una clave de licencia, pero la instalación que hicimos ya la incluye por defecto.

P: ¿Cada cuánto debo revisar los logs?

R: Te recomiendo revisar los logs de CSF (/var/log/lfd.log) al menos una vez a la semana. Ahí verás todos los intentos de intrusión bloqueados.

P: ¿Puedo bloquear un país entero?

R: Sí, CSF permite bloquear rangos de IPs de países completos mediante csf -a con archivos CIDR. Pero eso es una configuración avanzada que puede afectar el rendimiento de tu sitio si tienes visitas legítimas de ese país.


Conclusión: Tu servidor ahora es una fortaleza

Configurar un firewall básico con CSF en cPanel no es solo una tarea recomendada; es obligatoria si quieres mantener tu negocio en línea a salvo. Con los pasos que has seguido, ya has:

  1. Instalado CSF correctamente.
  2. Abierto solo los puertos necesarios.
  3. Configurado el bloqueo automático de IPs maliciosas.
  4. Aprendido a bloquear IPs manualmente.
  5. Configurado alertas por correo para estar al tanto.

La seguridad del servidor no es un destino, es un viaje continuo. Te sugiero que explores más opciones en el archivo csf.conf, como la integración con mod_security o la configuración de reglas personalizadas.

Pero con esta base, ya has cerrado el 80% de las vulnerabilidades más comunes. Tu servidor ahora es una fortaleza, y los atacantes tendrán que buscar un objetivo más fácil.


Glosario rápido

  • CSF: ConfigServer Security & Firewall.
  • IP: Dirección de protocolo de internet (identifica tu servidor).
  • Puerto: Canal de comunicación virtual (ej. 80 para web, 22 para SSH).
  • SSH: Protocolo de acceso remoto seguro.
  • Fuerza bruta: Ataque que consiste en probar muchas contraseñas hasta acertar.

Si tienes más dudas, no dudes en consultar la documentación oficial de ConfigServer Services o abrir un ticket de soporte con tu proveedor de hosting. ¡Buena suerte y a proteger ese servidor!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel