Guía para configurar un firewall en Plesk con fail2ban
¿Qué es Fail2ban y por qué necesitas configurarlo en Plesk?
Si tienes un servidor con Plesk, probablemente ya has oído hablar de Fail2ban, pero quizás no sabes exactamente qué es o cómo puede salvarte de muchos dolores de cabeza. Te lo explico fácil: Fail2ban es un sistema de protección que actúa como un portero automático para tu servidor. Su trabajo es vigilar los intentos de acceso fallidos (como contraseñas incorrectas en SSH, FTP o el panel de Plesk) y, cuando detecta demasiados intentos desde una misma IP, la bloquea automáticamente durante un tiempo determinado.
Piénsalo así: si alguien intenta entrar a tu casa probando llaves una y otra vez, Fail2ban es el vecino que llama a la policía y pone una reja temporal en la puerta. No es una solución mágica contra todos los ataques, pero reduce drásticamente los ataques de fuerza bruta, que son de los más comunes en el hosting.
En esta guía, vamos a configurar Fail2ban dentro de Plesk, paso a paso, sin necesidad de ser un experto en Linux. Además, te daré trucos y recomendaciones para que tu servidor quede blindado sin complicarte la vida. Al final, tendrás un firewall inteligente trabajando por ti.
[INFO] Fail2ban no reemplaza a un firewall tradicional (como iptables o CSF), sino que lo complementa. Mientras el firewall define qué puertos están abiertos o cerrados, Fail2ban monitoriza el comportamiento y bloquea IPs maliciosas en tiempo real.
Requisitos previos antes de empezar
Antes de ponernos manos a la obra, asegúrate de tener lo siguiente:
- Acceso a Plesk como administrador (el usuario "admin" o un usuario con privilegios de root).
- Acceso SSH a tu servidor (por si necesitas instalar paquetes adicionales, aunque Plesk suele traer Fail2ban integrado).
- Permisos de root o sudo en el sistema para poder editar archivos de configuración si es necesario.
- Sistema operativo compatible: Fail2ban funciona en la mayoría de distribuciones Linux (Ubuntu, Debian, CentOS, AlmaLinux, etc.). Plesk lo soporta nativamente en todas ellas.
Si tu servidor es muy básico o compartido, quizás no tengas acceso a Fail2ban, pero en la mayoría de los planes VPS o dedicados con Plesk, ya viene instalado o puedes instalarlo fácilmente.
Paso 1: Acceder a la configuración de Fail2ban en Plesk
Plesk tiene una interfaz gráfica muy amigable, así que no necesitas tocar la consola para la configuración básica. Sigue estos pasos:
- Inicia sesión en tu panel de Plesk (normalmente en
https://tu-dominio:8443ohttps://tu-ip:8443). - En el menú lateral izquierdo, busca la sección "Herramientas y ajustes" (o "Tools & Settings" si está en inglés).
- Dentro de esa sección, busca el apartado "Seguridad" y haz clic en "Fail2ban".
[TIP] Si no ves la opción Fail2ban, es posible que no esté instalado. Puedes instalarlo desde el mismo Plesk en "Herramientas y ajustes" > "Actualizaciones y características" > buscar "Fail2ban" y activarlo. También puedes instalarlo por SSH con
apt install fail2ban(en Ubuntu/Debian) oyum install fail2ban(en CentOS).
Una vez dentro, verás una pantalla con un resumen de las reglas activas, las IPs bloqueadas actualmente y los servicios protegidos. Si es tu primera vez, probablemente esté vacío o con algunas reglas por defecto.
Paso 2: Activar Fail2ban y configurar los servicios a proteger
Lo primero es asegurarte de que Fail2ban está habilitado. En la parte superior de la pantalla, verás un interruptor o botón de "Activar/Desactivar". Actívalo si no lo está.
Ahora, vamos a decidir qué servicios queremos proteger. Plesk te muestra una lista con los servicios más comunes:
- SSH (puerto 22): fundamental, ya que es la puerta de entrada principal a tu servidor.
- FTP (puerto 21): si usas cuentas FTP para subir archivos.
- SMTP (puerto 25, 587): para proteger el envío de correos.
- Plesk panel (puerto 8443): para evitar que intenten acceder a tu panel de administración.
- Apache / Nginx (puertos 80, 443): para proteger el acceso web.
- Dovecot / POP3 / IMAP (puertos 110, 143, 993, 995): para el correo entrante.
Para cada servicio, puedes configurar:
- Máximo de intentos fallidos: cuántos intentos antes de bloquear.
- Ventana de tiempo: en cuánto tiempo se cuentan esos intentos (ejemplo: 5 intentos en 10 minutos).
- Duración del bloqueo: cuánto tiempo estará bloqueada la IP (puede ser permanente o por horas).
- Acción: qué hacer cuando se detecte el ataque (bloquear IP, enviar correo, etc.).
Te recomiendo empezar con valores conservadores y ajustarlos según tu experiencia. Por ejemplo:
- SSH: 3 intentos en 10 minutos, bloqueo de 1 hora.
- Plesk panel: 5 intentos en 15 minutos, bloqueo de 2 horas.
- FTP: 5 intentos en 15 minutos, bloqueo de 1 hora.
[WARNING] No pongas un número muy bajo de intentos (como 1 o 2) porque podrías bloquearte a ti mismo si te equivocas de contraseña un par de veces. Especialmente en SSH, ten cuidado con esto.
Paso 3: Crear reglas personalizadas para servicios específicos
Plesk te permite añadir reglas personalizadas si necesitas proteger servicios que no están en la lista predeterminada. Por ejemplo, si tienes una aplicación web con un formulario de login vulnerable, puedes crear una regla para esa ruta específica.
Para crear una regla personalizada:
- En la pantalla de Fail2ban, haz clic en "Agregar regla" o "Crear jail".
- Ponle un nombre descriptivo (ejemplo:
wordpress-login). - Indica el log file donde se registran los intentos (ejemplo:
/var/log/nginx/access.log). - Define el patrón de búsqueda (regex) que detecte los intentos fallidos. Por ejemplo, para WordPress sería algo como
POST /wp-login.php. - Configura los límites de intentos y tiempo de bloqueo igual que antes.
[TIP] Si no sabes escribir regex, no te preocupes. Plesk tiene plantillas predefinidas para las aplicaciones más populares (WordPress, Joomla, Drupal, etc.). Solo tienes que seleccionar la plantilla y ajustar los valores.
Paso 4: Gestionar IPs bloqueadas manualmente
En algún momento, Fail2ban bloqueará una IP que quizás no debería (por ejemplo, si un cliente se equivocó de contraseña varias veces). Plesk te permite gestionar estas IPs manualmente:
- Ver IPs bloqueadas: en la sección Fail2ban, verás una lista de IPs con el servicio que las bloqueó y la fecha de expiración.
- Desbloquear una IP: haz clic en el botón de "Desbloquear" junto a la IP. Esto la elimina de la lista negra al instante.
- Añadir una IP a la lista blanca: si quieres que una IP nunca sea bloqueada (por ejemplo, la IP de tu oficina), puedes añadirla a la lista blanca. Así Fail2ban la ignorará siempre.
[INFO] La lista blanca es muy útil para no bloquearte a ti mismo. Si trabajas con una IP fija, añádela a la lista blanca antes de activar Fail2ban.
Paso 5: Configurar notificaciones por correo
Una de las ventajas de Fail2ban es que puedes recibir un correo electrónico cada vez que se bloquea una IP. Esto te permite estar al tanto de los ataques y reaccionar si es necesario.
Para configurarlo:
- En la sección Fail2ban de Plesk, busca el apartado de "Notificaciones".
- Introduce tu dirección de correo electrónico.
- Activa las notificaciones para eventos como "IP bloqueada" y "IP desbloqueada".
[TIP] No actives las notificaciones para todos los eventos si tu servidor recibe muchos ataques, o tu bandeja de entrada se llenará de correos. Lo mejor es recibir un resumen diario o solo las alertas más importantes.
Paso 6: Probar que Fail2ban funciona correctamente
Después de configurar todo, es importante probar que Fail2ban está funcionando. Aquí tienes una forma fácil de hacerlo:
- Abre una conexión SSH a tu servidor (desde un ordenador distinto al que usas normalmente).
- Intenta iniciar sesión con una contraseña incorrecta varias veces (tantas como hayas configurado en los límites).
- Después de superar el límite, verás que la conexión se rechaza automáticamente.
- Ve a Plesk > Fail2ban y comprueba que la IP desde la que intentabas conectarte aparece en la lista de bloqueadas.
[WARNING] Si te bloqueas a ti mismo durante la prueba, no te preocupes. Puedes desbloquear tu IP desde Plesk o esperar a que expire el bloqueo. Para evitarlo, usa una IP de prueba o añade tu IP actual a la lista blanca antes de probar.
Paso 7: Mantenimiento y ajustes avanzados
Fail2ban no es algo que configures una vez y olvides. Es importante revisar periódicamente las reglas y ajustarlas según el tráfico de tu servidor. Aquí tienes algunos consejos:
- Revisa los logs: Plesk te muestra los logs de Fail2ban en
/var/log/fail2ban.log. Revísalos de vez en cuando para ver qué IPs están intentando atacar. - Ajusta los tiempos de bloqueo: Si ves que una misma IP ataca repetidamente, puedes aumentar el tiempo de bloqueo o incluso hacerlo permanente.
- Combina con otras medidas: Fail2ban es una capa más de seguridad. Asegúrate de tener contraseñas fuertes, actualizar el software y usar autenticación SSH por claves en lugar de contraseñas.
[TIP] Si tienes un servidor muy expuesto, considera instalar un firewall como CSF (ConfigServer Security & Firewall) que se integra perfectamente con Plesk y Fail2ban. Juntos, forman una barrera muy sólida.
Preguntas frecuentes (FAQ) sobre Fail2ban en Plesk
¿Fail2ban ralentiza mi servidor?
No, Fail2ban es muy ligero. Solo analiza los logs de acceso y no consume recursos significativos. Eso sí, asegúrate de no tener reglas demasiado complejas que ralenticen el análisis.
¿Qué pasa si Fail2ban bloquea una IP legítima?
Puede pasar, sobre todo si un usuario se equivoca de contraseña varias veces. Por eso es importante revisar las IPs bloqueadas periódicamente y desbloquear las que no sean maliciosas.
¿Puedo usar Fail2ban junto con otros firewalls?
Sí, de hecho es lo recomendable. Fail2ban trabaja a nivel de aplicación y los firewalls a nivel de red. Se complementan sin problemas.
¿Fail2ban protege contra ataques DDoS?
No, Fail2ban no está diseñado para eso. Para ataques DDoS necesitas soluciones específicas como Cloudflare o un firewall de red más avanzado.
¿Qué hago si Fail2ban no está disponible en mi Plesk?
Primero, verifica que tu licencia incluye esta función. Si no es así, puedes instalar Fail2ban manualmente por SSH, pero te recomiendo contactar con tu proveedor de hosting para que lo activen.
Conclusión final
Configurar Fail2ban en Plesk es una de las mejores decisiones que puedes tomar para proteger tu servidor. No solo te ahorrarás dolores de cabeza por ataques de fuerza bruta, sino que también te dará tranquilidad al saber que tu servidor tiene una capa extra de seguridad.
Recuerda que la seguridad no es un destino, sino un proceso continuo. Revisa tus reglas, mantén tu sistema actualizado y combina Fail2ban con otras buenas prácticas como contraseñas robustas y autenticación en dos pasos.
[INFO] Si en algún momento migras a otro panel de control como Syspanel (el acceso es por el puerto 2106), los conceptos de Fail2ban son prácticamente los mismos. La interfaz puede variar, pero la lógica de configuración es idéntica.
Espero que esta guía te haya sido útil. Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte. ¡A proteger ese servidor!
