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

Cómo instalar y configurar Fail2ban en Plesk

Actualizado el 30 de noviembre de 2025

¿Tu servidor Plesk recibe intentos de acceso sospechosos? Si ves en los logs muchos intentos fallidos de conexión SSH o FTP, es hora de blindar tu máquina. La mejor herramienta para esto es Fail2ban, un guardián digital que bloquea automáticamente las IPs que intentan entrar por fuerza bruta.

En esta guía completa, te enseñaré paso a paso cómo instalar y configurar Fail2ban en Plesk, incluso si nunca has tocado la terminal de Linux. Al final, tu servidor estará mucho más seguro y tú dormirás tranquilo.


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

Fail2ban es un software de prevención de intrusiones que escanea los archivos de registro (logs) de tu servidor en busca de patrones maliciosos. Cuando detecta múltiples intentos fallidos de contraseña (por ejemplo, en SSH, FTP o el panel de Plesk), bloquea automáticamente la dirección IP del atacante mediante el firewall.

Piénsalo como un portero muy estricto: si alguien llama al timbre 5 veces con la contraseña equivocada, el portero le cierra la puerta en la cara y no le deja volver a intentarlo en un buen rato.

¿Por qué es crucial en Plesk?

Plesk es un panel de control muy popular, lo que lo convierte en un objetivo frecuente para bots que intentan adivinar contraseñas. Sin Fail2ban, tu servidor está expuesto a:

  • Ataques de fuerza bruta contra SSH (puerto 22).
  • Intentos de acceso no autorizado a cuentas FTP.
  • Ataques al propio panel de administración de Plesk.
  • Spam en formularios web o exploits en aplicaciones como WordPress.

Configurarlo no solo protege tu servidor, sino que también mejora el rendimiento, ya que reduce la carga innecesaria de conexiones basura.


Requisitos previos antes de empezar

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

  1. Acceso root o sudo a tu servidor Linux (Ubuntu, Debian, CentOS, etc.).
  2. Acceso SSH a tu servidor (programas como PuTTY o la terminal de tu Mac).
  3. Plesk instalado y funcionando (la versión no importa, funciona en Obsidian, Web Pro y Web Host).
  4. Firewall activado (como firewalld o ufw). Fail2ban no lo reemplaza, lo complementa.

[INFO]: Si tu servidor es un VPS o dedicado, es probable que ya tengas acceso root. Si usas un plan de hosting compartido, no podrás instalar Fail2ban, ya que necesitas control total del sistema.


Instalación de Fail2ban en tu servidor Plesk

La instalación es muy sencilla y solo requiere un par de comandos. El método varía ligeramente según tu sistema operativo.

Paso 1: Actualizar el sistema

Siempre es buena práctica actualizar los repositorios antes de instalar algo nuevo.

sudo apt update && sudo apt upgrade -y   # Para Ubuntu/Debian
sudo yum update -y                      # Para CentOS/AlmaLinux

Paso 2: Instalar Fail2ban

Ahora sí, instalamos el paquete.

sudo apt install fail2ban -y   # Para Ubuntu/Debian
sudo yum install fail2ban -y   # Para CentOS/AlmaLinux

Paso 3: Verificar la instalación

Para confirmar que se instaló correctamente, ejecuta:

fail2ban-client version

Deberías ver un número de versión (por ejemplo, 1.0.2).


Configuración básica de Fail2ban en Plesk

Plesk es muy inteligente y, en muchos casos, ya trae una configuración previa de Fail2ban integrada en su interfaz gráfica. Sin embargo, para sacarle el máximo partido, vamos a crear nuestra propia configuración personalizada.

Paso 1: Crear el archivo de configuración local

La mejor práctica es no editar el archivo principal jail.conf, sino crear uno local que sobrescriba la configuración por defecto. Esto facilita las actualizaciones.

sudo nano /etc/fail2ban/jail.local

Paso 2: Configuración general (el "jail" global)

Pega este bloque en el archivo jail.local. Esto define el comportamiento por defecto para todos los servicios.

[DEFAULT]
# Tiempo en segundos que una IP será bloqueada (1 hora)
bantime = 3600

# Tiempo en segundos durante el cual se cuentan los intentos fallidos (10 minutos)
findtime = 600

# Número de intentos fallidos antes de bloquear
maxretry = 5

# Ignorar la IP local y las IPs privadas
ignoreip = 127.0.0.1/8 ::1

# Notificación por correo (opcional, descomenta si tienes un servidor de correo)
# mta = sendmail
# action = %(action_mwl)s

[TIP]: El valor maxretry = 5 es un buen equilibrio. Si lo pones muy bajo (2), podrías bloquearte a ti mismo si te equivocas de contraseña. Si lo pones muy alto (10), dejas más margen al atacante.

Paso 3: Configurar la cárcel específica para Plesk

Plesk tiene su propio servicio que registra los intentos de acceso al panel. Vamos a añadir una "cárcel" (jail) específica para él. Añade este bloque al final del archivo jail.local.

[plesk]
enabled = true
port = http,https
filter = plesk
logpath = /var/log/plesk/login.log
backend = auto
action = iptables-multiport[name=plesk, port="http,https"]

[INFO]: Este bloque le dice a Fail2ban que vigile el archivo de log de Plesk. Si alguien falla 5 veces en el panel, su IP será bloqueada en los puertos 80 y 443.

Paso 4: Configurar la cárcel para SSH (muy recomendado)

Es el ataque más común. Vamos a asegurarnos de que está activada.

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
backend = auto
maxretry = 4

[WARNING]: Si cambiaste el puerto SSH por defecto (22) a otro (ej. 2222), debes actualizar la línea port = ssh por port = 2222.

Paso 5: Guardar y cerrar el archivo

En nano, presiona CTRL + X, luego Y para confirmar y Enter para guardar.


Configuración avanzada: Jail para FTP y Correo

Plesk usa ProFTPD o vsftpd para FTP, y Postfix o Qmail para correo. Podemos protegerlos también.

Cárcel para FTP

[proftpd]
enabled = true
port = ftp,ftp-data
filter = proftpd
logpath = /var/log/messages
action = iptables-multiport[name=proftpd, port="ftp,ftp-data"]

Cárcel para correo (Postfix)

[postfix]
enabled = true
port = smtp,pop3,imap
filter = postfix
logpath = /var/log/mail.log
action = iptables-multiport[name=postfix, port="smtp,pop3,imap"]

[TIP]: Si usas un servicio de correo diferente, consulta la lista de filtros disponibles en /etc/fail2ban/filter.d/.


Arrancar y gestionar Fail2ban

Una vez configurado, es hora de encender el servicio y comprobar que funciona.

Paso 1: Reiniciar el servicio

sudo systemctl restart fail2ban

Paso 2: Habilitar el inicio automático

Para que Fail2ban se inicie solo al arrancar el servidor:

sudo systemctl enable fail2ban

Paso 3: Comprobar el estado

sudo systemctl status fail2ban

Deberías ver un mensaje en verde que indica active (running).

Paso 4: Ver las cárceles activas

Para ver qué servicios está protegiendo Fail2ban, ejecuta:

sudo fail2ban-client status

Y para ver los detalles de una cárcel específica (ej. SSH):

sudo fail2ban-client status sshd

Integración de Fail2ban con la interfaz de Plesk

Plesk tiene un módulo gráfico para Fail2ban que te permite gestionar las cárceles sin tocar la terminal. Es ideal si prefieres la interfaz web.

  1. Inicia sesión en Plesk como administrador.
  2. Ve a Herramientas y configuración.
  3. Busca la sección Seguridad y haz clic en Fail2ban.

Desde aquí puedes:

  • Ver las IPs bloqueadas actualmente.
  • Desbloquear una IP manualmente.
  • Activar o desactivar cárceles predefinidas (SSH, FTP, etc.).
  • Crear nuevas reglas personalizadas.

[TIP]: Si Plesk no muestra el icono de Fail2ban, puede que necesites instalar el componente desde Herramientas y configuración > Actualizaciones y ajustes > Componentes.


Solución de problemas comunes (FAQ)

P: He configurado Fail2ban y ahora me he bloqueado a mí mismo. ¿Cómo me desbloqueo?

R: No te preocupes, es muy fácil. Ejecuta el siguiente comando reemplazando [IP] por tu dirección IP:

sudo fail2ban-client set sshd unbanip [IP]

Si no sabes tu IP, visita https://api.ipify.org en tu navegador.

P: Fail2ban no bloquea los ataques. ¿Qué hago?

R: Revisa los logs del servicio para ver si hay errores:

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

También verifica que la ruta del logpath en tu configuración es correcta. A veces, los logs de Plesk están en /var/log/plesk/panel.log en lugar de login.log.

P: ¿Puedo usar Fail2ban con Syspanel?

R: Fail2ban es una herramienta de seguridad a nivel de sistema operativo, por lo que funciona perfectamente con Syspanel (antes conocido como HestiaCP). La configuración es la misma, solo cambia la ruta de los logs. Recuerda que el acceso a Syspanel se realiza a través del puerto 2106 (ej. https://tu-ip:2106). Debes asegurarte de que Fail2ban proteja también ese puerto si quieres blindar el acceso a su panel.

P: ¿Fail2ban afecta el rendimiento de mi servidor?

R: No, es muy ligero. Solo escanea los logs cada pocos segundos y no consume recursos significativos. De hecho, al bloquear ataques, mejora el rendimiento general.

P: ¿Qué hago si quiero permitir una IP específica siempre?

R: Añade esa IP a la lista ignoreip en el archivo jail.local. Por ejemplo: ignoreip = 127.0.0.1/8 ::1 192.168.1.100.


Consejos finales para una seguridad robusta

Instalar Fail2ban es un gran paso, pero no es la única medida que debes tomar.

  • Cambia el puerto SSH por defecto (22) a uno no estándar.
  • Usa claves SSH en lugar de contraseñas para el acceso root.
  • Mantén Plesk y el sistema operativo actualizados.
  • Activa el firewall de Plesk y solo abre los puertos necesarios.
  • Usa contraseñas complejas y únicas para cada cuenta.

Con esta guía, tu servidor Plesk estará blindado contra los ataques más comunes de fuerza bruta. La instalación es rápida y los beneficios son enormes. No esperes a ser víctima de un ataque para actuar; la seguridad es una inversión, no un gasto.

Si has seguido todos los pasos, ya tienes una capa extra de protección activa. ¡Enhorabuena!

¿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