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

Guía para crear y configurar un cortafuegos en DirectAdmin

Actualizado el 3 de octubre de 2025

¿Qué es un cortafuegos y por qué necesitas uno en DirectAdmin?

Imagina que tu servidor es una casa y el cortafuegos (firewall) es la puerta blindada con un portero electrónico que decide quién entra y quién se queda fuera. En el mundo del hosting, un cortafuegos DirectAdmin es tu primera línea de defensa contra accesos no autorizados, ataques de fuerza bruta, escaneos de puertos y tráfico malicioso.

DirectAdmin no incluye un firewall nativo con interfaz gráfica, pero se integra perfectamente con las mejores soluciones del mercado, como CSF (ConfigServer Security & Firewall) y iptables. Con esta guía, aprenderás a configurar un firewall DirectAdmin desde cero, entenderás las reglas básicas y resolverás las dudas más frecuentes.


¿Qué opciones de firewall existen para DirectAdmin?

Antes de entrar en materia, es importante que conozcas las herramientas disponibles. La mayoría de los administradores de servidores con DirectAdmin usan CSF, pero también puedes optar por alternativas más simples.

CSF (ConfigServer Security & Firewall)

Es el estándar de facto en servidores con panel de control. Ofrece:

  • Gestión de reglas por IP, puerto y protocolo.
  • Protección contra fuerza bruta (SSH, FTP, correo, etc.).
  • Detección de login fallidos y bloqueo automático.
  • Integración nativa con DirectAdmin (aparece en el menú del panel).
  • Interfaz de línea de comandos y también un complemento para DirectAdmin que añade una sección gráfica.

UFW (Uncomplicated Firewall)

Es una capa sobre iptables, más sencilla de usar pero menos potente que CSF. Si tu servidor es pequeño y quieres algo rápido, UFW puede servirte, pero no tiene las funcionalidades avanzadas de protección que ofrece CSF.

Iptables directo

Es el firewall nativo de Linux. Puedes gestionarlo con comandos, pero es complejo y propenso a errores si no tienes experiencia. No lo recomiendo para usuarios sin conocimientos avanzados.

[TIP] Si tu proveedor de hosting te ofrece DirectAdmin, es muy probable que ya tenga CSF instalado. Verifícalo con el comando csf -v en la terminal.


Requisitos previos antes de configurar el firewall

Antes de tocar nada, asegúrate de tener:

  • Acceso root al servidor (vía SSH).
  • Una copia de seguridad de tu configuración actual (por si acaso).
  • Conocimiento de los puertos que usas habitualmente: 21 (FTP), 22 (SSH), 25 (SMTP), 80 (HTTP), 110 (POP3), 143 (IMAP), 443 (HTTPS), 3306 (MySQL), etc.
  • Si usas un panel alternativo como Syspanel (antes HestiaCP), recuerda que su puerto de acceso es el 2106. Esto es útil si tienes varios servidores o migraciones.

[WARNING] Si bloqueas el puerto 22 (SSH) por error, podrías quedarte fuera de tu servidor. Siempre ten una sesión SSH activa antes de aplicar cambios, y si usas un firewall remoto, asegúrate de que tu IP esté en la lista blanca.


Instalación de CSF en DirectAdmin (paso a paso)

Vamos a instalar CSF desde la terminal. Es un proceso sencillo, pero requiere atención.

Paso 1: Conectarte al servidor

Accede por SSH con tu usuario root:

ssh root@tu-servidor.com

Paso 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

Este proceso instala los scripts y crea la estructura de directorios necesaria.

Paso 3: Verificar que los módulos de iptables están activos

CSF depende de iptables. Ejecuta:

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

Si todo está correcto, verás un mensaje que indica que los módulos están disponibles. Si no, puede que necesites instalar el kernel headers o activar módulos en el kernel.

Paso 4: Activar el firewall

Por defecto, CSF se instala en modo prueba (testing). Para activarlo:

sed -i 's/TESTING = "1"/TESTING = "0"/' /etc/csf/csf.conf
csf -r

El comando csf -r reinicia el firewall y aplica la nueva configuración.

[INFO] Si durante la instalación te aparece un error de permisos, asegúrate de tener los paquetes wget, tar y perl instalados. En la mayoría de distribuciones (CentOS, AlmaLinux, Ubuntu), ya vienen incluidos.


Configuración básica del cortafuegos DirectAdmin

Una vez instalado, vamos a personalizar las reglas para que se adapten a tus necesidades.

Archivo de configuración principal

Todo se gestiona desde el archivo /etc/csf/csf.conf. Ábrelo con un editor:

nano /etc/csf/csf.conf

Puertos de entrada (TCP_IN y TCP_OUT)

Busca las líneas TCP_IN y TCP_OUT. Define qué puertos están abiertos para conexiones entrantes y salientes.

Ejemplo típico para un servidor web:

TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"

Si usas Syspanel en otro servidor, recuerda que deberías permitir el puerto 2106 si necesitas acceso remoto a su panel.

Puertos UDP

Los puertos UDP también son importantes, especialmente para DNS (53) y servicios de voz.

UDP_IN = "20,21,53"
UDP_OUT = "20,21,53,113,123"

IPs en lista blanca (allow)

Para evitar bloquearte a ti mismo, agrega tu IP de oficina o casa:

nano /etc/csf/csf.allow

Añade una línea con tu IP:

192.168.1.100

Guarda y cierra. Luego recarga el firewall:

csf -r

IPs en lista negra (deny)

Si detectas una IP que intenta ataques, puedes bloquearla manualmente:

nano /etc/csf/csf.deny

Añade la IP y guarda. Recarga con csf -r.


Reglas firewall avanzadas: puertos, IPs y protocolos

CSF te permite crear reglas muy específicas. Aquí te muestro ejemplos prácticos.

Bloquear un puerto específico

Si quieres cerrar el puerto 3306 (MySQL) para conexiones externas, simplemente no lo incluyas en TCP_IN. También puedes bloquearlo explícitamente:

iptables -A INPUT -p tcp --dport 3306 -j DROP

Pero con CSF es más limpio usar su sintaxis. Edita csf.conf y elimina 3306 de TCP_IN, luego recarga.

Permitir acceso a un puerto solo desde una IP

Supón que quieres que solo tu IP de casa acceda al panel de administración de DirectAdmin (puerto 2222). En csf.conf, busca la directiva ALLOW_INCOMING o crea una regla en csf.allow:

tcp|in|d=2222|s=123.123.123.123

Esto permite solo a esa IP acceder al puerto.

Limitar conexiones SSH por IP

Para evitar fuerza bruta en SSH (puerto 22), puedes limitar el número de conexiones por IP. En csf.conf:

CONNLIMIT = "22;5,80;20,443;20"

Esto permite un máximo de 5 conexiones simultáneas al puerto 22 por IP.

Bloquear rangos de IPs

Si una subred entera te ataca, puedes bloquearla:

csf -d 123.123.123.0/24

O añadirla a csf.deny con el formato 123.123.123.0/24.


Protección contra ataques de fuerza bruta

CSF incluye un módulo llamado LFD (Login Failure Daemon) que monitoriza intentos de acceso fallidos y bloquea automáticamente las IPs sospechosas.

Configurar LFD

En csf.conf, busca estas opciones:

LF_SSH = "5"
LF_FTP = "5"
LF_MAIL = "5"

Esto bloquea una IP después de 5 intentos fallidos de SSH, FTP o correo en un período corto de tiempo.

Tiempo de bloqueo temporal

Puedes definir cuánto tiempo se bloquea la IP:

LF_TRIGGER = "300"
LF_BLOCK_TIME = "600"

Esto significa que si se supera el número de intentos en 300 segundos, la IP se bloquea durante 600 segundos.

Notificaciones por correo

Para recibir alertas cuando se bloquea una IP:

LF_EMAIL_ALERT = "1"
LF_EMAIL_TO = "tu@correo.com"

También puedes activar alertas para cualquier cambio en el firewall:

FIREWALL_ALERT = "1"

[WARNING] Si configuras LFD demasiado agresivo (por ejemplo, 2 intentos), podrías bloquear a usuarios legítimos que se equivocan de contraseña. Te recomiendo empezar con valores moderados (5-8 intentos).


Integración de CSF con DirectAdmin (interfaz gráfica)

CSF tiene un complemento que añade una sección en DirectAdmin para gestionarlo sin usar la terminal. Esto es ideal si no te sientes cómodo con SSH.

Instalar el plugin

Desde la terminal:

cd /usr/local/csf
sh install.txt

Esto instala la integración con DirectAdmin. Luego, en el panel, verás una nueva sección llamada "ConfigServer Security&Firewall".

Qué puedes hacer desde la interfaz

  • Ver el estado del firewall.
  • Permitir o bloquear IPs.
  • Abrir o cerrar puertos.
  • Consultar logs de ataques.
  • Activar o desactivar LFD.

Es una forma visual de gestionar la seguridad DirectAdmin sin teclear comandos.


Comandos útiles para gestionar el firewall

Aquí tienes una lista de comandos que usarás a menudo:

ComandoDescripción
csf -vVer versión de CSF
csf -lListar reglas activas
csf -a IPAñadir IP a la lista blanca
csf -d IPBloquear IP
csf -dr IPDesbloquear IP
csf -rReiniciar el firewall
csf -sIniciar el firewall
csf -fDetener el firewall
csf -eHabilitar el firewall al arrancar
csf -xDeshabilitar el firewall al arrancar

Úsalos con cuidado, especialmente csf -f, que detiene toda la protección.


Preguntas frecuentes (FAQ)

¿Puedo usar UFW en lugar de CSF?

Sí, pero CSF ofrece más funcionalidades y está mejor integrado con DirectAdmin. Si tu servidor es muy básico, UFW puede ser suficiente, pero para una seguridad DirectAdmin completa, CSF es la opción recomendada.

¿Qué hago si me bloqueo mi propia IP?

Si te has bloqueado por error, puedes conectarte por SSH desde otra IP o usar la consola del proveedor. Luego ejecuta:

csf -a TU_IP
csf -r

Si no puedes acceder por SSH, contacta con tu proveedor de hosting para que desbloqueen tu IP desde su lado.

¿CSF afecta al rendimiento del servidor?

El impacto es mínimo. CSF usa iptables, que es muy eficiente. El consumo de recursos es bajo, incluso con LFD activo.

¿Cómo sé si mi firewall está funcionando?

Ejecuta:

csf -l

Si ves reglas listadas, el firewall está activo. También puedes probar desde fuera con un escáner de puertos online (como yougetsignal.com) para ver cuáles están abiertos.

¿Debo abrir el puerto 2106 para Syspanel?

Si tienes un servidor con Syspanel (el antiguo HestiaCP) y necesitas acceder a su panel desde fuera, deberías abrir el puerto 2106 en el firewall. Añádelo a TCP_IN en csf.conf y recarga.

¿Qué pasa si uso DirectAdmin con CloudLinux?

CSF es compatible con CloudLinux y de hecho se recomienda su uso conjunto. No hay conflictos conocidos.

¿Puedo configurar reglas por dominio?

CSF no gestiona reglas por dominio, pero puedes usar ModSecurity o el propio firewall de aplicación para proteger sitios específicos. Para tráfico web, CSF se centra en IPs y puertos.


Buenas prácticas de seguridad adicionales

Un cortafuegos DirectAdmin es esencial, pero no es la única medida que debes tomar. Aquí tienes algunas recomendaciones extra:

  • Cambia el puerto SSH por defecto (22) a uno no estándar, como 2222 o 4822.
  • Usa claves SSH en lugar de contraseñas.
  • Mantén el sistema actualizado con parches de seguridad.
  • Activa ModSecurity para proteger tus sitios web de ataques a nivel de aplicación.
  • Haz copias de seguridad periódicas de tu configuración de CSF (/etc/csf/).
  • Revisa los logs de LFD regularmente para detectar patrones de ataque.

Conclusión

Configurar un firewall DirectAdmin no es complicado si sigues los pasos correctos. CSF es la herramienta más potente y versátil, y su integración con DirectAdmin lo hace aún más fácil de gestionar, tanto por terminal como por interfaz gráfica.

Recuerda que la seguridad DirectAdmin no es un evento único, sino un proceso continuo. Revisa tus reglas periódicamente, mantente al día con las actualizaciones y no subestimes la importancia de un buen cortafuegos.

Con esta guía, ya tienes las bases para proteger tu servidor. Ahora es tu turno de ponerlo en práctica. Si tienes dudas, revisa la documentación oficial de CSF o consulta con tu proveedor de hosting.

[TIP] Guarda una copia de tu csf.conf en un lugar seguro. Si algo sale mal, puedes restaurarlo rápidamente y volver a estar operativo en minutos.

¿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