Cómo instalar y configurar Fail2ban en Plesk
¿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:
- Acceso root o sudo a tu servidor Linux (Ubuntu, Debian, CentOS, etc.).
- Acceso SSH a tu servidor (programas como PuTTY o la terminal de tu Mac).
- Plesk instalado y funcionando (la versión no importa, funciona en Obsidian, Web Pro y Web Host).
- Firewall activado (como
firewalldoufw). 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.
- Inicia sesión en Plesk como administrador.
- Ve a Herramientas y configuración.
- 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!
