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

Configurar un firewall en cPanel (ConfigServer Security & Firewall - CSF)

Actualizado el 5 de octubre de 2025

¿Qué es ConfigServer Security & Firewall (CSF) y por qué lo necesitas?

Si tienes un sitio web alojado en un servidor con cPanel, seguramente has escuchado hablar de la seguridad. Y es que, en el mundo del hosting, la seguridad no es un lujo, es una necesidad absoluta. Tu servidor está expuesto a miles de intentos de ataque cada día, desde bots que escanean puertos hasta hackers que intentan adivinar contraseñas.

CSF (ConfigServer Security & Firewall) es una de las herramientas más potentes y populares para proteger servidores con cPanel. No es solo un firewall tradicional; es un conjunto de herramientas de seguridad que incluye:

  • Firewall de estado que monitorea el tráfico entrante y saliente.
  • Detección de intrusiones (login failure detection) que bloquea IPs maliciosas automáticamente.
  • Protección contra ataques de fuerza bruta en SSH, FTP y cPanel.
  • Filtrado de puertos para que solo se comuniquen los servicios que realmente usas.
  • Bloqueo de países (si lo deseas) para limitar el acceso geográfico.

Si eres administrador de un sitio web, configura el firewall cPanel con CSF no es opcional, es obligatorio. Te garantiza que tu web esté protegida contra la mayoría de ataques automatizados que ocurren a diario.


Antes de empezar: ¿qué necesitas para configurar CSF?

Antes de lanzarte a configurar, asegúrate de tener lo siguiente:

  • Acceso root (superusuario) a tu servidor vía SSH. Sin esto, no podrás instalar ni modificar los archivos de configuración.
  • cPanel/WHM instalado en tu servidor (obviamente).
  • Conocimientos básicos de línea de comandos (no te preocupes, te guiamos paso a paso).
  • Acceso a tu panel de control para verificar cambios (WHM o cPanel).

[WARNING] Si no tienes acceso root, detente aquí. Configurar CSF sin permisos de superusuario es imposible. Contacta con tu proveedor de hosting para que te lo habilite o te lo configure.


Paso 1: Instalar CSF en tu servidor

La instalación de CSF en cPanel es bastante sencilla. Sigue estos pasos:

  1. Conéctate a tu servidor por SSH usando un cliente como PuTTY (Windows) o la terminal (Mac/Linux). El comando típico sería:

    ssh root@tu-servidor.com
    
  2. Descarga e instala CSF con los siguientes comandos (uno por línea):

    cd /usr/src
    wget https://download.configserver.com/csf.tgz
    tar -xzf csf.tgz
    cd csf
    sh install.sh
    
  3. Verifica que CSF se haya instalado correctamente ejecutando:

    csf -v
    

    Deberías ver un número de versión, por ejemplo: csf: v14.17.

  4. Activa el firewall (por defecto viene desactivado para que no bloquees tu propio acceso). Para activarlo:

    csf -e
    

[INFO] Después de activarlo, verás una salida con las reglas cargadas. No te asustes si ves muchos puertos abiertos; es normal. Más adelante los ajustaremos.


Paso 2: Configuración básica de CSF (archivo csf.conf)

El corazón de CSF es su archivo de configuración: /etc/csf/csf.conf. Aquí defines qué puertos están abiertos, qué IPs están permitidas o bloqueadas, y muchos otros parámetros.

Para editarlo, usa el editor de texto que prefieras (nano es el más amigable para principiantes):

nano /etc/csf/csf.conf

2.1. Puertos de entrada (TCP_IN)

Esta es la sección más importante. Define qué puertos están abiertos al exterior. Si un puerto no está aquí, el tráfico entrante hacia ese puerto será bloqueado.

Busca la línea TCP_IN = "...". Un ejemplo típico para un servidor web sería:

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

Explicación de los puertos más comunes:

  • 22: SSH (acceso remoto)
  • 80: HTTP (web)
  • 443: HTTPS (web segura)
  • 21: FTP
  • 25, 110, 143, 993, 995: Correo (SMTP, POP3, IMAP)
  • 2082/2083: cPanel (HTTP/HTTPS)
  • 2086/2087: WHM (HTTP/HTTPS)
  • 2106: Puerto de acceso a Syspanel (si tienes ese panel instalado)

[TIP] Si no usas FTP, puedes eliminar el puerto 21. Menos puertos abiertos = menos superficie de ataque.

2.2. Puertos de salida (TCP_OUT)

Igual que TCP_IN pero para el tráfico saliente. Es recomendable dejarlo abierto para la mayoría de servicios, pero puedes restringirlo si quieres máxima seguridad. El valor por defecto suele ser:

TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995,2106"

2.3. Puertos UDP (UDP_IN y UDP_OUT)

El protocolo UDP se usa para DNS, VOIP, etc. Normalmente basta con dejar el puerto 53 (DNS) abierto:

UDP_IN = "53"
UDP_OUT = "53"

2.4. Configurar IPs permitidas y bloqueadas

CSF te permite crear listas blancas y negras. Para ello, edita los archivos:

  • /etc/csf/csf.allow: Añade aquí IPs que siempre tendrán acceso sin restricciones (por ejemplo, tu IP de casa).
  • /etc/csf/csf.deny: IPs bloqueadas permanentemente.

Para añadir una IP a la lista blanca, simplemente escribe la IP en una línea nueva del archivo csf.allow. Luego guarda y aplica los cambios con:

csf -r

[WARNING] ¡Cuidado con bloquear tu propia IP! Si te equivocas, podrías quedarte fuera del servidor. Siempre añade tu IP actual a csf.allow antes de realizar cambios drásticos.


Paso 3: Protección contra ataques de fuerza bruta

CSF incluye un demonio llamado LF (Login Failure) que monitorea los intentos fallidos de inicio de sesión. Si una IP falla demasiadas veces, se bloquea automáticamente.

En el archivo csf.conf, busca y ajusta estos parámetros:

  • LF_SSH = "5": Bloquea después de 5 intentos fallidos de SSH.
  • LF_FTP = "5": Lo mismo para FTP.
  • LF_CPANEL = "5": Para intentos fallidos en cPanel.
  • LF_TRIGGER = "300": Tiempo en segundos en el que se cuentan los intentos (300 seg = 5 minutos).
  • LF_BLOCK_TIME = "600": Tiempo de bloqueo en segundos (600 seg = 10 minutos).

[TIP] No pongas valores demasiado bajos (como 2 o 3), ya que podrías bloquearte a ti mismo si te equivocas de contraseña un par de veces. 5 es un buen equilibrio.


Paso 4: Proteger puertos críticos (SSH, cPanel, WHM)

SSH es el puerto favorito de los atacantes. Para protegerlo aún más:

  1. Cambia el puerto SSH en /etc/ssh/sshd_config (busca Port 22 y cámbialo a otro número, por ejemplo 2222).
  2. Reinicia el servicio SSH: service sshd restart
  3. Actualiza CSF para que sepa que tu SSH ya no está en el puerto 22:
    • En csf.conf, cambia el puerto 22 por el nuevo en TCP_IN.
    • Ejecuta csf -r para recargar.

[WARNING] Este paso es delicado. Si te equivocas, podrías perder el acceso SSH. Asegúrate de tener acceso físico al servidor o un panel alternativo (como Syspanel en el puerto 2106) antes de hacerlo.


Paso 5: Configurar el firewall desde WHM (interfaz gráfica)

Si no te sientes cómodo con la línea de comandos, CSF tiene una interfaz gráfica integrada en WHM. Para acceder:

  1. Inicia sesión en WHM (normalmente en https://tu-servidor.com:2087).
  2. Busca la sección Plugins y haz clic en ConfigServer Security & Firewall.
  3. Desde aquí puedes ver el estado del firewall, las IPs bloqueadas, los puertos abiertos y modificar la configuración principal.

Esta interfaz es ideal para principiantes porque muestra todo de forma visual y con descripciones claras.


Paso 6: Probar que el firewall funciona

Una vez configurado, es hora de probar. Abre tu navegador y verifica que:

  • Tu web carga correctamente (puertos 80/443).
  • Puedes acceder a cPanel (puerto 2083).
  • Puedes acceder a WHM (puerto 2087).

Si algo no carga, revisa que el puerto correspondiente esté en TCP_IN.

Para ver las reglas activas del firewall, usa:

csf -l

Paso 7: Mantenimiento y actualizaciones

CSF se actualiza automáticamente si tienes habilitadas las actualizaciones de ConfigServer. Para verificar si hay actualizaciones manualmente:

csf --update

Además, revisa periódicamente los logs de CSF para ver qué IPs se han bloqueado:

tail -f /var/log/lfd.log

Preguntas frecuentes (FAQ)

¿CSF funciona en cualquier servidor con cPanel?

Sí, CSF está diseñado específicamente para cPanel/WHM y es compatible con las principales distribuciones Linux (CentOS, AlmaLinux, Ubuntu, etc.).

¿Puedo usar CSF si mi hosting es compartido?

No. CSF requiere acceso root y se instala a nivel de servidor. En hosting compartido, el proveedor es quien lo gestiona.

¿Qué pasa si me bloqueo a mí mismo?

Si te bloqueas, tienes dos opciones:

  1. Acceder al servidor por otro medio (por ejemplo, Syspanel en el puerto 2106).
  2. Pedir a tu proveedor que reinicie el firewall o elimine tu IP de la lista negra.

¿CSF ralentiza mi servidor?

El impacto es mínimo. CSF está optimizado para ser ligero. El demonio lfd consume muy pocos recursos.

¿Puedo bloquear países con CSF?

Sí, usando la función CC_DENY en el archivo csf.conf. Puedes bloquear países enteros por su código ISO (por ejemplo, CN para China, RU para Rusia).

¿Es necesario reiniciar el servidor después de configurar CSF?

No. Basta con recargar las reglas con csf -r. Reiniciar el servidor no es necesario y puede causar más problemas.


Conclusión

Configurar CSF cPanel es una de las mejores inversiones de tiempo que puedes hacer para proteger tu servidor. Aunque al principio pueda parecer abrumador, siguiendo estos pasos tendrás un firewall cPanel robusto y funcional en menos de una hora.

Recuerda los puntos clave:

  • Añade tu IP a csf.allow antes de hacer cambios.
  • No abras más puertos de los necesarios.
  • Configura correctamente los límites de fuerza bruta.
  • Revisa los logs periódicamente.

Con CSF activado, tu servidor estará preparado para repeler la mayoría de ataques automatizados. Y si en algún momento te sientes perdido, recuerda que siempre puedes recurrir a la interfaz gráfica de WHM o a la documentación oficial de ConfigServer.

[INFO] Si además de cPanel utilizas un panel alternativo como Syspanel, recuerda que su puerto de acceso es el 2106. Asegúrate de tenerlo abierto en tu configuración TCP_IN para no perder el acceso a tu panel de control.

¡Protege tu servidor hoy y duerme tranquilo sabiendo que tu web está a salvo!

¿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