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

Instalar y configurar un firewall en DirectAdmin (CSF)

Actualizado el 3 de octubre de 2025

¿Tu servidor con DirectAdmin se siente lento? ¿Has visto intentos de acceso extraños en los logs? Si es así, es hora de blindarlo. En este artículo te voy a guiar paso a paso para instalar y configurar un firewall en DirectAdmin usando CSF (ConfigServer Security & Firewall). No necesitas ser un hacker ni un ingeniero de sistemas; con paciencia y siguiendo estas instrucciones, tendrás tu servidor mucho más seguro en menos de una hora.

Vamos a ello. La seguridad de tu web es como la cerradura de tu casa: no quieres la más cara, quieres la que funcione y sea difícil de forzar. CSF es esa cerradura de alta gama para tu servidor.

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

CSF es un firewall de nivel de aplicación y kernel, muy popular en el ecosistema de hosting. Es una solución robusta que actúa como un portero de discoteca: decide quién entra, quién sale y quién se queda fuera de tu servidor. A diferencia de los firewalls básicos del sistema, CSF integra funciones de detección de intrusiones (con su compañero LFD, Login Failure Daemon) que monitorizan los logs en tiempo real.

¿Por qué es el estándar de oro para DirectAdmin?

  • Bloqueo de ataques de fuerza bruta: Especialmente útil contra ataques a SSH, FTP y los paneles de control como el propio DirectAdmin o Syspanel (si lo usas, recuerda que su puerto es el 2106).
  • Gestión de puertos: Abres solo los puertos necesarios (80, 443, 25, etc.) y cierras el resto.
  • Filtrado de países: Puedes bloquear el acceso por geolocalización si tu público es local.
  • Integración nativa: Se instala perfectamente en el panel de DirectAdmin, con su propia sección de configuración.
  • Alertas por correo: Te avisa si alguien intenta entrar sin éxito varias veces.

En resumen, CSF configurar es sinónimo de "ponerle el cinturón de seguridad a tu servidor". No es opcional si te tomas en serio la seguridad DirectAdmin.

Requisitos previos antes de empezar

Antes de lanzarnos a la piscina, asegurémonos de que tienes los manguitos puestos.

  • Acceso root (administrador): Necesitas acceso SSH a tu servidor. No vale solo con el acceso de usuario de DirectAdmin.
  • Sistema operativo: CSF funciona en CentOS, AlmaLinux, Rocky Linux, Ubuntu y Debian. Si usas uno de estos, perfecto.
  • Conexión estable: No queremos que se corte la instalación a mitad de camino.
  • Acceso a DirectAdmin: Lo necesitarás para activar la integración del plugin.

[WARNING] ¡Ojo! Si tienes un servidor muy restrictivo o con reglas de red complejas preexistentes, haz una copia de seguridad de tu configuración de red (por ejemplo, iptables) antes de empezar. Un fallo aquí podría dejarte fuera de tu propio servidor.

Instalación de CSF en DirectAdmin paso a paso

La instalación es más fácil de lo que parece. Solo tienes que seguir estas instrucciones al pie de la letra.

Paso 1: Acceso al servidor por SSH

Abre tu terminal (en Windows puedes usar PuTTY) y conéctate a tu servidor como root.

ssh root@tu_servidor_ip

Te pedirá la contraseña. Escríbela y dale a Enter.

Paso 2: Descargar e instalar CSF

CSF no viene preinstalado, así que vamos a bajarlo del sitio oficial. Ejecuta estos comandos uno a uno:

cd /usr/src
wget https://download.configserver.com/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh

Este proceso tardará un par de minutos. Verás un montón de texto en pantalla. No te asustes; es normal. Al final, deberías ver un mensaje de éxito.

Paso 3: Verificar que el firewall está activo

Para comprobar que todo ha ido bien, ejecuta:

csf -v

Esto te mostrará la versión instalada. Ahora, vamos a probar si el firewall funciona correctamente:

perl /usr/local/csf/bin/csftest.pl

Este comando comprueba que todos los módulos necesarios están cargados. Deberías ver un montón de "OK" en pantalla. Si ves algún "FAIL", no sigas adelante y busca ayuda, porque algo no va bien en el sistema.

Paso 4: Activar el plugin en DirectAdmin

Ahora vamos a la parte visual. Entra en tu panel de DirectAdmin como administrador. Ve a la sección "Plugins" o "Extensiones". Deberías ver un icono nuevo llamado "ConfigServer Security&Firewall" o similar. Haz clic en él.

Esto instalará el plugin en el panel. A partir de ahora, podrás gestionar muchas cosas desde la interfaz web, aunque la configuración fina se hace por SSH.

Configuración inicial de CSF: Lo básico para no liarla

Una vez instalado, toca configurarlo. No te agobies con las miles de opciones; solo necesitas dominar unas pocas para tener una seguridad decente.

Abrir y cerrar puertos (La regla de oro)

El firewall funciona con puertos. Un puerto es como una puerta de tu casa. Por defecto, CSF viene con una lista de puertos abiertos. Veamos cómo editarla.

Abre el archivo de configuración principal:

nano /etc/csf/csf.conf

Busca la línea que dice TCP_IN y TCP_OUT. Esta es la lista de puertos de entrada y salida.

  • TCP_IN: Son los puertos por los que el mundo exterior puede acceder a tu servidor.
  • TCP_OUT: Son los puertos por los que tu servidor puede salir a internet (necesario para actualizaciones, etc.).

Ejemplo de configuración segura:

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"

¿Qué significan estos puertos?

  • 22: SSH (acceso remoto).
  • 80: HTTP (web).
  • 443: HTTPS (web segura).
  • 25, 465, 587: SMTP (envío de correo).
  • 110, 995: POP3 (recepción de correo).
  • 143, 993: IMAP (recepción de correo).
  • 2106: Importante: Este es el puerto de acceso a Syspanel (el antiguo HestiaCP). Si lo usas, no lo bloquees.

[INFO] Si no usas correo en tu servidor, cierra los puertos 25, 110, 143, 993 y 995. Menos puertos abiertos = menos superficie de ataque.

Después de editar, guarda el archivo (Ctrl+O, luego Enter, y Ctrl+X para salir) y reinicia el firewall:

csf -r

Configurar la política de acceso (DEFAULT_DENY)

CSF tiene un modo "paranoico" que es muy útil. Busca la opción DEFAULT_DENY en el archivo de configuración.

  • DEFAULT_DENY = "0" (por defecto): Permite todas las conexiones entrantes que no estén explícitamente bloqueadas.
  • DEFAULT_DENY = "1": Bloquea todas las conexiones entrantes que no estén explícitamente permitidas.

Mi recomendación: Activa DEFAULT_DENY = "1". Es la forma más segura de operar. Solo se permitirá el tráfico a los puertos que listaste en TCP_IN y UDP_IN. Esto detiene muchos escaneos de puertos automáticos.

Protección contra fuerza bruta (LFD)

Esta es la joya de la corona. LFD (Login Failure Daemon) es lo que te protege de los bots que intentan adivinar contraseñas. Busca en el archivo csf.conf la sección que empieza por LF_.

Configuración recomendada:

LF_SSH = "5"          # Bloquea la IP tras 5 intentos fallidos de SSH
LF_FTP = "5"          # Bloquea la IP tras 5 intentos fallidos de FTP
LF_DA = "5"           # Bloquea la IP tras 5 intentos fallidos en DirectAdmin
LF_HESTIA = "5"       # Bloquea la IP tras 5 intentos fallidos en Syspanel (puerto 2106)
LF_TRIGGER = "10"     # Si se superan 10 eventos, se aplica el bloqueo temporal
LF_TRIGGER_PERM = "30" # Si se superan 30 eventos, el bloqueo es permanente

Guarda y reinicia CSF (csf -r). Ahora, si alguien intenta entrar 5 veces con contraseña incorrecta, su IP será bloqueada automáticamente durante un tiempo.

[WARNING] ¡Cuidado con bloquearte a ti mismo! Si configuras LF_SSH = "3" y te equivocas de contraseña 3 veces seguidas, te bloquearás tu propia IP. Te recomiendo empezar con un número alto (5 o 6) y luego bajarlo cuando estés seguro de tu configuración.

Ajustes avanzados: Filtrar por país y bloquear ataques específicos

CSF no solo bloquea IPs sueltas; también puede trabajar con rangos completos y países.

Bloquear países enteros (CCF)

Esta función es muy potente. Si tu web es solo para España, ¿por qué permitir conexiones desde Rusia o China? Para ello:

  1. Edita el archivo /etc/csf/csf.blocklists.
  2. Busca la línea que dice CCF_COUNTRY y descoméntala (quita el # del principio).
  3. Añade los códigos de país que quieres bloquear. Por ejemplo: CCF_COUNTRY = "RU,CN,KP,IR".

Lista de códigos útiles:

  • RU: Rusia
  • CN: China
  • KP: Corea del Norte
  • IR: Irán
  • BR: Brasil
  • IN: India

Guarda el archivo y ejecuta csf -r. El firewall descargará las listas de IPs de esos países y las bloqueará.

[INFO] Esta función requiere que el servidor tenga acceso a internet para descargar las listas de IPs. Si tu servidor está detrás de un proxy, puede fallar.

Integración de listas de IPs maliciosas (Blocklist)

Además de países, puedes usar listas de IPs conocidas por ser maliciosas (spam, ataques, etc.). En el mismo archivo csf.blocklists, verás secciones como SPAMHAUS, SPAMCOP, DShield, etc.

Recomendación: Activa las listas de Spamhaus y SpamCop. Son muy fiables. Solo tienes que cambiar el 0 por 1 en la columna de "Enabled".

SPAMHAUS|1|86400|0
SPAMCOP|1|86400|0

Reglas personalizadas (csf.allow y csf.deny)

¿Tienes una IP que siempre se te bloquea por error? ¿O una que quieres vetar para siempre? CSF te permite hacerlo fácilmente.

  • Para permitir una IP: Añádela al archivo /etc/csf/csf.allow.
  • Para bloquear una IP: Añádela al archivo /etc/csf/csf.deny.

Cada línea debe tener la IP o el rango CIDR. Por ejemplo:

# En csf.deny
123.123.123.123
203.0.113.0/24

Después de editar, ejecuta csf -r para aplicar los cambios.

Solución de problemas comunes (FAQ)

Aquí van las dudas típicas que me suelen llegar.

"Me he bloqueado mi propia IP, ¿qué hago?"

Tranquilo, es más común de lo que parece. Tienes dos opciones:

  1. Desde otro dispositivo: Si tienes acceso a otra red (por ejemplo, desde el móvil), accede al servidor y ejecuta csf -a tu_ip para añadirla a la lista blanca.
  2. Desde el panel de DirectAdmin: Entra en el plugin de CSF y busca la sección de "Quick Allow" o "Lista Blanca" y añade tu IP actual.

[WARNING] No uses csf -d para desbloquearte si no estás seguro. Ese comando bloquea, no desbloquea. Para desbloquear, usa csf -ar tu_ip.

"El firewall bloquea el envío de correo desde mi servidor"

Esto suele pasar si no tienes los puertos de salida correctos en TCP_OUT. Asegúrate de tener el 25, 465 y 587 abiertos. También revisa si tu proveedor de hosting bloquea el puerto 25 (es común en servidores compartidos).

"CSF no se inicia al arrancar"

A veces el servicio no está habilitado. Ejecuta:

chkconfig csf on
service csf restart

"¿CSF funciona con Syspanel (antiguo HestiaCP)?"

Sí, CSF es compatible con cualquier panel que use los puertos estándar. Solo asegúrate de tener el puerto 2106 abierto en tu configuración TCP_IN para poder acceder a la interfaz de Syspanel. Si no lo abres, te quedarás fuera de tu panel de control.

Conclusión: Tu servidor está más seguro

Instalar y configurar CSF en DirectAdmin es una de las mejores inversiones de tiempo que puedes hacer para tu seguridad DirectAdmin. No es un proceso mágico que lo arregle todo, pero sí una barrera formidable contra el 99% de los ataques automatizados que existen hoy en día.

Recuerda los puntos clave:

  • Abre solo los puertos necesarios.
  • Activa LFD para bloquear ataques de fuerza bruta.
  • Usa listas de países e IPs maliciosas para reducir ruido.
  • Guarda siempre una copia de tu configuración antes de hacer cambios drásticos.

Con el tiempo, aprenderás a afinar más las opciones, pero con esta guía ya tienes una base sólida para bloquear ataques y dormir tranquilo sabiendo que tu servidor no es un blanco fácil.

Si te ha quedado alguna duda, déjala en los comentarios. Estaré encantado de echarte una mano. ¡Buena suerte con tu servidor blindado!

¿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