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
Instalar Fail2ban
En Debian/Ubuntu:
sudo apt update && sudo apt install fail2ban. El servicio arranca automáticamente. Compruébelo consudo systemctl status fail2ban.Crear un jail.local
No modifique nunca
jail.confdirectamente. Copie más bien sus ajustes en/etc/fail2ban/jail.local: ahí es donde se definenbantime,findtime,maxretryy sobre todoignoreip = 127.0.0.1/8 SU_IPpara protegerse de un autobloqueo.Activar la protección SSH
En
jail.local, active el jail[sshd]con, por ejemplo,maxretry = 3ybantime = 1h. Tras 3 fallos dentro defindtime, la IP queda bloqueada una hora a nivel de firewall.Añadir un jail para Nginx
Active los jails
[nginx-http-auth]y[nginx-botsearch]apuntandologpathhacia sus logs de Nginx. Esto bloquea los intentos de autenticación repetidos y los escaneos de URL maliciosos.Recargar y verificar los jails activos
Aplique la configuración:
sudo systemctl restart fail2ban; después,sudo fail2ban-client statuslista los jails activos ysudo fail2ban-client status sshdmuestra las IP bloqueadas en ese momento.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.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.