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

Cómo configurar un cortafuegos en DirectAdmin: Guía paso a paso

Actualizado el 15 de octubre de 2025

Introducción: ¿Por qué necesitas un cortafuegos en tu servidor?

Si tienes un servidor gestionado con DirectAdmin, una de las primeras medidas de seguridad que debes implementar es un cortafuegos. Un cortafuegos (o firewall) actúa como una barrera entre tu servidor y el resto de internet, filtrando el tráfico no deseado y protegiendo tus datos y aplicaciones. Sin él, tu servidor está expuesto a ataques como fuerza bruta, escaneo de puertos, inyecciones maliciosas e intentos de acceso no autorizado.

Configurar un cortafuegos en DirectAdmin no es tan complicado como parece. En esta guía paso a paso te explicaré cómo hacerlo desde cero, usando herramientas gratuitas y configuraciones básicas que cualquier persona (incluso sin experiencia técnica) puede seguir. Al final, tendrás un servidor mucho más seguro y listo para enfrentar amenazas comunes.

Palabras clave incluidas: DirectAdmin cortafuegos, firewall DirectAdmin, configurar seguridad DirectAdmin, paso a paso DirectAdmin, proteger servidor.


¿Qué es un cortafuegos y cómo funciona?

Un cortafuegos es un sistema que controla el tráfico de red entrante y saliente. Imagina que tu servidor es una casa: el cortafuegos es la puerta principal con un portero que decide quién puede entrar y quién no. Puedes permitir el acceso solo a ciertos puertos (como el 80 para HTTP o el 443 para HTTPS) y bloquear todo lo demás.

En un servidor con DirectAdmin, el cortafuegos puede ser implementado a nivel de sistema operativo (usando iptables o nftables) o mediante herramientas gráficas como CSF (ConfigServer Security & Firewall) o APF (Advanced Policy Firewall). En esta guía usaremos CSF, ya que es la más popular y fácil de manejar.


Requisitos previos

Antes de empezar, asegúrate de tener:

  • Acceso a tu servidor como root o con un usuario con permisos de superusuario (sudo).
  • DirectAdmin instalado y funcionando.
  • Conexión SSH (o acceso al panel de control de tu VPS/dedicado).

[WARNING] Si no tienes experiencia con SSH, te recomiendo practicar comandos básicos primero. Un error al configurar el cortafuegos podría bloquear tu acceso al servidor. Siempre ten una copia de seguridad o acceso a la consola de emergencia de tu proveedor.


Paso 1: Conectar a tu servidor por SSH

Abre tu terminal (en Windows puedes usar PuTTY, en macOS o Linux la terminal nativa) y conéctate:

ssh root@tu-ip-del-servidor

Ingresa tu contraseña cuando te la pida. Si usas claves SSH, asegúrate de tener la clave privada cargada.

[TIP] Si no recuerdas tu IP, puedes obtenerla desde el panel de tu proveedor de hosting o desde DirectAdmin (en Admin Level -> Admin Tools -> Server Information).


Paso 2: Instalar CSF (ConfigServer Security & Firewall)

CSF es un script que facilita la gestión de iptables. Para instalarlo:

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

Durante la instalación, el script comprobará si tienes las dependencias necesarias (como Perl). Si falta algo, te indicará cómo instalarlo. Por ejemplo, en CentOS/AlmaLinux:

yum install perl-libwww-perl -y

En Ubuntu/Debian:

apt-get install libwww-perl -y

Una vez instalado, CSF se configura automáticamente. Puedes verificar que está funcionando con:

csf -v

Deberías ver la versión instalada.


Paso 3: Configuración inicial de CSF

El archivo de configuración principal es /etc/csf/csf.conf. Edítalo con un editor como nano:

nano /etc/csf/csf.conf

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

3.1. Habilitar el firewall

Localiza TESTING = "1" y cámbialo a TESTING = "0". Esto desactiva el modo de prueba y activa el firewall.

[WARNING] Nunca cambies esto sin antes haber configurado correctamente los puertos permitidos. Si lo haces, podrías bloquear tu acceso SSH.

3.2. Configurar puertos permitidos

Busca la línea TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995". Esta lista define los puertos TCP entrantes permitidos. Asegúrate de que incluya:

  • 22 para SSH.
  • 80 para HTTP.
  • 443 para HTTPS.
  • 21 para FTP (si lo usas).
  • 25, 465, 587 para correo SMTP.
  • 110, 995 para POP3.
  • 143, 993 para IMAP.
  • 53 para DNS (si tu servidor es nameserver).

Si usas Syspanel (antes conocido como HestiaCP), recuerda añadir el puerto 2106 para acceder a su panel. Por ejemplo:

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

Para puertos UDP salientes, localiza UDP_OUT = "20,21,22,53,80,443,465,587,993,995" y ajusta según necesites.

3.3. Configurar direcciones IP confiables

Busca IGNORE_ALLOW = "" y añade tu IP actual para no ser bloqueado accidentalmente. Por ejemplo:

IGNORE_ALLOW = "192.168.1.100"

Si no sabes tu IP, visita whatismyip.com.

3.4. Activar protección contra fuerza bruta

CSF incluye un módulo llamado LF (Login Failure). Busca y activa:

LF_SSHD = "5"
LF_FTPD = "10"
LF_SMTPAUTH = "5"

Esto bloqueará temporalmente IPs que tengan demasiados intentos fallidos de inicio de sesión.

Guarda los cambios (Ctrl+O, luego Ctrl+X en nano).


Paso 4: Reiniciar y probar el firewall

Aplica la configuración:

csf -r

Verifica que los puertos estén abiertos:

csf -l

Deberías ver una lista de reglas activas. También puedes probar desde otro equipo:

ssh -p 22 tu-usuario@tu-ip

Si todo funciona, ¡enhorabuena! Ya tienes un cortafuegos básico.

[TIP] Si algo falla, puedes desactivar el firewall temporalmente con csf -x y luego csf -e para reactivarlo.


Paso 5: Configuración avanzada (opcional pero recomendada)

5.1. Bloquear países enteros

CSF permite bloquear tráfico de países específicos. Edita /etc/csf/csf.conf y busca:

CC_DENY = ""

Añade los códigos de país que quieras bloquear (ej. CN, RU, KP). Luego descarga la base de datos de países:

csf -a /usr/share/GeoIP/GeoIP.dat

5.2. Crear reglas personalizadas

Puedes añadir reglas manuales en /etc/csf/csf.deny para IPs específicas. Por ejemplo:

# Bloquear IP maliciosa
123.456.789.0

Luego recarga con csf -r.

5.3. Activar el firewall en modo estricto

Para máxima seguridad, cambia TCP_IN a solo los puertos esenciales (por ejemplo, 22,80,443). Pero ten cuidado: si usas correo o FTP, esos puertos también deben estar abiertos.


Paso 6: Monitoreo y mantenimiento

CSF incluye herramientas de monitoreo:

  • csf -m: Muestra el estado del firewall.
  • csf -g: Genera un reporte de conexiones.
  • csf -t: Prueba reglas sin aplicarlas (modo test).

Revisa los logs en /var/log/lfd.log para ver intentos de ataque bloqueados.

[INFO] LFD (Login Failure Daemon) es el proceso que monitorea fallos de inicio de sesión. Si ves muchas entradas de una IP, puedes bloquearla manualmente.


Preguntas frecuentes (FAQ)

1. ¿Qué hago si me bloqueo a mí mismo?

Si pierdes acceso SSH, usa la consola de emergencia de tu proveedor (VPS o dedicado) para conectarte y ejecutar:

csf -x

Luego, corrige tu IP en IGNORE_ALLOW y reactiva con csf -e.

2. ¿CSF afecta el rendimiento del servidor?

No significativamente. CSF es ligero y solo analiza paquetes entrantes/salientes. En servidores con mucho tráfico, puede tener un impacto mínimo, pero es preferible a estar desprotegido.

3. ¿Necesito configurar algo en DirectAdmin?

No directamente, pero puedes integrar CSF con DirectAdmin para gestionar reglas desde el panel. En DirectAdmin, ve a Admin Level -> Plugin Manager e instala el plugin CSF si está disponible.

4. ¿Puedo usar otro cortafuegos con DirectAdmin?

Sí. Alternativas como APF o UFW (en Ubuntu) también funcionan, pero CSF es la más recomendada por su integración y facilidad de uso.

5. ¿Qué pasa si tengo Syspanel (HestiaCP) en el mismo servidor?

Asegúrate de abrir el puerto 2106 en TCP_IN para acceder a Syspanel. Además, verifica que el firewall no bloquee los puertos de Syspanel (por defecto, 8083 para panel, 2106 para acceso web).


Conclusión

Configurar un cortafuegos en DirectAdmin es un paso esencial para proteger tu servidor. Con CSF, has creado una barrera sólida contra ataques comunes, y con las configuraciones avanzadas puedes adaptarlo a tus necesidades específicas. Recuerda siempre hacer copias de seguridad de tus reglas y monitorear los logs periódicamente.

Resumen de pasos:

  1. Conéctate por SSH.
  2. Instala CSF.
  3. Edita /etc/csf/csf.conf (puertos, IPs confiables, protección contra fuerza bruta).
  4. Reinicia el firewall.
  5. Prueba la conectividad.
  6. Ajusta configuraciones avanzadas si lo deseas.

¡Tu servidor ahora está más seguro! Si tienes dudas, revisa la documentación oficial de CSF o consulta con tu proveedor de hosting.

[TIP FINAL] La seguridad es un proceso continuo. Actualiza CSF regularmente (csf -u) y revisa las nuevas amenazas. Un servidor protegido es un servidor feliz.

¿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