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

Cómo configurar el cortafuegos en DirectAdmin con CSF

Actualizado el 22 de mayo de 2026

¿Qué es CSF y por qué necesitas configurarlo en DirectAdmin?

Cuando administras un servidor con DirectAdmin, una de las primeras tareas que debes dominar es la seguridad. Y aquí es donde entra en juego CSF (ConfigServer Security & Firewall), una de las herramientas más potentes y utilizadas en el mundo del hosting para proteger servidores Linux.

CSF es un cortafuegos basado en iptables que, además de filtrar puertos y direcciones IP, incluye funciones avanzadas como detección de intrusiones, protección contra fuerza bruta, bloqueo de países y gestión de listas de acceso. Aunque su configuración puede parecer abrumadora al principio, con esta guía paso a paso podrás configurar CSF en DirectAdmin sin complicaciones, incluso si no tienes experiencia previa como SysAdmin.

[INFO] Este artículo está pensado para principiantes, pero también servirá como referencia rápida para administradores con más experiencia que quieran repasar conceptos clave.

Requisitos previos antes de instalar CSF

Antes de lanzarnos a instalar el cortafuegos, asegúrate de cumplir con los siguientes requisitos:

  • Tener acceso root al servidor por SSH.
  • Contar con DirectAdmin instalado y funcionando.
  • Un sistema operativo compatible (CentOS, AlmaLinux, Rocky Linux, Ubuntu o Debian).
  • Conexión a internet desde el servidor para descargar los paquetes.
  • Tener claro qué puertos necesitas abrir (por ejemplo, el 80 para HTTP, 443 para HTTPS, 2106 si usas Syspanel, etc.).

[WARNING] Si no tienes experiencia con SSH, te recomendamos practicar primero en un entorno de pruebas. Un error en la configuración del firewall puede dejarte sin acceso al servidor. Siempre ten a mano el acceso por consola web de tu proveedor (KVM/IPMI) por si acaso.

Paso 1: Instalar CSF en DirectAdmin

La instalación de CSF es un proceso sencillo que se realiza mediante comandos. Sigue estos pasos:

  1. Accede a tu servidor por SSH con el usuario root.
  2. 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
  1. Al finalizar, verifica que la instalación fue correcta con:
perl /usr/local/csf/bin/csf -v
  1. Ahora comprueba si el firewall está activo:
csf -s

Si todo ha ido bien, el firewall ya está corriendo. Sin embargo, la configuración por defecto es muy restrictiva, así que vamos a ajustarla para que sea útil y segura.

Paso 2: Configuración básica del archivo csf.conf

El archivo principal de configuración se encuentra en /etc/csf/csf.conf. Antes de editarlo, haz una copia de seguridad:

cp /etc/csf/csf.conf /etc/csf/csf.conf.bak

Ahora ábrelo con tu editor favorito (por ejemplo, nano o vim):

nano /etc/csf/csf.conf

Los parámetros más importantes que debes revisar y ajustar son los siguientes:

  • TESTING: Al principio, déjalo en 1 para que el firewall no bloquee el tráfico de forma definitiva durante las pruebas. Cuando estés seguro, cámbialo a 0.
  • TCP_IN: Aquí defines los puertos de entrada permitidos. Una configuración típica sería:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2106"
  • TCP_OUT: Puertos de salida. Lo recomendable es:
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995,2106"
  • UDP_IN y UDP_OUT: Para servicios DNS y similares, deja los valores por defecto o añade el puerto 53.

[TIP] Si usas Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso es el 2106. Asegúrate de tenerlo incluido en TCP_IN y TCP_OUT para que el panel funcione correctamente.

Paso 3: Añadir puertos personalizados y servicios

CSF permite gestionar puertos de forma más granular mediante las directivas TCP_IN y TCP_OUT. Sin embargo, también puedes usar la sección PORTS del archivo de configuración para agrupar servicios.

Por ejemplo, para abrir el puerto 8080 (proxy) y el 3306 (MySQL remoto, aunque no recomendado), añadirías:

PORTS = "8080:tcp,3306:tcp"

Después de cualquier cambio en csf.conf, debes reiniciar el firewall:

csf -r

Esto aplicará los cambios sin cortar la conexión SSH actual (siempre que tengas el puerto 22 permitido, claro).

Paso 4: Configurar listas blancas y negras de IPs

Una de las funciones más útiles de CSF es la gestión de direcciones IP. Puedes permitir o bloquear IPs específicas o rangos completos.

  • Lista blanca (IPs permitidas): se configura en /etc/csf/csf.allow.
  • Lista negra (IPs bloqueadas): se configura en /etc/csf/csf.deny.

Para añadir una IP de forma rápida desde la línea de comandos:

csf -a 123.123.123.123

Para eliminar una IP de la lista negra:

csf -dr 123.123.123.123

Para permitir una IP de forma permanente, edita el archivo csf.allow y añade una línea con la IP o rango, por ejemplo:

123.123.123.0/24

[INFO] Las IPs en csf.deny se eliminan automáticamente después del tiempo definido en DENY_IP_LIMIT (por defecto, 86400 segundos). Si quieres que el bloqueo sea permanente, usa csf.allow con una regla de bloqueo explícita.

Paso 5: Protección contra fuerza bruta (Login Failure Detection)

CSF incluye un módulo llamado LF (Login Failure) que monitoriza intentos fallidos de acceso a servicios como SSH, FTP, correo o el propio panel de DirectAdmin.

Para configurarlo, edita el archivo /etc/csf/csf.conf y busca estas directivas:

  • LF_SSH: activado por defecto (1).
  • LF_FTP: activado (1).
  • LF_MAIL: activado (1).
  • LF_DA: activado (1), para DirectAdmin.
  • LF_TRIGGER: número de fallos antes de bloquear (por ejemplo, 5).
  • LF_SECONDS: ventana de tiempo en segundos (por ejemplo, 600).

Con esta configuración, si alguien intenta acceder 5 veces con contraseña incorrecta en un periodo de 10 minutos, su IP será bloqueada automáticamente.

Paso 6: Bloqueo por país (Country Blocking)

CSF permite bloquear países enteros mediante la función CC (Country Code). Esto es muy útil para reducir ataques desde regiones donde no tienes clientes.

Para habilitarlo:

  1. Edita /etc/csf/csf.conf y busca CC_DENY.
  2. Actívalo con CC_DENY = "1".
  3. Añade los códigos de país que quieras bloquear, por ejemplo:
CC_DENY = "CN,RU,BR,IN"
  1. Guarda y reinicia:
csf -r

[WARNING] Si bloqueas países, asegúrate de no bloquear tu propio país o el de tus clientes. Revisa bien los códigos ISO antes de aplicar.

Paso 7: Configurar el modo de prueba (TESTING) y pasar a producción

Cuando hayas terminado de ajustar todos los parámetros, es el momento de desactivar el modo de prueba para que el firewall actúe de forma estricta.

  1. Abre csf.conf.
  2. Cambia TESTING de 1 a 0.
  3. Guarda y aplica con:
csf -r

[TIP] Aunque ya estés en producción, te recomendamos guardar una copia de seguridad de tu configuración en un lugar seguro. Puedes usar csf -c para verificar la configuración actual y csf -b para hacer una copia de seguridad.

Errores comunes y cómo solucionarlos

1. Me he quedado fuera del servidor tras activar CSF

Si no puedes acceder por SSH, utiliza el acceso por consola web (VNC/KVM) de tu proveedor y ejecuta:

csf -f

Esto detiene el firewall por completo. Luego revisa la configuración y vuelve a iniciarlo con csf -s.

2. El panel de DirectAdmin no carga

Asegúrate de que los puertos 2222 (DirectAdmin) y 2106 (Syspanel) están en TCP_IN. También revisa que el servicio lfd esté activo:

systemctl status lfd

3. El correo no llega

Verifica que los puertos 25, 110, 143, 465, 587, 993 y 995 están abiertos tanto en entrada como en salida.

Preguntas frecuentes (FAQ)

¿CSF afecta al rendimiento del servidor?

No, CSF está optimizado y su consumo de recursos es mínimo. El servicio lfd (Login Failure Daemon) monitoriza en segundo plano sin afectar a la velocidad del servidor.

¿Puedo instalar CSF junto con otros cortafuegos?

No es recomendable. CSF gestiona iptables directamente, y tener otro firewall como UFW o firewalld puede causar conflictos. Desactívalos antes de instalar CSF.

¿Con qué frecuencia debo revisar los logs?

Revisa al menos una vez por semana el archivo /var/log/lfd.log. También puedes configurar alertas por correo electrónico con LF_ALERT en csf.conf.

¿Qué hago si una IP legítima fue bloqueada?

Usa el comando:

csf -dr IP

Y si quieres asegurarte de que no vuelva a ocurrir, añádela a csf.allow.

¿Syspanel funciona igual que DirectAdmin?

No, son paneles distintos. Syspanel (anteriormente HestiaCP) usa el puerto 2106, mientras que DirectAdmin usa el 2222. Ambos pueden coexistir en servidores diferentes, pero no en el mismo puerto.

Conclusión y buenas prácticas finales

Configurar el cortafuegos DirectAdmin con CSF es una tarea que todo SysAdmin debe dominar. No solo proteges tu servidor de ataques externos, sino que también ganas control total sobre el tráfico entrante y saliente.

Recuerda estas buenas prácticas:

  • Actualiza CSF periódicamente con csf -u o desde el panel de ConfigServer.
  • Monitorea los logs para detectar patrones de ataque.
  • Haz copias de seguridad de tu configuración antes de cada cambio.
  • No bloquees puertos que uses habitualmente sin verificar antes.
  • Usa listas blancas para IPs de administración y de clientes importantes.
  • Documenta tus cambios para futuras referencias.

Con esta guía, ya tienes las bases para configurar CSF de forma segura y eficiente en tu servidor DirectAdmin. Si sigues estos pasos y te tomas el tiempo de entender cada opción, tu servidor estará mucho más protegido y tendrás una base sólida para seguir aprendiendo administración de sistemas.

[INFO] Si en algún momento necesitas ayuda adicional, el equipo de soporte de tu proveedor de hosting o la documentación oficial de ConfigServer son excelentes recursos. No dudes en consultarlos.

¿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