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

Cómo configurar Fail2ban en un servidor con Plesk

Actualizado el 14 de mayo de 2026

¿Qué es Fail2ban y por qué necesitas activarlo en Plesk?

Si tienes un servidor con Plesk, seguramente ya sabes que es un panel de control potente, pero también es un imán para ataques de fuerza bruta. Cada día, bots y scripts maliciosos intentan adivinar contraseñas de SSH, FTP, correo electrónico o incluso del propio panel de administración. Aquí es donde entra Fail2ban Plesk, una herramienta de seguridad que actúa como un guardia de seguridad automático para tu servidor.

Fail2ban funciona de manera muy sencilla pero efectiva: monitoriza los archivos de registro (logs) del sistema en busca de patrones de comportamiento sospechoso, como múltiples intentos fallidos de inicio de sesión. Cuando detecta un patrón de ataque, bloquea automáticamente la dirección IP del agresor mediante las reglas del firewall (generalmente iptables o firewalld). El resultado es un bloqueo IP automático que detiene el ataque en seco, sin que tú tengas que intervenir manualmente.

En este artículo, te voy a guiar paso a paso para configurar Fail2ban en un servidor con Plesk. No necesitas ser un experto en Linux, solo seguir las instrucciones con calma. Al final, tendrás una capa extra de seguridad Plesk que te protegerá de ataques de fuerza bruta y te dará tranquilidad.

[INFO] Aunque este tutorial está enfocado en Plesk, la lógica de Fail2ban es universal. Si algún día usas otro panel como Syspanel (antiguamente conocido como HestiaCP, cuyo acceso se realiza por el puerto 2106), los conceptos te servirán, aunque los comandos específicos pueden variar.

Requisitos previos antes de empezar

Antes de lanzarnos a la configuración, asegúrate de tener lo siguiente:

  • Acceso SSH a tu servidor con permisos de superusuario (root) o un usuario con privilegios sudo.
  • Tener Plesk instalado y funcionando correctamente.
  • Un firewall activo (Plesk suele incluir su propio firewall, pero Fail2ban puede trabajar con iptables o firewalld).
  • Conexión estable a internet para instalar paquetes si es necesario.

Si no tienes acceso root, puedes usar un usuario con sudo, pero tendrás que añadir sudo al inicio de cada comando. Yo te mostraré los comandos con sudo para que sean válidos en ambos casos.

Paso 1: Instalar Fail2ban en tu servidor

Lo primero es instalar Fail2ban. Dependiendo de tu sistema operativo, el comando variará ligeramente. La mayoría de los servidores con Plesk usan CentOS, AlmaLinux, Rocky Linux o Ubuntu. Te doy las opciones para ambos casos.

En sistemas basados en RHEL (CentOS, AlmaLinux, Rocky Linux)

Abre tu terminal SSH y ejecuta:

sudo dnf install epel-release
sudo dnf install fail2ban

Si usas CentOS 7 o una versión anterior, el comando sería:

sudo yum install epel-release
sudo yum install fail2ban

En sistemas basados en Debian/Ubuntu

sudo apt update
sudo apt install fail2ban

[TIP] Una vez instalado, verifica la versión con fail2ban-client --version. Si aparece un número de versión, la instalación fue exitosa.

Paso 2: Crear el archivo de configuración local

Fail2ban viene con un archivo de configuración principal llamado jail.conf. Sin embargo, no se debe modificar directamente porque las actualizaciones del paquete pueden sobrescribirlo. En su lugar, crearemos un archivo local llamado jail.local.

Para ello, copia el archivo original como plantilla:

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

Ahora abre el archivo con tu editor de texto favorito. Usaré nano porque es sencillo:

sudo nano /etc/fail2ban/jail.local

Dentro del archivo, busca la sección [DEFAULT]. Aquí es donde definiremos los parámetros globales. No te asustes por la cantidad de texto, solo nos interesan unas cuantas líneas.

Configurar los parámetros globales

Busca las siguientes directivas y ajusta los valores:

  • ignoreip: Aquí pones las IPs que nunca deben ser bloqueadas. Es recomendable añadir tu propia IP para no quedarte fuera. Por ejemplo: ignoreip = 127.0.0.1/8 ::1 192.168.1.100. Si no sabes tu IP, puedes consultarla en sitios como ifconfig.me.
  • bantime: Tiempo en segundos que estará bloqueada la IP. Por defecto suele ser 600 (10 minutos). Puedes poner 3600 (1 hora) o 86400 (24 horas) para ataques persistentes.
  • findtime: Ventana de tiempo en segundos en la que se cuentan los intentos fallidos. Por ejemplo, 600 significa que si hay 5 fallos en 10 minutos, se bloquea.
  • maxretry: Número máximo de intentos fallidos antes del bloqueo. El valor por defecto suele ser 5.

Un ejemplo de configuración básica sería:

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

[WARNING] Si pones bantime demasiado alto, podrías bloquear a usuarios legítimos que se equivocan al escribir su contraseña. Un valor de 1 hora es un buen equilibrio.

Paso 3: Configurar las cárceles (jails) específicas para Plesk

Los "jails" son las reglas específicas que Fail2ban aplica a diferentes servicios. Plesk tiene varios servicios que son objetivos comunes de ataques: SSH, FTP, correo (Postfix/Dovecot), el propio panel (Plesk) y el servidor web (Apache/Nginx).

En el archivo jail.local, desplázate hasta el final y añade las siguientes secciones. Si alguna ya existe, solo modifica los valores.

Jail para SSH

Busca la sección [sshd]. Si no está, créala al final del archivo:

[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

Jail para Plesk Panel (puerto 8443)

Plesk tiene su propio servicio de autenticación. Para protegerlo de ataques de fuerza bruta al panel, añade:

[plesk-panel]
enabled = true
port = 8443
logpath = /var/log/plesk/panel.log
maxretry = 5
bantime = 600

[INFO] El archivo de log de Plesk puede variar según la versión. Si no encuentras panel.log, revisa la ruta /var/log/plesk/ con ls -la para ver los archivos disponibles.

Jail para FTP (Pure-FTPd)

Plesk suele usar Pure-FTPd. Añade esta sección:

[proftpd]
enabled = true
port = ftp,ftp-data
logpath = /var/log/messages

En algunos sistemas, el log puede estar en /var/log/proftpd/proftpd.log. Ajusta la ruta según tu distribución.

Jail para correo (Postfix y Dovecot)

Para proteger el correo electrónico, añade dos secciones:

[postfix]
enabled = true
port = smtp,ssmtp
logpath = /var/log/maillog

[dovecot]
enabled = true
port = pop3,pop3s,imap,imaps
logpath = /var/log/maillog

En sistemas Ubuntu, el log de correo suele estar en /var/log/mail.log en lugar de /var/log/maillog. Ajusta según tu caso.

Jail para Apache (protección contra ataques web)

Este jail es útil si tienes sitios web que son atacados con intentos de fuerza bruta a wp-login.php o similares:

[apache-auth]
enabled = true
port = http,https
logpath = /var/log/apache2/error.log

En sistemas RHEL, la ruta sería /var/log/httpd/error_log.

Paso 4: Activar y arrancar Fail2ban

Una vez que hayas guardado los cambios en jail.local, es hora de activar el servicio. Ejecuta:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Para verificar que está funcionando correctamente, puedes comprobar el estado:

sudo systemctl status fail2ban

Deberías ver un mensaje que indique que el servicio está activo y corriendo.

Paso 5: Comprobar las reglas activas y las IPs bloqueadas

Para ver qué jails están activos y cuántas IPs han sido bloqueadas, usa:

sudo fail2ban-client status

Verás una lista de jails habilitados. Para ver detalles de un jail específico, por ejemplo SSH:

sudo fail2ban-client status sshd

Esto te mostrará las IPs bloqueadas actualmente, el número de fallos y más información útil.

[TIP] Si quieres desbloquear una IP manualmente porque fue bloqueada por error, usa: sudo fail2ban-client set sshd unbanip IP_AQUI. Sustituye IP_AQUI por la dirección IP real.

Paso 6: Configurar notificaciones por correo electrónico

Una parte importante de la seguridad Plesk es estar informado. Fail2ban puede enviarte un correo cada vez que bloquee una IP. Para configurarlo, necesitas añadir las siguientes líneas en la sección [DEFAULT] de jail.local:

destemail = tu@correo.com
sendername = Fail2ban
mta = sendmail
action = %(action_mwl)s

El parámetro action_mwl envía un correo con el log de lo que ha pasado. Si prefieres solo el correo sin logs, usa action_mw.

Después de guardar, reinicia Fail2ban:

sudo systemctl restart fail2ban

Paso 7: Probar que Fail2ban funciona correctamente

No hay mejor manera de saber si todo está bien que probarlo. Puedes hacer una prueba de fuerza bruta desde otra máquina (o desde tu propio equipo) intentando conectarte por SSH con contraseñas incorrectas varias veces.

Por ejemplo, si tienes maxretry = 3, intenta conectarte 4 veces con una contraseña incorrecta. Después del tercer intento, deberías recibir un mensaje de "Connection refused" o la conexión se quedará colgada. Para verificar, ejecuta:

sudo fail2ban-client status sshd

Deberías ver tu IP en la lista de bloqueados.

[WARNING] Esta prueba bloqueará tu IP. Asegúrate de tener acceso a otra red o de saber cómo desbloquearte antes de hacerla. Si te bloqueas, puedes esperar a que pase el bantime o desbloquearte desde otra IP.

Configuraciones avanzadas y personalización

Whitelist de IPs de confianza

Si tienes IPs fijas desde las que siempre accedes (por ejemplo, tu oficina), es buena idea añadirlas a ignoreip. Esto evita bloqueos accidentales. Puedes añadir varias IPs separadas por espacios.

Ajustar el tiempo de bloqueo según la gravedad

Puedes crear jails específicos con tiempos de bloqueo más largos para servicios críticos. Por ejemplo, para el panel de Plesk, podrías usar bantime = 86400 (24 horas) si quieres ser más estricto.

Usar Fail2ban con el firewall de Plesk

Plesk tiene su propio firewall integrado. Fail2ban puede trabajar junto a él sin conflictos, ya que ambos gestionan reglas de iptables. Si tienes el firewall de Plesk activo, Fail2ban añadirá sus propias reglas sin problemas.

Solución de problemas comunes

Fail2ban no arranca

Si el servicio no arranca, revisa los logs:

sudo tail -f /var/log/fail2ban.log

Los mensajes de error te indicarán qué está fallando. Suele ser un error en la sintaxis del archivo jail.local.

No se bloquean las IPs

Asegúrate de que los jails están habilitados con enabled = true. También verifica que el logpath apunta al archivo de log correcto. Puedes comprobarlo con:

sudo fail2ban-client status

Si un jail no aparece, es que no se cargó correctamente.

El correo de notificación no llega

Revisa que mta esté configurado correctamente. Si usas sendmail, asegúrate de que el servicio esté activo. También puedes probar con mta = mail si tienes Postfix.

Preguntas frecuentes (FAQ)

¿Fail2ban afectará el rendimiento de mi servidor?

No, Fail2ban es muy ligero. Su consumo de recursos es mínimo, incluso en servidores con muchos sitios web. Es una herramienta que se ejecuta en segundo plano y solo actúa cuando detecta ataques.

¿Puedo usar Fail2ban con Syspanel?

Sí, los conceptos son los mismos. Si usas Syspanel (recuerda que su puerto de acceso es el 2106), puedes configurar Fail2ban para proteger sus servicios. Solo tendrás que ajustar las rutas de los logs y los puertos según la configuración de Syspanel.

¿Qué hago si bloqueo mi propia IP?

No entres en pánico. Tienes varias opciones: esperar a que pase el bantime, desbloquearte desde otra IP con el comando unbanip, o acceder al servidor mediante un VNC o consola web (como la que ofrece tu proveedor de hosting). También puedes configurar ignoreip con tu IP para evitar que esto vuelva a pasar.

¿Cada cuánto debo revisar los logs de Fail2ban?

Te recomiendo revisar los logs al menos una vez por semana. Puedes automatizar esto con un cron que te envíe un resumen por correo. Así estarás al tanto de los ataques sin tener que revisar manualmente.

Conclusión: Tu servidor ahora es más seguro

Configurar Fail2ban Plesk es una de las mejores decisiones que puedes tomar para proteger tu servidor. Con el bloqueo IP automático, has añadido una capa de anti fuerza bruta que disuadirá a la mayoría de los atacantes automáticos. No es una solución mágica que te proteja de todo, pero sí una barrera esencial en cualquier estrategia de seguridad Plesk.

Recuerda que la seguridad es un proceso continuo. Revisa periódicamente tus configuraciones, mantén Plesk y el sistema operativo actualizados, y combina Fail2ban con otras medidas como contraseñas robustas, autenticación de dos factores (2FA) y copias de seguridad regulares.

Ahora que tienes tu servidor protegido, puedes dormir un poco más tranquilo sabiendo que Fail2ban está vigilando por ti. Si tienes alguna duda o encuentras algún problema, no dudes en consultar la documentación oficial de Fail2ban o la de Plesk. ¡Buena suerte y que tus servidores estén siempre seguros!

¿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