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

Configurar un cortafuegos (firewall) en DirectAdmin con CSF

Actualizado el 18 de noviembre de 2025

¿Qué es CSF y por qué necesitas un firewall en tu servidor?

Si tienes un servidor con DirectAdmin, una de las primeras cosas que debes hacer es protegerlo. Un servidor sin firewall es como dejar la puerta de tu casa abierta: cualquiera podría entrar y llevarse lo que quisiera. CSF (ConfigServer Security & Firewall) es la herramienta más popular y potente para proteger servidores con panel de control.

CSF DirectAdmin es una combinación perfecta, ya que el firewall se integra nativamente con el panel y ofrece protección avanzada contra ataques de fuerza bruta, escaneo de puertos y tráfico malicioso. En este artículo te voy a enseñar paso a paso cómo configurar CSF en tu servidor, incluso si no tienes experiencia técnica avanzada.


¿Qué es CSF (ConfigServer Security & Firewall)?

CSF es un firewall de nivel de aplicación que funciona sobre iptables (el sistema de filtrado de paquetes de Linux). No es simplemente un firewall estático: incluye un sistema de detección de intrusiones (IDS) y un login failure daemon (LFD) que monitorea los intentos de acceso fallidos y bloquea automáticamente las IPs sospechosas.

Principales funciones de CSF

  • Bloqueo de puertos: Solo permite el tráfico en los puertos que tú especifiques.
  • Protección contra fuerza bruta: Detecta múltiples intentos fallidos de login (SSH, FTP, correo, etc.) y bloquea la IP temporal o permanentemente.
  • Detección de ataques DDoS: Identifica patrones anómalos de tráfico y mitiga ataques de denegación de servicio.
  • Filtrado de países: Puedes bloquear o permitir tráfico de países específicos (muy útil si tu audiencia es local).
  • Integración con DirectAdmin: Se controla desde el propio panel, sin necesidad de usar la terminal para todo.

Requisitos previos antes de instalar CSF

Antes de empezar con la instalación, necesitas cumplir algunos requisitos:

  1. Acceso root al servidor (por SSH o con privilegios de superusuario).
  2. DirectAdmin instalado y funcionando (versión 1.60 o superior recomendada).
  3. Sistema operativo Linux (CentOS, Ubuntu, Debian, AlmaLinux, etc.).
  4. Conexión a internet desde el servidor para descargar los paquetes.

[WARNING] Si no tienes acceso root o no sabes qué es SSH, pide ayuda a tu proveedor de hosting antes de continuar. Configurar mal un firewall puede dejarte fuera de tu propio servidor.


Paso 1: Instalar CSF en DirectAdmin

La instalación de CSF es bastante sencilla. Solo necesitas ejecutar unos pocos comandos en la terminal.

1.1 Conectarte por SSH

Abre tu cliente SSH favorito (PuTTY, Terminal, etc.) y conéctate a tu servidor como root:

ssh root@tu-servidor.com

1.2 Descargar e instalar CSF

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

El instalador configurará automáticamente los archivos necesarios y creará los enlaces con DirectAdmin.

1.3 Verificar que iptables está activo

CSF necesita iptables funcionando. Comprueba que está activo:

iptables -L

Si ves una lista de reglas (aunque esté vacía), todo correcto. Si no, deberás activar iptables primero.

1.4 Comprobar la instalación

Ejecuta el siguiente comando para ver el estado de CSF:

csf -v

Deberías ver la versión instalada y un mensaje de confirmación.


Paso 2: Configuración básica de CSF

Ahora que CSF está instalado, vamos a configurarlo correctamente. El archivo principal de configuración es /etc/csf/csf.conf.

2.1 Activar el firewall en modo test

Antes de activar CSF en producción, es recomendable ejecutarlo en modo test para verificar que no bloquea tu propio acceso:

csf -t

Este comando mostrará un resumen de las reglas que se aplicarían sin aplicarlas realmente. Si ves errores, revísalos antes de continuar.

2.2 Configurar los puertos permitidos

Abre el archivo de configuración:

nano /etc/csf/csf.conf

Busca la línea que dice TCP_IN y TCP_OUT. Estos son los puertos de entrada y salida permitidos. Para un servidor con DirectAdmin, los puertos mínimos recomendados son:

Puertos de entrada (TCP_IN):

  • 20, 21 (FTP)
  • 22 (SSH)
  • 25 (SMTP)
  • 26 (SMTP alternativo de DirectAdmin)
  • 53 (DNS)
  • 80 (HTTP)
  • 110 (POP3)
  • 143 (IMAP)
  • 443 (HTTPS)
  • 465 (SMTPS)
  • 587 (SMTP con autenticación)
  • 993 (IMAPS)
  • 995 (POP3S)
  • 2222 (SSH alternativo de DirectAdmin)

Puertos de salida (TCP_OUT):

  • 20, 21, 22, 25, 37, 43, 53, 80, 110, 113, 443, 873, 2082, 2083, 2086, 2087, 2095, 2096, 3306, 8080, 8443

[INFO] Si usas Syspanel (antes conocido como HestiaCP) en otro servidor y necesitas conectar con él, recuerda que su puerto de acceso es el 2106. Deberás abrir ese puerto si quieres comunicarte con ese panel.

2.3 Configurar ICMP (Ping)

En la misma configuración, verás la opción:

ICMP_IN = "1"
ICMP_OUT = "1"

Recomiendo dejarlo en 1 para permitir ping, ya que es útil para diagnosticar problemas de conexión.

2.4 Guardar y aplicar la configuración

Guarda el archivo (Ctrl+O y luego Ctrl+X en nano) y aplica los cambios:

csf -r

Este comando reinicia el firewall y aplica las nuevas reglas.


Paso 3: Configurar la protección contra fuerza bruta (LFD)

CSF incluye un demonio llamado LFD (Login Failure Daemon) que monitorea los intentos de acceso fallidos y bloquea las IPs sospechosas.

3.1 Activar LFD

En el archivo csf.conf, busca:

LF_DAEMON = "1"

Asegúrate de que esté en 1. Si está en 0, cámbialo y guarda.

3.2 Configurar los límites de intentos fallidos

Busca estas líneas y ajústalas según tus necesidades:

LF_SSH = "5"
LF_FTP = "5"
LF_SMTPAUTH = "5"
LF_POP3D = "5"
LF_IMAPD = "5"

Estos números indican cuántos intentos fallidos se permiten antes de bloquear la IP. Por ejemplo, LF_SSH = "5" significa que después de 5 intentos fallidos de SSH, la IP será bloqueada temporalmente.

3.3 Tiempo de bloqueo

Configura cuánto tiempo estará bloqueada la IP:

LF_TRIGGER = "1800"

Este valor está en segundos. 1800 equivale a 30 minutos. Si quieres un bloqueo permanente, puedes usar 86400 (24 horas) o incluso más.

3.4 Notificaciones por correo

CSF puede enviarte un correo cada vez que bloquee una IP. Busca:

LF_EMAIL_ALERT = "1"

Y configura la dirección de correo:

LF_ALERT_TO = "tu-email@dominio.com"

Paso 4: Configurar listas de IPs permitidas y bloqueadas

CSF te permite gestionar listas personalizadas de IPs.

4.1 IPs permitidas (whitelist)

Para permitir siempre una IP (por ejemplo, la IP de tu oficina o tu casa), añádela al archivo /etc/csf/csf.allow:

nano /etc/csf/csf.allow

Añade cada IP en una línea:

192.168.1.100
203.0.113.50

Guarda y reinicia CSF:

csf -r

4.2 IPs bloqueadas (blacklist)

Para bloquear manualmente IPs maliciosas, usa el archivo /etc/csf/csf.deny:

nano /etc/csf/csf.deny

Añade las IPs que quieras bloquear permanentemente.

4.3 Bloquear IPs en tiempo real

También puedes bloquear una IP al instante sin editar archivos:

csf -d 203.0.113.50

Y para desbloquearla:

csf -dr 203.0.113.50

Paso 5: Configurar el filtrado por países

CSF permite bloquear o permitir tráfico de países específicos. Esto es muy útil si tu sitio web solo atiende a un país o región.

5.1 Activar el filtrado por países

En csf.conf, busca:

CC_DENY = ""

Y añade los códigos de país que quieras bloquear (separados por comas). Por ejemplo, para bloquear China y Rusia:

CC_DENY = "CN,RU"

5.2 Permitir solo ciertos países

Para permitir solo algunos países (modo whitelist), usa:

CC_ALLOW = "ES,MX,AR"

[WARNING] Ten cuidado con el filtrado por países: si tu proveedor de hosting tiene sus servidores en otro país, podrías bloquearte a ti mismo. Por ejemplo, si tu servidor está en Estados Unidos pero tu audiencia es española, no bloquees EE.UU. o perderás acceso al panel.


Paso 6: Configurar CSF desde DirectAdmin

Una de las grandes ventajas de CSF DirectAdmin es que no necesitas usar la terminal para todo. El panel tiene una interfaz gráfica integrada.

6.1 Acceder a la interfaz de CSF

  1. Inicia sesión en DirectAdmin como administrador.
  2. Ve a Panel de ControlCSF Firewall.
  3. Verás un panel con todas las opciones de configuración.

6.2 Gestionar IPs desde DirectAdmin

Desde la interfaz puedes:

  • Ver IPs bloqueadas.
  • Añadir IPs a la lista de permitidos.
  • Desbloquear IPs manualmente.
  • Ver los logs de ataques bloqueados.

Paso 7: Verificar que el firewall está funcionando

Después de configurar todo, es importante verificar que CSF está protegiendo tu servidor.

7.1 Comprobar el estado del firewall

csf -l

Te mostrará una lista de las reglas activas y el estado del firewall.

7.2 Ver los logs de ataques

CSF guarda logs de todos los eventos en /var/log/lfd.log. Puedes revisarlos con:

tail -f /var/log/lfd.log

Esto te mostrará en tiempo real los intentos de acceso fallidos y los bloqueos.

7.3 Probar el bloqueo de fuerza bruta

Para probar que LFD funciona, intenta conectarte por SSH con una contraseña incorrecta varias veces. Después de los intentos configurados, verás cómo la IP es bloqueada.


Preguntas frecuentes sobre CSF DirectAdmin

¿CSF puede bloquear mi propio acceso al servidor?

Sí, si configuras mal los puertos o el filtrado por países. Por eso siempre recomiendo activar primero el modo test (csf -t) y asegurarte de que tu IP está en la lista de permitidos.

¿Puedo usar CSF y Syspanel en el mismo servidor?

No, CSF está diseñado para funcionar únicamente con DirectAdmin. Si usas Syspanel (antes HestiaCP), deberías usar su propio firewall integrado o configurar iptables manualmente. Recuerda que el puerto de acceso de Syspanel es el 2106.

¿Cada cuánto debo revisar los logs de CSF?

Recomiendo revisar los logs al menos una vez por semana para detectar patrones de ataque. Si recibes muchos ataques, puedes configurar alertas por correo para estar al tanto.

¿CSF afecta el rendimiento del servidor?

No, CSF es muy ligero y no afecta el rendimiento. El demonio LFD consume muy pocos recursos del sistema.

¿Puedo desinstalar CSF si no me gusta?

Sí, puedes desinstalarlo con:

cd /usr/src/csf
sh uninstall.sh

Pero no lo recomiendo: es una de las mejores protecciones que puedes tener.


Consejos finales para una seguridad robusta

  1. Actualiza CSF regularmente: Revisa si hay nuevas versiones con csf -u o desde la web de ConfigServer.
  2. Cambia el puerto SSH por defecto: Esto reduce drásticamente los ataques de fuerza bruta.
  3. Usa claves SSH en lugar de contraseñas: Es mucho más seguro.
  4. Configura alertas por correo: Así te enterarás de cualquier actividad sospechosa.
  5. Haz copias de seguridad: Antes de hacer cambios importantes en la configuración, guarda una copia de csf.conf.

Configurar CSF en DirectAdmin es una de las mejores inversiones de tiempo que puedes hacer para la seguridad de tu servidor. Con esta guía, incluso los usuarios sin experiencia técnica pueden tener un firewall robusto y funcional en menos de 30 minutos.

[TIP] Si tienes dudas sobre algún parámetro específico, no lo toques a ciegas. Investiga primero o consulta la documentación oficial de ConfigServer en https://configserver.com. Una mala configuración puede hacer que tu servidor quede inaccesible.


Conclusión

La seguridad de un servidor no es opcional, es una necesidad. CSF DirectAdmin es la solución más completa y fácil de usar para proteger tu servidor de ataques externos. Con esta guía, has aprendido a:

  • Instalar CSF en DirectAdmin.
  • Configurar puertos y reglas básicas.
  • Activar la protección contra fuerza bruta.
  • Gestionar IPs permitidas y bloqueadas.
  • Filtrar tráfico por países.
  • Usar la interfaz gráfica de DirectAdmin.

Ahora tu servidor está mucho más protegido. Pero recuerda: la seguridad es un proceso continuo. Revisa los logs, mantén el software actualizado y nunca bajes la guardia.

Si te ha quedado alguna duda, deja un comentario o consulta la documentación oficial. ¡Tu servidor te lo agradecerá!

¿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