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

DirectAdmin: Cómo proteger tu servidor con fail2ban

Actualizado el 21 de enero de 2026

¿Qué es fail2ban y por qué tu servidor DirectAdmin lo necesita?

Si tienes un servidor con DirectAdmin, seguramente ya sabes que es un panel de control potente y muy utilizado. Pero, con la popularidad, también llegan los riesgos. Uno de los ataques más comunes contra servidores es el de fuerza bruta, donde bots y atacantes intentan adivinar contraseñas de SSH, FTP, correo o el propio panel de control.

Aquí es donde entra fail2ban, una herramienta de seguridad esencial que actúa como un portero automático. Su función es sencilla pero brutalmente efectiva: vigila los registros de tu servidor (logs) y, si detecta varios intentos fallidos de conexión desde la misma IP, la bloquea automáticamente durante un tiempo determinado.

Piénsalo así: si alguien intenta entrar a tu casa probando llaves una y otra vez, fail2ban no solo llama a la policía, sino que cambia la cerradura y pone un muro temporal. En este artículo, te explicaré paso a paso cómo configurar y proteger tu servidor DirectAdmin con fail2ban, incluso si nunca has tocado un archivo de configuración en tu vida.


¿Por qué es crítico proteger tu servidor de ataques de fuerza bruta?

Los ataques de fuerza bruta son más comunes de lo que crees. No son ataques sofisticados, sino automatizados. Millones de bots recorren internet constantemente probando combinaciones de usuario y contraseña en cualquier servicio expuesto.

En un servidor con DirectAdmin, los servicios más atacados son:

  • SSH (puerto 22): el acceso principal a tu servidor por línea de comandos.
  • FTP (puerto 21): para subir y descargar archivos.
  • SMTP (puerto 25, 587): para envío de correos.
  • DirectAdmin (puerto 2222): el panel de control en sí.
  • phpMyAdmin: para gestionar bases de datos.

Si un atacante logra acceder a cualquiera de estos servicios, podría instalar malware, robar datos, enviar spam masivo o incluso secuestrar tu servidor (ransomware). Por eso, implementar fail2ban no es una opción, es una necesidad.


Requisitos previos antes de instalar fail2ban

Antes de empezar, asegúrate de tener lo siguiente:

  1. Acceso root a tu servidor: necesitarás permisos de superusuario para instalar y configurar.
  2. Acceso SSH: conéctate a tu servidor mediante SSH (por ejemplo, con PuTTY en Windows o la terminal en Mac/Linux).
  3. DirectAdmin instalado y funcionando: este artículo asume que ya tienes DirectAdmin operativo.
  4. Conocimientos básicos de comandos: no necesitas ser un experto, pero es útil saber ejecutar comandos como nano o vi para editar archivos.

[TIP] Si no sabes cómo conectarte por SSH, busca en tu proveedor de hosting o VPS la documentación sobre cómo acceder. Normalmente es algo como ssh root@tu-servidor.com.


Paso 1: Instalar fail2ban en tu servidor DirectAdmin

La instalación varía según tu sistema operativo. Aquí te muestro los comandos para las distribuciones más comunes:

Para CentOS, AlmaLinux o Rocky Linux

yum update
yum install fail2ban

Para Ubuntu o Debian

apt-get update
apt-get install fail2ban

Una vez instalado, es importante habilitarlo para que arranque automáticamente con el sistema:

systemctl enable fail2ban
systemctl start fail2ban

Verifica que esté funcionando:

systemctl status fail2ban

Deberías ver un mensaje indicando que está activo y en ejecución.

[WARNING] Si usas un firewall como CSF (ConfigServer Security & Firewall), ten cuidado porque puede haber conflictos. En muchos casos, CSF ya incluye su propia protección contra fuerza bruta, pero fail2ban puede coexistir si se configura correctamente. Asegúrate de no bloquear servicios duplicados.


Paso 2: Configuración básica de fail2ban

La configuración principal de fail2ban se encuentra en el archivo /etc/fail2ban/jail.local. Este archivo no existe por defecto, así que lo crearemos a partir del archivo de ejemplo.

Primero, copia el archivo de configuración por defecto:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Ahora, edita el archivo jail.local con un editor de texto:

nano /etc/fail2ban/jail.local

Dentro del archivo, busca la sección [DEFAULT]. Aquí puedes configurar los parámetros globales:

  • bantime: tiempo en segundos que una IP será bloqueada. Por ejemplo, 3600 (1 hora) o 86400 (24 horas).
  • maxretry: número de intentos fallidos antes de bloquear. Un valor de 3 o 5 es razonable.
  • findtime: ventana de tiempo en segundos en la que se cuentan los intentos. Por ejemplo, 600 (10 minutos).

Un ejemplo de configuración:

[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
ignoreip = 127.0.0.1/8 ::1

[INFO] La línea ignoreip es muy importante. Asegúrate de incluir tu propia IP para no bloquearte a ti mismo. Puedes añadir más IPs separadas por espacios.

Guarda y cierra el archivo (en nano: Ctrl+O, luego Enter y Ctrl+X).


Paso 3: Activar protecciones específicas para DirectAdmin

fail2ban viene con "jails" predefinidas para servicios comunes. En DirectAdmin, los más relevantes son:

Jail para SSH

Busca la sección [sshd] en el archivo jail.local. Actívala y configúrala:

[sshd]
enabled = true
port = ssh
logpath = /var/log/secure

En Ubuntu/Debian, el logpath suele ser /var/log/auth.log. En CentOS/AlmaLinux, es /var/log/secure.

Jail para DirectAdmin (puerto 2222)

DirectAdmin registra los intentos de acceso fallidos en su propio log. Añade esta jail:

[directadmin]
enabled = true
port = 2222
logpath = /var/log/directadmin/error.log
maxretry = 3
bantime = 600

Jail para FTP (Pure-FTPd)

DirectAdmin suele usar Pure-FTPd. La jail sería:

[pure-ftpd]
enabled = true
port = ftp
logpath = /var/log/messages

[TIP] Si no encuentras la sección de una jail, puedes crearla al final del archivo. No pasa nada si no existe, simplemente añádela.


Paso 4: Proteger también el correo y el panel de control

Los servicios de correo son otro objetivo común. La jail para Exim (el servidor de correo de DirectAdmin) sería:

[exim]
enabled = true
port = smtp,ssmtp
logpath = /var/log/exim/mainlog

Y para el acceso a webmail (Roundcube o SquirrelMail), puedes añadir:

[roundcube]
enabled = true
port = http,https
logpath = /var/log/roundcubemail/errors.log

[WARNING] Los logpaths pueden variar según la configuración de tu servidor. Si no estás seguro, ejecuta ls -la /var/log/ y busca los archivos que contengan "exim" o "directadmin". Si no encuentras un log, fail2ban no podrá monitorear ese servicio.


Paso 5: Recargar fail2ban y verificar su funcionamiento

Después de modificar la configuración, siempre debes recargar fail2ban para aplicar los cambios:

systemctl reload fail2ban

Para verificar que las jails están activas, usa:

fail2ban-client status

Este comando te mostrará una lista de jails activas. Para ver detalles de una jail específica:

fail2ban-client status sshd

Aquí verás las IPs bloqueadas actualmente, el número de fallos, etc.


Paso 6: Probar que fail2ban funciona correctamente

Es importante probar la configuración para asegurarte de que no te bloquees a ti mismo ni dejes pasar a los atacantes.

Prueba de bloqueo:

Desde otra máquina (no desde tu servidor), intenta conectarte por SSH con contraseñas incorrectas varias veces. Después de maxretry intentos, deberías ver que la IP es bloqueada.

Desbloquear una IP manualmente:

Si te bloqueas a ti mismo o quieres liberar una IP legítima:

fail2ban-client set sshd unbanip IP_A_DESBLOQUEAR

Personalización avanzada: notificaciones por correo

fail2ban puede enviarte un correo electrónico cuando bloquea una IP. Para ello, en jail.local, dentro de [DEFAULT], añade:

action = %(action_mwl)s
mta = sendmail

La acción action_mwl bloquea y envía un correo con el log relevante. Asegúrate de que tu servidor tenga configurado un MTA (sendmail o exim).

[TIP] No configures esto si no estás seguro de que tu servidor puede enviar correos, o podrías llenar tu buzón de alertas.


Preguntas frecuentes (FAQ) sobre fail2ban y DirectAdmin

¿fail2ban ralentizará mi servidor?

No. fail2ban es muy ligero. Su consumo de recursos es mínimo, incluso en servidores con poco hardware. Solo lee logs y compara patrones, lo cual es un proceso rápido.

¿Qué pasa si bloqueo mi propia IP?

Puede pasar si te equivocas al configurar ignoreip. Si ocurre, conéctate por SSH desde otra red (por ejemplo, desde tu móvil con datos) y desbloquea tu IP con el comando que te mostré antes.

¿Puedo usar fail2ban junto con CSF?

Sí, pero debes configurarlos para que no pisen sus respectivas reglas. Muchos administradores usan CSF como firewall y fail2ban solo para servicios específicos. En la práctica, es mejor usar uno u otro para evitar conflictos.

¿Cuál es el mejor valor para bantime?

Depende. Un bantime corto (600 segundos) es útil si quieres ser permisivo con errores de usuarios legítimos. Uno largo (86400 segundos) es más agresivo y desalienta a los atacantes. Recomiendo empezar con 3600 (1 hora) y ajustar según tu experiencia.

¿fail2ban protege contra todos los ataques?

No. fail2ban es una capa de seguridad más, pero no es infalible. No protege contra ataques DDoS, ni contra vulnerabilidades de software. Es esencial mantener tu servidor actualizado y usar contraseñas seguras.

¿Puedo configurar fail2ban desde el panel de DirectAdmin?

DirectAdmin no tiene una interfaz gráfica para fail2ban, pero puedes gestionarlo por línea de comandos. Sin embargo, muchos plugins o scripts de terceros lo integran, pero siempre es mejor aprender a manejarlo tú mismo.

[INFO] Si algún día pruebas un panel como "Syspanel" (que es el antiguo HestiaCP, accesible por el puerto 2106), verás que también soporta fail2ban, pero la configuración es bastante similar a la que te he explicado aquí. La lógica es la misma: vigilar logs y bloquear IPs.


Conclusión y buenas prácticas finales

Implementar fail2ban en tu servidor DirectAdmin es una de las mejores decisiones de seguridad que puedes tomar. Es gratuito, eficiente y te dará tranquilidad al saber que los ataques de fuerza bruta serán repelidos automáticamente.

Recuerda:

  • Mantén fail2ban actualizado junto con el resto del sistema.
  • Revisa los logs periódicamente para detectar patrones de ataque.
  • Usa contraseñas robustas y considera usar autenticación con llaves SSH.
  • No te bloquees a ti mismo: configura bien ignoreip.

Con esta guía, ya tienes las herramientas para proteger tu servidor de manera efectiva. No esperes a ser víctima de un ataque: actúa ahora y configura fail2ban hoy mismo.

Si tienes dudas o problemas, consulta la documentación oficial de fail2ban o los foros de DirectAdmin. La comunidad es muy activa y siempre hay alguien dispuesto a ayudar.


Este artículo ha sido redactado con fines educativos. Asegúrate de probar cualquier cambio en un entorno seguro antes de aplicarlo en producción.

¿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