Guía de despliegue

Fail2Ban Enhanced en VPS: bloquear ataques repetidos

Desplegar en un VPS Cloud →

Tutorial

Fail2Ban Enhanced en VPS: bloquear ataques repetidos

Seguridad y monitorización4 min de lectura7 pasos

En cuanto un VPS expone SSH o una aplicación web, los intentos automatizados llegan enseguida. Fail2Ban Enhanced le da una red de seguridad sencilla: leer los logs, detectar los fallos repetidos y bloquear las IP que insisten. Esta pasada conecta el artículo con el catálogo ServOrbit y mantiene la guía del lado de la explotación: jails, umbrales, pruebas y documentación oficial.

Contenido· Por qué autoalojar Fail2ban en un VPS1/5
  1. 01Por qué autoalojar Fail2ban en un VPS
  2. 02Los beneficios concretos de esta plantilla
  3. 03Requisitos para alojarlo
  4. 04Instalar y configurar Fail2ban en su VPS
  5. 05La documentación oficial

Por qué autoalojar Fail2ban en un VPS

Fail2ban es la herramienta de protección más simple y universal para un servidor expuesto: lee de forma continua sus archivos de logs, aplica expresiones regulares (los filtros) para detectar los intentos de intrusión y bloquea la IP culpable añadiéndola a iptables/nftables durante un tiempo configurable. En un VPS es la primera línea de defensa que hay que instalar antes que cualquier otra cosa, porque no exige ninguna dependencia externa, casi no consume recursos y protege de inmediato SSH contra la fuerza bruta. Más allá de SSH, puede extenderlo a Nginx (intentos de autenticación, escaneos de URL), Postfix, WordPress o cualquier servicio que escriba logs. Todo funciona en local en su máquina: no sale ningún dato, no interviene ningún servicio de terceros. Es la solución preferente para una protección robusta, autónoma y fácil de auditar.

Los beneficios concretos de esta plantilla

  • Bloqueo automático de las IP que fuerzan SSH, desde los primeros intentos sospechosos.
  • Filtros para numerosos servicios: SSH, Nginx, Apache, Postfix, WordPress, y filtros personalizados.
  • Huella mínima: funciona sin problema en el más pequeño de los VPS.
  • Bloqueo progresivo (reincidencia): cuanto más reincide una IP, más largo es el bloqueo.
  • Notificaciones por correo electrónico en cada bloqueo para no perder de vista los ataques.
  • Totalmente autónomo y local: ninguna dependencia de red, fácil de auditar y de versionar.

Requisitos para alojarlo

Fail2ban es extremadamente frugal: funciona en cualquier VPS, incluso en uno de 1 vCPU / 512 MB, sin impacto perceptible. Se instala directamente en el sistema (no hace falta Docker) y requiere un acceso root, un backend de firewall (iptables o nftables, presentes por defecto) y el acceso a los logs de los servicios a proteger (/var/log/auth.log para SSH, los access/error logs para Nginx). No se necesita ningún dominio ni puerto adicional. La regla de oro: configure siempre una lista blanca (ignoreip) con su IP fija antes de activar el bloqueo, para no dejarse fuera de su propio servidor.

Instalar y configurar Fail2ban en su VPS

  1. Instalar Fail2ban

    En Debian/Ubuntu: sudo apt update && sudo apt install fail2ban. El servicio arranca automáticamente. Compruébelo con sudo systemctl status fail2ban.

  2. Crear un jail.local

    No modifique nunca jail.conf directamente. Copie más bien sus ajustes en /etc/fail2ban/jail.local: ahí es donde se definen bantime, findtime, maxretry y sobre todo ignoreip = 127.0.0.1/8 SU_IP para protegerse de un autobloqueo.

  3. Activar la protección SSH

    En jail.local, active el jail [sshd] con, por ejemplo, maxretry = 3 y bantime = 1h. Tras 3 fallos dentro de findtime, la IP queda bloqueada una hora a nivel de firewall.

  4. Añadir un jail para Nginx

    Active los jails [nginx-http-auth] y [nginx-botsearch] apuntando logpath hacia sus logs de Nginx. Esto bloquea los intentos de autenticación repetidos y los escaneos de URL maliciosos.

  5. Recargar y verificar los jails activos

    Aplique la configuración: sudo systemctl restart fail2ban; después, sudo fail2ban-client status lista los jails activos y sudo fail2ban-client status sshd muestra las IP bloqueadas en ese momento.

  6. Probar un bloqueo y el desbloqueo

    Compruebe el buen funcionamiento con sudo fail2ban-client status sshd. Para liberar una IP legítima bloqueada por error: sudo fail2ban-client set sshd unbanip X.X.X.X.

  7. Conectarse por primera vez

    No hay ninguna interfaz web ni cuenta que crear: fail2ban es un demonio del sistema que bloquea las IP tras 4 fallos SSH en 10 minutos. Por SSH: fail2ban-client status sshd (IP bloqueadas), fail2ban-client set sshd unbanip <IP> (desbloquear).

Active el bloqueo progresivo para agotar a los reincidentes: en jail.local, ponga bantime.increment = true y bantime.factor = 2. Cada nueva reincidencia duplica la duración del bloqueo, que pasa así de una hora a varios días para las IP más insistentes. Combínelo con un cambio del puerto SSH por defecto y con la desactivación de la autenticación por contraseña (solo claves SSH): Fail2ban se convierte entonces en una red de seguridad y no en su única muralla.

La documentación oficial

Para la configuración avanzada, las opciones propias de la herramienta y los cambios de versión, consulte la documentación oficial de Fail2Ban. Esta guía cubre la puesta en línea en un VPS ServOrbit; la documentación del editor sigue siendo la referencia para los ajustes finos.

Blinde el acceso a su VPS

El VPS Cloud de ServOrbit le da el acceso root y un firewall listo para usar para configurar Fail2ban en unos minutos y detener en seco los ataques por fuerza bruta.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva