Seguridad Servidor · 6 min read · Sep 15, 2025

Cómo instalar Fail2ban en el servidor Ubuntu 24.04

Fail2ban es un IPS (Software de Prevención de Intrusiones) gratuito y de código abierto que ayuda a los administradores a asegurar servidores Linux contra ataques de inicio de sesión maliciosos y de fuerza bruta. Fail2ban está escrito en Python y viene con filtros para varios servicios como Apache2, SSH, FTP, etc. Fail2ban reduce los intentos de inicio de sesión maliciosos bloqueando las direcciones IP de los ataques de origen.

Fail2ban funciona escaneando los archivos de registro de los servicios (por ejemplo, /var/log/auth.log) y prohibiendo las direcciones IP que muestran intentos de inicio de sesión maliciosos, como demasiadas contraseñas incorrectas, búsqueda de exploits, etc. Fail2ban también admite múltiples backends de firewall como iptables, ufw y firewalld. También permite configurar una notificación por correo electrónico para cada intento de inicio de sesión bloqueado.

En esta guía, aprenderás a instalar Fail2ban en el servidor Ubuntu 24.04. Configurarás la cárcel de Fail2ban, aprenderás el comando básico ‘fail2ban-client’ y luego aprenderás a prohibir y levantar la prohibición de direcciones IP usando Fail2ban.

Requisitos previos

Para comenzar con esta guía, asegúrate de tener:

  • Un servidor Ubuntu 24.04
  • Un usuario no root con privilegios de administrador

Instalando Fail2ban y UFW (Firewall Sin Complicaciones)

Fail2ban es un IPS (Software de Prevención de Intrusiones) que protege los servidores contra ataques de fuerza bruta. Está disponible por defecto en la mayoría de los repositorios de Linux y admite múltiples backends de firewall. En esta sección, instalarás Fail2ban y luego configurarás UFW (Firewall Sin Complicaciones), que se utilizará como el backend de firewall para Fail2ban.

Primero, ejecuta el siguiente comando para actualizar el índice de paquetes de Ubuntu.

sudo apt update

actualizar repositorio

Ahora instala los paquetes ‘ fail2ban ‘ y ‘ ufw ‘ con el siguiente comando ‘ apt ‘. Ingresa ‘ Y ‘ para confirmar la instalación.

sudo apt install fail2ban ufw

instalar fail2ban y ufw

Después de que la instalación esté completa, ejecuta el siguiente comando para abrir el puerto para SSH y habilitar UFW. Ingresa ‘Y’ para confirmar, iniciar y habilitar UFW.

sudo ufw allow OpenSSH  
sudo ufw enable

Una vez que UFW esté habilitado, verás una salida ‘ El firewall está activo y habilitado al inicio del sistema ‘.

A continuación, ejecuta el siguiente comando para verificar el estado de UFW. Verás que UFW está ‘ activo ‘ con ‘ OpenSSH ‘ habilitado.

sudo ufw status

configurar ufw

Por último, ejecuta el comando ‘systemctl’ a continuación para iniciar, habilitar y verificar el servicio ‘ fail2ban ‘.

sudo systemctl enable --now fail2ban  
sudo systemctl status fail2ban

Puedes ver a continuación que ‘ fail2ban ‘ está activo (en ejecución) y habilitado.

iniciar y habilitar fail2ban

Configurando Fail2ban

Después de instalar fail2ban, debes configurarlo antes de que Fail2ban tome acción (verificación y bloqueo). En esta sección, modificarás la configuración de fail2ban ‘/etc/fail2ban/jail.local’, configurarás la configuración global para ‘ bantime ‘, ‘ maxretry ‘, y ‘ findtime ‘, configurarás la acción predeterminada y el backend de firewall UFW, y luego habilitarás la cárcel ‘ sshd ‘ para proteger el servicio SSH de ataques de fuerza bruta.

Para comenzar, copia la configuración predeterminada de fail2ban a ‘ /etc/fail2ban/jail.local ‘ con lo siguiente:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Abre el archivo ‘ /etc/fail2ban/jail.local ‘ con el siguiente comando del editor ‘ nano ‘.

sudo nano /etc/fail2ban/jail.local

Agrega tu red local a la opción ‘ ignoreip ‘. Cualquier subred dentro de esta opción no será bloqueada por fail2ban.

ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 192.168.10.20

Ajusta la configuración predeterminada para ‘ bantime ‘ (el tiempo que se prohibirá la dirección IP), ‘ findtime ‘ (la duración entre el número de fallos antes de la acción de prohibición), y ‘ maxretry ‘ (el número de fallos para que las direcciones IP sean prohibidas). En este ejemplo, configurarás ‘ bantime ‘ a ‘ 1 hora ‘, ‘ findtime ‘ a ‘ 10 minutos ‘, con ‘ maxretry ‘ a ‘ 5 veces ‘.

bantime = 1h  
findtime = 10m  
maxretry = 5

Opcionalmente, cambia la ‘ acción ‘ predeterminada a ‘ %(action_mw)s ‘ para prohibir direcciones IP y enviar notificaciones al administrador por correo electrónico. Además, asegúrate de cambiar las opciones ‘destmail’ y ‘sender’.

action = %(action_mw)s  
destemail = [email protected]  
sender = [email protected]

Cambia la ‘ banaction ‘ predeterminada a ‘ ufw ‘. Con esto, las direcciones IP serán prohibidas por fail2ban a través de UFW.

banaction = ufw

Ahora cambia la cárcel predeterminada para ‘ sshd ‘ con la configuración a continuación. En este ejemplo, la cárcel ‘ sshd ‘ tendrá configuraciones personalizadas para ‘ bantime ‘, ‘ maxretry ‘, y ‘ findtime ‘.

[sshd]  
enabled = true  
maxretry = 3  
findtime = 15m  
bantime = 3h  
  
port = ssh  
logpath = %(sshd_log)s  
backend = %(sshd_backend)s

Guarda y cierra el archivo cuando termines.

Por último, ejecuta el comando ‘systemctl’ a continuación para reiniciar el servicio ‘ fail2ban ‘ y aplicar tus cambios.

sudo systemctl restart fail2ban

verificar fail2ban

Comprobando las reglas de fail2ban usando fail2ban-client

En este punto, el servicio Fail2ban está en funcionamiento con la cárcel ‘sshd’ habilitada. Ahora aprenderás el comando básico de ‘fail2ban-client’ para verificar y gestionar la instalación de Fail2ban.

Para asegurarte de que fail2ban esté en funcionamiento, ejecuta el comando ‘ fail2ban-client ‘ a continuación.

sudo fail2ban-client ping

Si fail2ban está en funcionamiento, verás una salida ‘ PONG ‘.

Ahora verifica el estado de la cárcel ‘ sshd ‘ con el siguiente comando. Esto te mostrará la lista de direcciones IP detectadas y prohibidas para la cárcel ‘ sshd ‘.

sudo fail2ban-client status sshd

estado de la cárcel sshd

A continuación, ejecuta el comando ‘ fail2ban-client get ‘ a continuación para verificar las reglas específicas de tu cárcel fail2ban. En esta sección, verificarás ‘ bantime ‘, ‘ maxretry ‘, ‘ actions ‘, ‘ findtime ‘, y ‘ ignoreip ‘ de la cárcel ‘ sshd ‘.

sudo fail2ban-client get sshd bantime  
sudo fail2ban-client get sshd maxretry  
sudo fail2ban-client get sshd actions  
sudo fail2ban-client get sshd findtime  
sudo fail2ban-client get sshd ignoreip

configuración de la cárcel

Cómo prohibir y levantar la prohibición de direcciones IP con fail2ban-client

Es importante saber cómo prohibir o levantar la prohibición de direcciones IP manualmente usando ‘fail2ban-client’. Con esto, puedes eliminar fácilmente tu dirección IP de la lista de prohibidos. Utilizarás el comando ‘fail2ban-client’ para prohibir y levantar la prohibición de direcciones IP en Fail2ban.

Para prohibir direcciones IP manualmente a través de fail2ban, ejecuta el comando ‘ fail2ban-client ‘ a continuación. En este caso, la dirección IP prohibida va a la cárcel ‘ sshd ‘.

sudo fail2ban-client set sshd banip IP-ADDRESS

Ahora ejecuta el siguiente comando para levantar la prohibición de la dirección IP de la cárcel ‘ sshd ‘ de fail2ban.

Sudo fail2ban-client set sshd unbanip IP-ADDRESS

Por último, puedes verificar el estado de la cárcel ‘ sshd ‘ usando el comando a continuación. Verás que la dirección IP ha sido eliminada.

sudo fail2ban-client status sshd

Conclusión

¡Felicidades! Has completado la instalación de fail2ban en el servidor Ubuntu 24.04. También has aprendido la configuración básica para configurar Fail2ban, incluyendo la configuración global y la cárcel. Por último, también has aprendido el uso básico del comando ‘fail2ban-client’ para verificar el estado de fail2ban, el estado de la cárcel, las configuraciones de la cárcel, y prohibir y levantar la prohibición de direcciones IP manualmente.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.