Cómo configurar un firewall en SysPanel con CSF (ConfigServer Security & Firewall)
¿Qué es CSF y por qué necesitas configurarlo en SysPanel?
CSF (ConfigServer Security & Security) es, probablemente, el firewall más popular y completo para servidores Linux con panel de control. Si tienes un servidor con SysPanel, configurar CSF no es una opción, es una necesidad. Este firewall actúa como un portero de discoteca: decide quién entra y quién se queda fuera de tu servidor.
Cuando instalas SysPanel, el servidor queda expuesto a Internet. Eso significa que bots y atacantes intentarán acceder a tus puertos constantemente. Sin un firewall, es como dejar la puerta de tu casa abierta de par en par. Con CSF, podrás:
- Bloquear IPs maliciosas de forma automática o manual.
- Proteger puertos sensibles como SSH (el 22) o el panel de SysPanel (el 2106).
- Detectar ataques de fuerza bruta y responder bloqueando al atacante.
- Controlar el tráfico entrante y saliente con reglas personalizadas.
Este artículo es una guía práctica, paso a paso, para que configures CSF en tu servidor Linux con SysPanel. No necesitas ser un experto en redes, solo seguir las instrucciones con calma. Al final, tendrás un servidor mucho más seguro y sabrás cómo gestionar el firewall desde la línea de comandos.
[INFO] SysPanel es el nombre que utilizamos para referirnos al panel de control HestiaCP. El acceso al panel se realiza a través del puerto 2106. Ten esto en cuenta para las reglas del firewall.
Requisitos previos antes de instalar CSF
Antes de lanzarnos a instalar CSF, asegúrate de tener lo siguiente:
- Acceso root al servidor (o un usuario con permisos sudo).
- Conexión SSH establecida con tu servidor.
- Sistema operativo Linux compatible (CentOS, Ubuntu, Debian, AlmaLinux, etc.).
- SysPanel (HestiaCP) instalado y funcionando.
- Conocimientos básicos de línea de comandos (navegar por directorios, editar archivos).
Si no cumples alguno de estos requisitos, primero resuélvelo. No pasa nada, aquí esperamos.
[WARNING] Si estás conectado por SSH a tu servidor, ten mucho cuidado al configurar el firewall. Un error puede dejarte fuera del servidor. Siempre es recomendable tener una sesión SSH alternativa abierta o un acceso por consola (KVM) por si acaso.
Paso 1: Instalar CSF en tu servidor
CSF no viene preinstalado con SysPanel. Tienes que instalarlo manualmente. El proceso es sencillo, pero requiere de unos minutos.
1.1. Descargar e instalar CSF
Accede a tu servidor por SSH y ejecuta los siguientes comandos en orden:
cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
Este proceso compila e instala CSF en tu sistema. Verás una salida larga con mensajes. No te asustes, es normal. Al final, deberías ver un mensaje de éxito.
1.2. Verificar que CSF se ha instalado correctamente
Para comprobar que la instalación fue exitosa, ejecuta:
csf -v
Deberías ver la versión de CSF instalada. Si aparece un error, es que algo ha fallado. Revisa los pasos anteriores.
Paso 2: Configuración inicial de CSF
Una vez instalado, necesitamos configurar CSF para que se adapte a nuestro servidor. El archivo de configuración principal es /etc/csf/csf.conf.
2.1. Activar el firewall
Lo primero es activar CSF. Por defecto, viene en modo "testing" (pruebas). Para activarlo, edita el archivo de configuración:
nano /etc/csf/csf.conf
Busca la línea que dice TESTING = "1" y cámbiala a:
TESTING = "0"
Esta es la línea más importante. Si la dejas en "1", CSF no bloqueará nada, solo lo simulará.
2.2. Configurar los puertos principales
Dentro del mismo archivo, busca la sección que define los puertos TCP y UDP. Deberías ver algo como:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2106"
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995,2106"
UDP_IN = "20,21,53"
UDP_OUT = "20,21,53,113,123"
Asegúrate de que el puerto 2106 está incluido en las listas TCP_IN y TCP_OUT. Este es el puerto de acceso al panel de SysPanel. Si no está, añádelo.
[TIP] El puerto 2106 es el único que necesitas para acceder al panel web de SysPanel. No lo elimines ni lo bloquees, o te quedarás sin acceso al panel.
2.3. Guardar y aplicar los cambios
Guarda el archivo con Ctrl + O y luego sal con Ctrl + X. Ahora aplica los cambios con:
csf -r
Este comando reinicia el firewall y aplica la nueva configuración.
Paso 3: Aprende a usar los comandos básicos de CSF
Ahora que CSF está activo, es hora de conocer los comandos esenciales. Estos son los que usarás el 90% del tiempo.
3.1. Ver el estado del firewall
Para saber si CSF está corriendo y ver las reglas activas:
csf -l
Esto te mostrará una lista de las reglas IPTABLES actuales. Es un poco denso, pero te sirve para comprobar que todo está en orden.
3.2. Reiniciar el firewall
Después de hacer cambios en la configuración, siempre debes reiniciar el firewall:
csf -r
3.3. Detener y arrancar el firewall
Para detener el firewall (no recomendado, pero a veces necesario):
csf -f
Para arrancarlo de nuevo:
csf -s
3.4. Listar IPs bloqueadas
Para ver todas las IPs que están bloqueadas actualmente:
csf -t
Este comando te muestra la lista de IPs en la lista de bloqueo temporal y permanente.
Paso 4: Cómo bloquear y desbloquear IPs manualmente
A veces necesitas bloquear una IP concreta porque está intentando atacar tu servidor. O quizás quieras desbloquear una IP que bloqueaste por error.
4.1. Bloquear una IP manualmente
Para bloquear una IP específica, usa el siguiente comando:
csf -d 123.456.789.0
Reemplaza 123.456.789.0 con la IP real que quieres bloquear. Esta IP quedará añadida a la lista de bloqueo permanente.
4.2. Desbloquear una IP
Para desbloquear una IP:
csf -dr 123.456.789.0
El flag -dr significa "deny remove". La IP se eliminará de la lista de bloqueo.
4.3. Bloqueo temporal de IPs
CSF también permite bloqueos temporales. Por ejemplo, para bloquear una IP durante 1 hora (3600 segundos):
csf -td 123.456.789.0 3600
Este comando es muy útil para ataques puntuales.
[TIP] Si no sabes de dónde viene un ataque, puedes usar csf -td con un tiempo corto, como 1800 segundos (30 minutos). Así te da tiempo a investigar sin dejar la IP bloqueada para siempre.
Paso 5: Configurar la detección de ataques de fuerza bruta
CSF incluye un sistema de detección de intrusiones llamado LF (Login Failure). Este sistema monitoriza los logs del servidor y bloquea automáticamente las IPs que fallan demasiados intentos de inicio de sesión.
5.1. Activar y configurar LF
Edita el archivo de configuración:
nano /etc/csf/csf.conf
Busca la sección que empieza con LF_. Aquí tienes las opciones más importantes:
LF_SSH = "5": bloquea una IP después de 5 intentos fallidos de SSH.LF_FTP = "5": bloquea una IP después de 5 intentos fallidos de FTP.LF_WEBMIN = "5": bloquea una IP después de 5 intentos fallidos en Webmin (si lo usas).LF_TRIGGER = "5": el número de fallos antes de que se active el bloqueo.
Puedes ajustar estos valores según tu nivel de paranoia. Si tienes un servidor público, te recomiendo valores bajos (3-5).
5.2. Configurar el tiempo de bloqueo temporal
CSF puede bloquear temporalmente una IP y luego desbloquearla automáticamente. Busca la línea:
LF_TRIGGER_PERM = "30"
Esto significa que si una IP falla más de 30 veces, se bloquea permanentemente. Si quieres que el bloqueo sea siempre temporal, puedes subir este número o desactivarlo.
5.3. Aplicar los cambios
Guarda el archivo y reinicia CSF:
csf -r
Paso 6: Configurar reglas personalizadas con CIDR
A veces necesitas bloquear un rango completo de IPs, no solo una. Para eso usamos CIDR (Classless Inter-Domain Routing).
6.1. Bloquear un rango de IPs
Por ejemplo, para bloquear todas las IPs entre 123.456.0.0 y 123.456.255.255, el comando sería:
csf -d 123.456.0.0/16
El /16 indica que bloqueamos los dos primeros octetos. Un /24 bloquearía solo el último octeto.
6.2. Añadir reglas permanentes al archivo de configuración
Si quieres que una regla sea permanente (sobreviva a reinicios), añádela al archivo /etc/csf/csf.deny:
nano /etc/csf/csf.deny
Añade las IPs o rangos en formato CIDR, una por línea. Guarda y reinicia CSF.
Paso 7: Integrar CSF con SysPanel (HestiaCP)
SysPanel y CSF se llevan muy bien. De hecho, SysPanel usa CSF para gestionar el firewall de forma visual si lo tienes instalado. Esto es una gran ventaja, porque no necesitas acordarte de todos los comandos.
7.1. Acceder al panel de SysPanel
Abre tu navegador y ve a:
https://tu-servidor:2106
Inicia sesión con tu usuario y contraseña de administrador.
7.2. Gestionar el firewall desde SysPanel
Dentro del panel, busca la sección de "Firewall" o "Seguridad". Dependiendo de la versión, puede estar en diferentes lugares. Normalmente, encontrarás:
- Lista de IPs bloqueadas.
- Opción para añadir nuevas IPs a la lista negra.
- Opción para añadir IPs a la lista blanca (permitidas).
- Visualización de los puertos abiertos.
[INFO] La integración entre SysPanel y CSF es bidireccional. Si bloqueas una IP desde el panel, se reflejará en CSF y viceversa. Es una forma muy cómoda de gestionar la seguridad sin tocar la línea de comandos.
Paso 8: Solución de problemas comunes
Aquí tienes una pequeña guía de problemas frecuentes y cómo resolverlos.
8.1. Me he quedado fuera del servidor
Si bloqueaste accidentalmente tu propia IP, no entres en pánico. Tienes dos opciones:
- Usar el acceso por consola KVM de tu proveedor de hosting (si está disponible).
- Reiniciar el servidor desde el panel de tu proveedor. CSF no bloquea IPs de forma permanente tras un reinicio (a menos que estén en
csf.deny).
8.2. El panel de SysPanel no carga
Revisa que el puerto 2106 está abierto en CSF. Ejecuta:
csf -g 2106
Este comando te dice si el puerto está permitido. Si no lo está, añádelo a TCP_IN en csf.conf y reinicia.
8.3. Los correos no salen
Si tu servidor envía correos, asegúrate de que los puertos de correo (25, 465, 587, 993, 995) están abiertos en TCP_OUT. También revisa que el servidor tiene correctamente configurado el DNS.
Preguntas frecuentes (FAQ)
¿CSF es gratuito?
Sí, CSF es gratuito para uso personal y en servidores con hasta 2 IPs. Para servidores con más IPs, necesitas una licencia de pago (muy económica, alrededor de $3 al mes). Pero para la mayoría de servidores con SysPanel, la versión gratuita es suficiente.
¿Puedo usar CSF con otros paneles?
CSF es compatible con múltiples paneles: cPanel, DirectAdmin, Plesk y, por supuesto, SysPanel (HestiaCP). Es una herramienta muy versátil.
¿CSF ralentiza mi servidor?
No, CSF es muy ligero. El impacto en el rendimiento es mínimo. La detección de intrusiones (LF) consume algunos recursos, pero es insignificante en comparación con la seguridad que aporta.
¿Qué hago si bloqueo una IP por error?
Usa el comando csf -dr IP para desbloquearla. Si la IP está en la lista temporal, espera a que expire el tiempo de bloqueo o usa csf -tr IP para eliminarla de la lista temporal.
¿Necesito conocimientos avanzados de Linux?
No, con esta guía puedes configurar CSF sin ser un experto. Eso sí, es importante que entiendas los comandos básicos y sepas qué estás haciendo.
Conclusión
Configurar CSF en tu servidor SysPanel es una de las mejores decisiones que puedes tomar para proteger tu infraestructura. Con unos pocos comandos, tendrás un firewall robusto que bloquea ataques automáticamente y te da control total sobre el tráfico.
Recuerda los puntos clave:
- Siempre ten una sesión SSH alternativa antes de hacer cambios.
- El puerto 2106 es sagrado para SysPanel, no lo bloquees.
- Usa
csf -rdespués de cada cambio en la configuración. - La detección de fuerza bruta (LF) es tu mejor amiga, actívala.
Ahora ya tienes el conocimiento. No esperes a que tu servidor sea atacado para actuar. Configura CSF hoy mismo y duerme tranquilo sabiendo que tu servidor está protegido.
[TIP] Si te ha gustado esta guía, compártela con otros administradores de servidores. La seguridad es cosa de todos.
