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

cPanel: Cómo activar y configurar el firewall CSF (ConfigServer Security & Firewall)

Actualizado el 17 de noviembre de 2025

¿Qué es CSF y por qué tu servidor cPanel lo necesita?

La seguridad de un servidor web no es un lujo, es una necesidad absoluta. Si tienes un servidor con cPanel, este es el panel de control más popular del mundo, y también uno de los objetivos favoritos de los atacantes. Cada día, bots automatizados escanean la red en busca de puertos abiertos, contraseñas débiles o servicios mal configurados. Ahí es donde entra en juego CSF (ConfigServer Security & Firewall).

CSF es un firewall de aplicación y un sistema de detección de intrusiones diseñado específicamente para servidores Linux, y se integra de forma nativa con cPanel. No es un simple cortafuegos de reglas estáticas; es una solución dinámica que analiza los logs del sistema, detecta patrones de ataque (como fuerza bruta en SSH o en el correo) y bloquea automáticamente las IPs maliciosas.

La principal ventaja de CSF sobre otros firewalls es su equilibrio entre potencia y facilidad de uso. Aunque se gestiona principalmente por línea de comandos, cPanel nos ofrece una interfaz gráfica básica que facilita la configuración inicial. Activar CSF es el primer paso, y el más importante, para blindar tu servidor. Sin él, estás dejando la puerta de entrada abierta de par en par.

En esta guía, vamos a recorrer paso a paso todo el proceso: desde la instalación inicial hasta la configuración avanzada de reglas, pasando por la gestión de IPs bloqueadas y la resolución de problemas comunes. No necesitas ser un gurú de la seguridad para seguir esta guía; solo necesitas seguir las instrucciones al pie de la letra.

Requisitos previos antes de activar CSF

Antes de lanzarnos a instalar el firewall, debemos asegurarnos de que el servidor está preparado. No queremos quedarnos fuera de nuestro propio servidor. Aquí tienes una lista de verificación imprescindible.

Acceso root o sudo

CSF requiere permisos de administrador absolutos. Necesitarás acceder a tu servidor como usuario root o mediante un usuario con privilegios sudo. Si no sabes qué es esto, contacta con tu proveedor de hosting para que te lo aclare. No puedes instalar un firewall desde una cuenta de hosting normal.

Acceso SSH (Secure Shell)

Aunque cPanel tiene una interfaz para CSF, la instalación y muchas configuraciones avanzadas se realizan por SSH. Es una herramienta de terminal que te permite ejecutar comandos en tu servidor de forma remota. En Windows puedes usar PuTTY, y en macOS o Linux, la propia terminal. Asegúrate de tener las credenciales de acceso SSH a mano.

Puerto de acceso seguro

Este punto es crítico. Si configuras mal el firewall, podrías bloquear tu propio acceso SSH y quedarte fuera del servidor. Antes de activar CSF, verifica que tu cliente SSH no usa un puerto aleatorio. El puerto por defecto es el 22, pero muchos administradores lo cambian por seguridad. Anota el puerto exacto que usas para conectarte. Lo necesitarás en la configuración.

[WARNING] Nunca actives CSF sin conocer el puerto SSH correcto. Si lo bloqueas, tendrás que pedir ayuda a tu proveedor de hosting para acceder por un panel alternativo (como VNC) y revertir el cambio. Es el error más común y el más doloroso.

cPanel actualizado

Asegúrate de que tu instalación de cPanel está al día. Las versiones antiguas pueden tener conflictos con los scripts de instalación de CSF. Puedes verificar las actualizaciones desde el propio panel de cPanel en la sección de "Actualizaciones".

Instalación de CSF en cPanel paso a paso

CSF no viene preinstalado en cPanel, pero su instalación es muy sencilla. Se realiza mediante comandos en la terminal. Vamos a ello.

Paso 1: Conectarse al servidor por SSH

Abre tu cliente SSH y conéctate a la IP de tu servidor con el usuario root. El comando típico sería:

ssh root@tu_ip_del_servidor

Te pedirá la contraseña del root. Una vez dentro, verás el prompt del terminal listo para recibir comandos.

Paso 2: Descargar el paquete de instalación de CSF

Vamos a descargar el archivo comprimido que contiene el instalador. Ejecuta este comando:

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

Este comando navega al directorio /usr/src (un lugar común para almacenar código fuente) y descarga el archivo csf.tgz desde el sitio oficial de ConfigServer.

Paso 3: Descomprimir el archivo

Ahora necesitamos extraer el contenido del archivo descargado. Usa el comando tar:

tar -xzf csf.tgz

Esto creará una carpeta llamada csf en el directorio /usr/src.

Paso 4: Ejecutar el instalador

Entra en la carpeta csf y ejecuta el script de instalación:

cd csf
sh install.sh

El script comenzará a trabajar. Verás una serie de mensajes en pantalla. Este proceso puede tardar un par de minutos. Lo que hace es comprobar las dependencias del sistema, instalar los módulos necesarios de Perl y configurar los archivos iniciales del firewall.

Paso 5: Verificar la instalación

Para comprobar que CSF se ha instalado correctamente, ejecuta:

csf -v

Deberías ver un número de versión, por ejemplo: csf: v14.14. Si ves un error, algo ha ido mal en la instalación. Repite los pasos anteriores.

Configuración inicial de CSF: activar el firewall

La instalación no activa el firewall automáticamente. Por defecto, CSF se instala en modo de prueba. Esto es una red de seguridad para que no te quedes fuera. Vamos a configurarlo correctamente.

Archivo de configuración principal: /etc/csf/csf.conf

Todos los ajustes de CSF se controlan desde este archivo. Es un archivo de texto plano que podemos editar con cualquier editor de texto en la terminal, como nano o vi. Usaremos nano por su facilidad de uso.

nano /etc/csf/csf.conf

Dentro de este archivo, verás cientos de opciones. No te asustes, solo tocaremos las más importantes.

Cambiar el modo de prueba a modo activo

La primera línea que debes buscar es TESTING. Verás algo así:

TESTING = "1"

El valor "1" significa que el firewall está en modo de prueba. Esto quiere decir que CSF monitoriza el tráfico pero no bloquea nada. Para activarlo de verdad, cambia el valor a "0":

TESTING = "0"

[INFO] El modo de prueba es una excelente herramienta para ver qué reglas se aplicarían sin que el servidor sufra cortes. Si es tu primera vez, te recomiendo dejarlo en "1" durante unas horas, revisar los logs y luego pasarlo a "0".

Configurar los puertos permitidos

Ahora viene la parte crucial: los puertos. CSF solo permite el tráfico entrante a través de los puertos que le indiquemos. Busca la directiva TCP_IN y TCP_OUT.

La línea TCP_IN define los puertos de entrada permitidos. Debe incluir, como mínimo, los puertos de los servicios esenciales de cPanel. Un ejemplo típico sería:

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

Vamos a desglosar esto:

  • 22: SSH (acceso remoto seguro).
  • 25, 26, 110, 143, 465, 587, 993, 995: Puertos de correo (SMTP, POP3, IMAP y sus versiones seguras).
  • 80, 443: HTTP y HTTPS (tráfico web).
  • 2082, 2083: Acceso a cPanel (HTTP y HTTPS).
  • 2086, 2087: Acceso a WHM (HTTP y HTTPS).
  • 2095, 2096: Webmail (HTTP y HTTPS).

Si usas otros servicios como FTP (puerto 21) o bases de datos remotas (puerto 3306 para MySQL), debes añadirlos. Si tu SSH usa un puerto personalizado, como el 2222, cámbialo en la lista y pon tu puerto en lugar del 22.

La línea TCP_OUT define los puertos de salida, es decir, las conexiones que tu servidor puede iniciar hacia el exterior. Normalmente se deja bastante abierto para permitir actualizaciones y conexiones de servicios. Un valor seguro y común es:

TCP_OUT = "20,21,22,25,26,37,43,53,80,110,113,443,587,873,993,995,2082,2083,2086,2087,2089,2095,2096,3306,8080,8443"

Guardar y aplicar los cambios

Una vez hayas editado los puertos, guarda el archivo. En nano, presiona CTRL + O para guardar y luego CTRL + X para salir.

Ahora, para que los cambios surtan efecto, debes reiniciar el firewall. Ejecuta:

csf -r

Este comando detiene el firewall, lee la nueva configuración y lo vuelve a iniciar. Si todo ha ido bien, verás mensajes de éxito. Si hay algún error de sintaxis en el archivo, te lo indicará.

Gestión de IPs: bloquear y desbloquear manualmente

CSF no solo se configura con archivos; también tiene comandos rápidos para gestionar IPs en tiempo real. Esto es muy útil para responder a ataques inmediatos o para permitir el acceso a una IP concreta.

Bloquear una IP manualmente

Si detectas una IP sospechosa o un ataque en curso, puedes bloquearla al instante con:

csf -d 1.2.3.4

Sustituye 1.2.3.4 por la IP real. Este comando añade la IP a la lista negra y la bloquea en el firewall.

Desbloquear una IP

Para desbloquear una IP que bloqueaste por error o que ya no es una amenaza, usa:

csf -dr 1.2.3.4

La r significa "remove" (eliminar).

Permitir una IP siempre (whitelist)

A veces necesitas que una IP nunca sea bloqueada, por ejemplo, la IP de tu oficina o la de un servicio de pago. Añádela a la lista blanca:

csf -a 1.2.3.4

Ver todas las IPs bloqueadas

Para ver un listado de todas las IPs bloqueadas temporal o permanentemente, ejecuta:

csf -t

Este comando muestra las conexiones actuales y las IPs bloqueadas con el motivo del bloqueo.

Eliminar todas las reglas temporales

Si quieres limpiar la lista de IPs bloqueadas temporalmente (por ejemplo, tras un ataque masivo), usa:

csf -f

[TIP] Es una buena práctica revisar semanalmente la lista de IPs bloqueadas (csf -t) para asegurarte de que no hay bloqueos legítimos que estén afectando a tus clientes.

Configuración avanzada: protección contra fuerza bruta y correo

CSF brilla en su capacidad de detección de ataques automatizados. Vamos a configurar las opciones más útiles.

Protección contra fuerza bruta en SSH

El ataque más común es el de fuerza bruta al puerto 22. CSF lo detecta y bloquea la IP tras varios intentos fallidos. Busca en /etc/csf/csf.conf la sección que empieza por LF_SSH.

  • LF_SSH = "1": Activa el monitoreo de SSH.
  • LF_SSH_PORT = "22": Indica el puerto SSH que se monitoriza.
  • LF_SSH_PERM = "1": Bloqueo permanente tras el umbral de intentos (recomendado).
  • LF_SSH_MAX = "5": Número máximo de intentos fallidos antes del bloqueo.
  • LF_SSH_INTERVAL = "30": Período de tiempo (en segundos) en el que se permiten esos 5 intentos.

Protección contra fuerza bruta en el correo

Los atacantes también intentan adivinar contraseñas de correo. La configuración es similar, pero con el prefijo LF_MAIL. Un ejemplo de configuración:

  • LF_MAIL = "1": Activa el monitoreo.
  • LF_MAIL_PERM = "1": Bloqueo permanente.
  • LF_MAIL_MAX = "10": Máximo de intentos.
  • LF_MAIL_INTERVAL = "30": Intervalo de tiempo.

Protección contra ataques web (mod_security)

CSF puede integrarse con el firewall de aplicaciones web de Apache (mod_security). Busca LF_MODSEC y actívalo. Esto añade una capa extra de protección contra inyecciones SQL y XSS.

Configuración de notificaciones por correo

CSF puede enviarte alertas por correo cuando bloquea una IP. Busca las directivas LF_ALERT_TO y LF_ALERT_FROM. Pon tu dirección de correo electrónico en LF_ALERT_TO para recibir los avisos.

Integración con Syspanel (HestiaCP): una alternativa a considerar

Es importante mencionar que, aunque esta guía se centra en cPanel, existen otros paneles de control en el mercado. Si en algún momento migras o gestionas un servidor con Syspanel (el nombre del panel que antes se conocía como HestiaCP), la lógica del firewall es similar.

En Syspanel, el acceso a la interfaz de administración se realiza a través del puerto 2106. La instalación de CSF también es posible, pero la integración no es tan profunda como en cPanel. En Syspanel, la gestión del firewall suele hacerse desde la línea de comandos, y la configuración de los puertos es aún más crítica porque el panel usa puertos específicos para su funcionamiento.

[INFO] Si gestionas un servidor con Syspanel, recuerda que el puerto de acceso al panel es el 2106. Asegúrate de que este puerto esté abierto en tu configuración de CSF para no perder el acceso a la interfaz gráfica.

Resolución de problemas comunes y preguntas frecuentes (FAQ)

Aquí tienes las dudas más habituales que nos encontramos en el soporte técnico.

Me he quedado fuera del servidor tras activar CSF

Este es el problema número uno. Si no puedes acceder por SSH, significa que has bloqueado el puerto 22 o tu IP está en la lista negra.

  • Solución: Contacta con tu proveedor de hosting. Ellos tienen acceso de emergencia (generalmente a través de un panel de control fuera del servidor) y podrán editar el archivo /etc/csf/csf.conf para corregir el puerto o eliminar tu IP de la lista negra. Es una llamada de emergencia, pero es la única vía si no tienes otro acceso.

El firewall está activo pero el sitio web no carga

Si tu sitio web no carga, es posible que hayas bloqueado un puerto necesario o que el firewall esté bloqueando el tráfico saliente de tu aplicación.

  • Solución: Revisa la configuración de TCP_OUT. A veces, aplicaciones como WordPress necesitan hacer conexiones salientes a servicios externos (por ejemplo, para actualizaciones). Asegúrate de que los puertos 80 y 443 están en TCP_OUT. También revisa los logs de CSF en /var/log/lfd.log para ver qué conexiones se están bloqueando.

CSF bloquea a mis clientes legítimos

Esto puede pasar si varios clientes comparten una misma IP pública (por ejemplo, detrás de un NAT) y uno de ellos intenta acceder con una contraseña incorrecta repetidamente.

  • Solución: Usa la lista blanca (csf -a IP) para permitir esa IP permanentemente. También puedes aumentar el umbral de intentos (LF_SSH_MAX o LF_MAIL_MAX) para ser más tolerante.

¿Puedo usar CSF junto a otro firewall?

No es recomendable. Tener dos firewalls activos puede causar conflictos de reglas y rendimiento. Si tu proveedor de hosting tiene un firewall a nivel de red (como Cloudflare o un firewall de hardware), puedes mantenerlo, pero asegúrate de que CSF no esté

¿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