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

Configurar Fail2ban en Plesk para proteger tu servidor de ataques

Actualizado el 5 de diciembre de 2025

¿Tu servidor Plesk recibe intentos de acceso extraños? ¿Ves en los logs decenas de intentos fallidos de conexión SSH o FTP? No estás solo. Los ataques de fuerza bruta son el pan de cada día en internet, y cualquier servidor expuesto es un objetivo potencial.

La buena noticia es que existe una herramienta gratuita, potente y relativamente sencilla de configurar que actúa como un portero automático para tu servidor: Fail2ban.

En esta guía extensa y paso a paso, vamos a desglosar qué es Fail2ban, cómo funciona y, lo más importante, cómo configurarlo en Plesk para proteger tu servidor de ataques y bloquear IPs maliciosas de forma automática. No necesitas ser un gurú de la terminal; te lo explicamos todo de forma clara y didáctica.

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

Imagina que tu servidor es un edificio de oficinas. Tienes una puerta principal (SSH), una puerta trasera (FTP) y varias ventanas (los sitios web). Un atacante de fuerza bruta es alguien que se sienta en la entrada y prueba miles de llaves diferentes hasta encontrar la correcta para colarse.

Fail2ban es el guardia de seguridad que vigila esas puertas. Su trabajo es sencillo pero vital: observa los registros (logs) del servidor en busca de patrones sospechosos, como demasiados intentos de contraseña fallidos desde la misma IP en un corto período de tiempo. Cuando detecta este patrón, actúa de inmediato.

Su respuesta es contundente: añade esa IP a la lista negra del firewall (normalmente usando iptables o nftables), bloqueando todo el tráfico proveniente de ella durante un tiempo determinado. De esta manera, el atacante no puede seguir intentando entrar y tu servidor queda protegido.

Configurar Fail2ban en Plesk es una de las mejores medidas de seguridad servidor que puedes implementar. No solo protege el acceso SSH, sino que también puede vigilar otros servicios como FTP, el propio panel de Plesk, el correo electrónico y mucho más. Es una capa de defensa esencial que reduce drásticamente el riesgo de que tu sitio web sea comprometido.

Cómo funciona Fail2ban en Plesk: El ciclo de protección

Antes de ponernos manos a la obra, es útil entender el ciclo de protección que sigue Fail2ban. No es magia, es lógica pura y dura:

  1. Monitoreo: Fail2ban lee constantemente los archivos de registro (logs) de los servicios que tiene configurados. Por ejemplo, /var/log/auth.log para SSH o los logs específicos de Plesk.
  2. Detección: Busca patrones predefinidos mediante expresiones regulares. Por ejemplo, un patrón típico es: Failed password for root from 192.168.1.100. Si encuentra este patrón, lo cuenta.
  3. Acción: Si el número de coincidencias de una misma IP supera el límite máximo permitido dentro de un período de tiempo específico (por ejemplo, 5 intentos en 10 minutos), Fail2ban activa una acción.
  4. Bloqueo: La acción predeterminada es añadir la IP ofensora a una regla del firewall para rechazar todas sus conexiones. El bloqueo tiene una duración determinada, conocida como "findtime" (tiempo de bloqueo).
  5. Liberación (o no): Una vez pasado el tiempo de bloqueo, la IP se elimina automáticamente de la lista negra y se le permite volver a intentar acceder. Si vuelve a fallar, el ciclo se repite.

Plesk integra Fail2ban de una manera muy visual. Aunque la configuración avanzada se hace por línea de comandos, el panel te permite gestionar las IPs bloqueadas, ver las estadísticas y ajustar los parámetros más comunes desde una interfaz amigable.

Requisitos previos para configurar Fail2ban en Plesk

Para seguir esta guía, necesitas tener:

  • Acceso al panel de control de Plesk (generalmente a través de https://tu-dominio.com:8443).
  • Acceso a la terminal de tu servidor (SSH) con permisos de superusuario (root o un usuario con sudo).
  • Plesk instalado y funcionando correctamente.

[!TIP]
¿Usas Syspanel (antes HestiaCP)? Recuerda que si tu panel es Syspanel, el puerto de acceso al panel es el 2106. Aunque esta guía se centra en Plesk, los conceptos de Fail2ban son muy similares en otros paneles. La clave es saber dónde están los logs y qué servicios quieres proteger.

Guía Paso a Paso: Configurar Fail2ban en Plesk

Plesk facilita mucho la configuración base. Vamos a dividir el proceso en dos partes: la configuración inicial desde el panel y la personalización avanzada desde la terminal.

Paso 1: Activar Fail2ban desde el Panel de Plesk

Plesk viene con Fail2ban preinstalado en la mayoría de sus versiones recientes. Lo primero es asegurarnos de que está activo.

  1. Inicia sesión en tu panel de Plesk.
  2. En el menú lateral izquierdo, busca la sección Herramientas y ajustes.
  3. Dentro de esta sección, en el grupo Seguridad, haz clic en Fail2ban.
  4. Verás una página con un interruptor principal. Asegúrate de que está en la posición Activado (Encendido).

[!INFO]
Si no ves la opción Fail2ban, puede que el componente no esté instalado. Podrás instalarlo desde Herramientas y ajustes > Actualizaciones y características del sistema o contactando con tu proveedor de hosting.

Paso 2: Configurar los Ajustes Básicos en Plesk

En la misma página de Fail2ban, encontrarás una pestaña o botón llamado Configuración. Aquí puedes ajustar los parámetros globales que aplicarán a todos los servicios.

  • Tiempo de bloqueo (bantime): El tiempo (en segundos) que una IP permanecerá bloqueada. El valor por defecto suele ser 600 (10 minutos). Puedes aumentarlo a 3600 (1 hora) para una protección más estricta.
  • Tiempo de búsqueda (findtime): El período de tiempo (en segundos) en el que se contarán los intentos fallidos. Por ejemplo, si lo pones a 600, se contarán los intentos de los últimos 10 minutos.
  • Máximo de intentos (maxretry): El número de intentos fallidos permitidos dentro del findtime antes de que se aplique el bloqueo.

Una buena configuración inicial para un servidor estándar sería:

  • bantime: 3600 (1 hora)
  • findtime: 600 (10 minutos)
  • maxretry: 5

Esto significa que si alguien falla 5 veces en 10 minutos, será bloqueado durante 1 hora. Guárdalo y Plesk aplicará estos ajustes al servicio de firewall.

Paso 3: Elegir qué Servicios Proteger (Jails)

Plesk te permite activar la protección para diferentes servicios, conocidos como "jails". Cada jail define qué log se vigila y qué patrón buscar. Para gestionarlos:

  1. Vuelve a la página principal de Fail2ban.
  2. Haz clic en la pestaña Jails o Servicios protegidos.
  3. Verás una lista de servicios como: ssh, ftp, plesk-apache, postfix, dovecot, etc.
  4. Activa o desactiva los que necesites. Es recomendable tener al menos ssh y ftp activados. Para un servidor web, también es muy útil activar los jails de apache y postfix para proteger contra ataques a tus sitios y al correo.

[!WARNING]
Activar demasiados jails puede generar falsos positivos. Por ejemplo, si un usuario legítimo olvida su contraseña e intenta varias veces, podría ser bloqueado temporalmente. Ajusta los límites (maxretry) con cuidado para no perjudicar a los usuarios reales.

Paso 4: Configuración Avanzada desde la Terminal (SSH)

Aunque Plesk ofrece una buena interfaz, la configuración fina y avanzada se realiza editando los archivos de configuración de Fail2ban directamente.

  1. Conéctate a tu servidor por SSH.
  2. Navega al directorio de configuración de Fail2ban: cd /etc/fail2ban
  3. Verás varios archivos. El principal es jail.conf. No edites este archivo directamente, ya que se sobrescribe con las actualizaciones. En su lugar, crea un archivo de configuración local: nano jail.local
  4. En este archivo, puedes definir configuraciones personalizadas. Por ejemplo, para ajustar los parámetros del jail SSH, añade o modifica la siguiente sección:
[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600

[!TIP]
Si tu servidor usa un puerto SSH personalizado (no el 22), cambia port = ssh por port = 2222 (o el puerto que uses). Esto asegura que Fail2ban bloquee correctamente el tráfico en ese puerto.

Paso 5: Crear Reglas Personalizadas (Avanzado)

Una de las grandes ventajas de Fail2ban es su flexibilidad. Puedes crear tus propias "jails" para proteger aplicaciones específicas. Por ejemplo, si tienes un panel de administración en /admin y quieres bloquear IPs que intenten acceder repetidamente, puedes crear un jail basado en los logs de Apache.

  1. Crea un nuevo filtro en /etc/fail2ban/filter.d/. Crea un archivo llamado admin-panel.conf con el siguiente contenido:
[Definition]
failregex = ^<HOST> .* "GET /admin.*" 401

Este filtro buscará en los logs de Apache cualquier petición a /admin que devuelva un error 401 (no autorizado).

  1. Ahora, añade la definición del jail en tu jail.local:
[admin-panel]
enabled = true
port = http,https
logpath = /var/www/*/logs/access_log
filter = admin-panel
maxretry = 5
bantime = 600

[!WARNING]
La creación de filtros personalizados requiere conocimientos de expresiones regulares. Un error en la sintaxis puede hacer que el jail no funcione o que bloquee tráfico legítimo. Si no estás seguro, es mejor no tocar nada.

Paso 6: Gestionar las IPs Bloqueadas

Plesk te permite ver y gestionar las IPs que han sido bloqueadas por Fail2ban.

  1. Ve a Herramientas y ajustes > Fail2ban.
  2. Haz clic en la pestaña IPs bloqueadas.
  3. Verás una lista de IPs, el servicio que las bloqueó, la fecha y la hora del bloqueo, y el tiempo restante.
  4. Si necesitas desbloquear una IP manualmente (por ejemplo, si fue un error), selecciónala y haz clic en Desbloquear.

Esta función es muy útil para resolver problemas de acceso de usuarios legítimos que han sido bloqueados por error.

Cómo Verificar que Fail2ban está Funcionando

Después de configurar todo, es importante verificar que Fail2ban está activo y vigilando. Puedes hacerlo de varias maneras:

  1. Desde la terminal: Ejecuta sudo fail2ban-client status. Verás una lista de los jails activos.
  2. Para ver un jail específico: Ejecuta sudo fail2ban-client status sshd. Esto te mostrará las IPs actualmente bloqueadas para el servicio SSH.
  3. Desde Plesk: En la página principal de Fail2ban, verás estadísticas de bloqueos recientes.

Preguntas Frecuentes (FAQ) sobre Fail2ban y Plesk

¿Puedo usar Fail2ban en Syspanel (HestiaCP)?

Sí, por supuesto. Syspanel (antes HestiaCP) también incluye Fail2ban preinstalado. La configuración es muy similar, pero la interfaz es diferente. En Syspanel, recuerda que el acceso al panel es a través del puerto 2106. Los archivos de configuración de Fail2ban se encuentran en la misma ruta (/etc/fail2ban/), por lo que los pasos de configuración avanzada desde la terminal son idénticos.

¿Qué pasa si bloqueo mi propia IP?

Es un error común. Si configuras un maxretry muy bajo y fallas al introducir tu contraseña SSH varias veces, puedes bloquearte a ti mismo. La solución es acceder a Plesk o al servidor por otro medio (como la consola de tu proveedor) y desbloquear tu IP desde la pestaña IPs bloqueadas o ejecutando sudo fail2ban-client set sshd unbanip TU_IP.

¿Fail2ban protege mi servidor de todos los ataques?

No. Fail2ban es una herramienta excelente contra ataques de fuerza bruta y de diccionario, pero no es una solución mágica. No te protegerá contra ataques DDoS, vulnerabilidades de aplicaciones web (como inyección SQL) o malware. Para una protección completa, necesitas un enfoque de seguridad en capas: mantener el software actualizado, usar contraseñas fuertes, configurar un firewall de aplicación web (WAF) y hacer copias de seguridad periódicas.

¿Puedo configurar Fail2ban para que me envíe un correo electrónico cuando bloquee una IP?

Sí. Puedes configurar Fail2ban para que envíe notificaciones por correo electrónico. En tu jail.local, dentro de la sección [DEFAULT], puedes añadir las siguientes líneas:

[DEFAULT]
destemail = tu@correo.com
sender = fail2ban@tu-servidor.com
mta = sendmail
action = %(action_mwl)s

La acción action_mwl envía un correo con el whois de la IP, el log relevante y la acción tomada.

Mi servidor usa un firewall como CSF (ConfigServer Security & Firewall). ¿Debo usar Fail2ban o CSF?

Puedes usar ambos. De hecho, se complementan muy bien. CSF tiene su propio sistema de bloqueo de IPs, pero Fail2ban es más granular en la detección de patrones. Puedes configurar Fail2ban para que, en lugar de usar iptables directamente, use el comando de CSF para bloquear la IP. Esto se hace cambiando la acción en jail.local:

[DEFAULT]
action = csf

Esto permite que ambos sistemas trabajen juntos, creando una defensa más robusta.

Conclusión: Tu servidor, mucho más seguro

Configurar Fail2ban en Plesk es una de las tareas más importantes que puedes hacer para proteger tu servidor Plesk. No es un proceso complicado, y la tranquilidad que ofrece saber que tu servidor puede defenderse solo de los ataques automatizados no tiene precio.

Hemos visto cómo activarlo desde el panel, ajustar sus parámetros principales, elegir los servicios a proteger y, para los más atrevidos, cómo crear reglas personalizadas. Recuerda que la clave está en encontrar un equilibrio entre seguridad y usabilidad.

Empieza con la configuración básica que te hemos dado, observa los logs durante unos días y ajusta los valores según tu caso. Verás cómo la cantidad de intentos de acceso no deseados se reduce drásticamente, permitiéndote dormir tranquilo sabiendo que tu servidor está bajo la atenta mirada de tu nuevo guardia de seguridad: Fail2ban.

¿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