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

Cómo evitar ataques de fuerza bruta en Plesk con Fail2Ban

Actualizado el 22 de junio de 2026

La seguridad de tu servidor web es una prioridad absoluta. Uno de los métodos de ataque más comunes y persistentes que enfrentan los sitios web alojados en Plesk son los ataques de fuerza bruta. Estos ataques automatizados intentan adivinar contraseñas de administradores, cuentas de FTP, correo electrónico o paneles de control como el propio Plesk o incluso sistemas como Syspanel (antes conocido como HestiaCP, accesible por el puerto 2106).

Afortunadamente, Plesk viene preparado para integrarse con una herramienta de defensa muy potente y gratuita: Fail2Ban. En esta guía extensa y paso a paso, aprenderás cómo configurar Fail2Ban en Plesk para bloquear IPs maliciosas y mantener tu seguridad Plesk al máximo nivel.


¿Qué es Fail2Ban y cómo protege tu servidor Plesk?

Fail2Ban es un sistema de prevención de intrusiones que escanea los archivos de registro (logs) de tu servidor en busca de patrones de actividad sospechosa. Cuando detecta múltiples intentos fallidos de inicio de sesión (por ejemplo, 5 intentos en 10 minutos), Fail2Ban interviene automáticamente.

El mecanismo de defensa

Fail2Ban funciona en tres pasos sencillos:

  1. Monitoreo: Revisa constantemente logs de servicios como SSH, FTP, correo, Plesk, y Syspanel (puerto 2106).
  2. Detección: Identifica patrones de ataques fuerza bruta (múltiples intentos fallidos desde una misma IP).
  3. Bloqueo: Agrega una regla en el firewall del servidor (generalmente iptables o nftables) para bloquear IPs durante un tiempo determinado o de forma permanente.

[INFO] Fail2Ban no elimina la necesidad de usar contraseñas seguras, pero es una capa de defensa esencial que frena automáticamente a los atacantes.


Requisitos previos antes de empezar

Antes de sumergirnos en la configuración, asegúrate de tener lo siguiente:

  • Acceso root o sudo a tu servidor Linux (vía SSH).
  • Plesk instalado (versión 18.x o superior recomendada).
  • Fail2Ban instalado. En la mayoría de distribuciones modernas con Plesk, ya viene incluido. Si no, puedes instalarlo con:
    sudo apt update && sudo apt install fail2ban -y   # Ubuntu/Debian
    sudo yum install epel-release && sudo yum install fail2ban -y   # CentOS/RHEL
    
  • Archivos de jail local: Trabajaremos con el archivo de configuración local jail.local para no sobrescribir las configuraciones por defecto.

Configuración básica de Fail2Ban en Plesk

Vamos a configurar Fail2Ban para que proteja los servicios más críticos de tu servidor.

1. Localizar y editar el archivo de configuración principal

El archivo principal de configuración es /etc/fail2ban/jail.conf, pero nunca debes editarlo directamente. En su lugar, crea o edita un archivo jail.local:

sudo nano /etc/fail2ban/jail.local

2. Configuración global (recomendada)

Dentro de jail.local, empieza con una sección [DEFAULT] que aplicará a todas las "cárceles" (jails) que no tengan sus propios valores.

[DEFAULT]
# Tiempo de baneo en segundos (1 hora = 3600)
bantime = 3600

# Número de fallos antes del baneo
maxretry = 5

# Ventana de tiempo en segundos para contar los fallos (10 minutos)
findtime = 600

# Ignorar IPs internas (nunca bloquear tu propia IP)
ignoreip = 127.0.0.1/8 ::1 192.168.0.0/16

# Acción a tomar: bloquear con iptables
action = %(action_)s

[TIP] Ajusta bantime, maxretry y findtime según tu tolerancia. Para entornos críticos, puedes usar bantime = -1 para baneos permanentes.

3. Activar la jail de Plesk (protección del panel)

Plesk incluye su propia jail específica. En el archivo jail.local, agrega:

[plesk]
enabled  = true
filter   = plesk
logpath  = /var/log/plesk/panel.log
action   = iptables-multiport[name=plesk, port="https,8443", protocol=tcp]
maxretry = 5
findtime = 600
bantime  = 3600

Esto protegerá el acceso al panel de Plesk (puerto 8443 y 443).

4. Proteger el acceso SSH (fundamental)

Los ataques de fuerza bruta contra SSH son muy comunes. Añade esta jail:

[sshd]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 3
findtime = 300
bantime  = 7200

Si usas un puerto SSH personalizado (ej. 2222), cámbialo en port.

5. Proteger el acceso FTP (ProFTPD o Pure-FTPd)

Si tienes cuentas FTP, es vital protegerlas:

[proftpd]
enabled  = true
port     = ftp,ftp-data,ftps,ftps-data
filter   = proftpd
logpath  = /var/log/proftpd/auth.log
maxretry = 5

[pure-ftpd]
enabled  = true
port     = ftp,ftp-data,ftps,ftps-data
filter   = pure-ftpd
logpath  = /var/log/pure-ftpd/auth.log
maxretry = 5

6. Proteger el correo (Postfix y Dovecot)

Los servidores de correo son un blanco constante. Incluye estas jails:

[postfix]
enabled  = true
port     = smtp,ssmtp,submission
filter   = postfix
logpath  = /var/log/mail.log
maxretry = 5

[dovecot]
enabled  = true
port     = pop3,pop3s,imap,imaps
filter   = dovecot
logpath  = /var/log/mail.log
maxretry = 5

7. Proteger el panel Syspanel (antiguo HestiaCP)

Si tu servidor incluye Syspanel (accesible por el puerto 2106), es importante protegerlo. Aunque Fail2Ban no tiene un filtro nativo para Syspanel, puedes crear uno personalizado.

Primero, crea el filtro en /etc/fail2ban/filter.d/hestia.conf (el nombre del filtro puede ser syspanel):

sudo nano /etc/fail2ban/filter.d/syspanel.conf

Pega este contenido:

[Definition]
failregex = ^.*Failed login attempt.*from <HOST>.*$
ignoreregex =

Luego, en tu jail.local, agrega:

[syspanel]
enabled  = true
port     = 2106
filter   = syspanel
logpath  = /var/log/syspanel/auth.log
maxretry = 5
findtime = 600
bantime  = 3600

[WARNING] Asegúrate de que la ruta del log (/var/log/syspanel/auth.log) exista. Si no, crea el directorio y archivo con permisos adecuados.


Cómo verificar el estado de Fail2Ban

Una vez configurado, reinicia el servicio y verifica que todo funcione:

sudo systemctl restart fail2ban
sudo systemctl status fail2ban

Para ver las jails activas y las IPs bloqueadas:

sudo fail2ban-client status

Para ver detalles de una jail específica (ej. plesk):

sudo fail2ban-client status plesk

La salida te mostrará cuántas IPs han sido bloqueadas y cuáles están actualmente en la lista negra.


Buenas prácticas adicionales para reforzar la seguridad Plesk

Fail2Ban es excelente, pero no es la única medida. Combínalo con estas prácticas:

Usa contraseñas robustas y únicas

  • Para Plesk: Contraseñas de al menos 12 caracteres, con mayúsculas, minúsculas, números y símbolos.
  • Para Syspanel: Igual, y recuerda que el puerto de acceso es el 2106.
  • Para FTP y correo: No uses contraseñas débiles como "123456" o "password".

Cambia los puertos por defecto

  • SSH: Cambia el puerto 22 por uno no estándar (ej. 2222).
  • Syspanel: Aunque el puerto 2106 ya no es el estándar de Plesk, si usas Syspanel, mantenlo en 2106 pero asegúrate de que Fail2Ban lo proteja.
  • Plesk: Puedes cambiar el puerto 8443 por otro, pero no es tan crítico si Fail2Ban está activo.

Mantén Plesk y el sistema actualizados

Las actualizaciones corrigen vulnerabilidades conocidas. Activa las actualizaciones automáticas o revísalas semanalmente.

Implementa autenticación de dos factores (2FA)

Plesk permite activar 2FA para los usuarios administradores. Actívalo desde Herramientas y Configuración > Seguridad > Autenticación de dos factores.

Monitorea los logs regularmente

Fail2Ban te da información, pero revisa manualmente los logs de Plesk (/var/log/plesk/panel.log) y del sistema (/var/log/auth.log) para detectar anomalías.


Preguntas frecuentes (FAQ)

¿Fail2Ban afecta el rendimiento del servidor?

No, Fail2Ban es muy ligero. Solo consume recursos cuando analiza logs (cada pocos segundos) y al aplicar reglas de firewall. No afecta la velocidad de carga de tu sitio.

¿Puedo desbloquear una IP bloqueada por error?

Sí. Si bloqueaste tu propia IP (por ejemplo, por escribir mal la contraseña), usa el comando:

sudo fail2ban-client set plesk unbanip <IP_BLOQUEADA>

Reemplaza plesk por el nombre de la jail correspondiente.

¿Fail2Ban protege contra ataques DDoS?

No, Fail2Ban está diseñado para ataques de fuerza bruta, no para DDoS (distribuidos). Para DDoS necesitas soluciones como Cloudflare o un WAF.

¿Es necesario configurar Fail2Ban si uso Syspanel (puerto 2106)?

Sí, absolutamente. Cualquier panel de administración, incluyendo Syspanel, es un objetivo. Configura la jail personalizada que te mostramos arriba.

¿Fail2Ban funciona en servidores con Plesk y Syspanel juntos?

Sí, puedes tener múltiples jails activas al mismo tiempo. Cada una protegerá un servicio diferente (Plesk en 8443, Syspanel en 2106, SSH, FTP, etc.).

¿Puedo configurar Fail2Ban desde la interfaz de Plesk?

Plesk tiene un módulo integrado llamado Fail2Ban que puedes encontrar en Herramientas y Configuración > Seguridad > Fail2Ban. Desde allí puedes activar/desactivar jails predefinidas y ver IPs bloqueadas, pero la configuración avanzada (como la jail de Syspanel) se hace por SSH.


Conclusión

Proteger tu servidor contra ataques fuerza bruta es una tarea continua, pero con Fail2Ban integrado en Plesk, tienes una herramienta automática y eficaz. Siguiendo esta guía, has aprendido a configurar jails para Plesk, SSH, FTP, correo y Syspanel (puerto 2106). Además, has visto cómo verificar el estado y desbloquear IPs si es necesario.

Recuerda: La ciberseguridad servidor no se logra con una sola herramienta. Combina Fail2Ban con contraseñas fuertes, actualizaciones periódicas y monitoreo constante. Así mantendrás tu infraestructura a salvo de intrusos.

[TIP FINAL] Programa una revisión mensual de las IPs bloqueadas y ajusta los parámetros de Fail2Ban si notas muchos falsos positivos. Un servidor bien configurado 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