Búsqueda de sitios web

Cómo cambiar el tiempo de prohibición Fail2ban, incluso prohibir para siempre si lo desea


“Fail2ban es una aplicación de análisis de registros de código abierto que evita que su sistema sufra ataques de fuerza bruta. Analiza los archivos de registro y bloquea las direcciones IP que tienen demasiadas fallas de autenticación. Esto suele suceder cuando un usuario intenta iniciar sesión utilizando el método de prueba y error. Luego, Fail2ban toma medidas como actualizar las reglas del firewall para prohibir esa dirección IP durante un período de tiempo específico que, de forma predeterminada, es de 10 minutos o 600 segundos. La dirección IP bloqueada se elimina automáticamente después de 10 minutos para evitar bloquear a cualquier usuario legítimo que haya escrito incorrectamente sus contraseñas repetidamente. ”

En este artículo, aprenderá cómo cambiar el tiempo de prohibición en fail2ban y cómo prohibir una dirección IP para siempre si lo desea.

Nota
1. Antes de continuar, asegúrese de tener privilegios de sudo.

2. El procedimiento explicado aquí ha sido probado en Ubuntu 22.04. Sin embargo, el mismo procedimiento también se puede utilizar en otras distribuciones de Linux.

Cómo instalar Fail2ban en Linux

Fail2ban está disponible en los repositorios de paquetes de casi todas las distribuciones de Linux. Puede instalarlo usando los administradores de paquetes de sus distribuciones de Linux.

En Ubuntu y Debian

Para instalar fail2ban en distribuciones basadas en Debian como Ubuntu y Debian, use el siguiente comando:

 $ sudo apt install fail2ban

En CentOS, Fedora y RHEL

Para instalar fail2ban en distribuciones basadas en RHEL como CentOS, Fedora y RHEL, use los siguientes comandos:

$ sudo dnf install epel-release
$ sudo dnf install fail2ban

Sobre Manjaro y Arco

Para instalar fail2ban en distribuciones basadas en Arch, como Manjaro y Arch, use el siguiente comando:

$ sudo pacman -Sy fail2ban

Una vez instalado, puede iniciar fail2ban usando el siguiente comando:

$ sudo systemctl start fail2ban

Para habilitar el servicio en el arranque, use el siguiente comando:

$ sudo systemctl enable fail2ban

Cómo cambiar el tiempo de prohibición en Fail2ban

Como dijimos anteriormente, el tiempo predeterminado durante el cual se bloquea una dirección IP después de un número específico de intentos de autenticación fallidos es de 10 minutos. Se recomienda establecer el tiempo de prohibición lo suficiente para desalentar los intentos maliciosos. Sin embargo, no debería pasar mucho tiempo para que el usuario legítimo sea baneado por error por sus intentos fallidos de autenticación. También puede desbanear manualmente una dirección IP legítima en lugar de esperar a que expire el tiempo de baneo.

El archivo de configuración de Fail2ban jail.conf se encuentra en /etc/fail2ban. Sin embargo, no edite este archivo directamente. En su lugar, copie el archivo jail.conf en el archivo jail.local en el directorio /etc/fail2ban y realice todos los cambios de configuración en este nuevo archivo.

Para crear un archivo jail.local, abra la Terminal y ejecute el siguiente comando:

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

Creará un archivo de configuración jail.local en el directorio /etc/fail2ban.

2. Puede modificar el tiempo de prohibición cambiando el parámetro de tiempo de prohibición en el archivo /etc/fail2ban/jail.local. Edite el archivo /etc/fail2ban/jail.local en cualquier editor de texto como Nano:

$ sudo nano /etc/fail2ban/jail.local

3. Ahora ajuste el valor del parámetro bantime según sus requisitos. Digamos que para prohibir la dirección IP durante 20 segundos, establezca el valor de bantime en 20. De manera similar, para prohibir la dirección IP durante 5 minutos, establezca el valor de bantime en 300 segundos.

tiempo de baneo=20

Una vez hecho esto, guarde y cierre el archivo /etc/fail2ban/jail.local.

4. Después de realizar cualquier ajuste en el archivo de configuración de fail2ban, asegúrese de reiniciar el servicio para aplicar los cambios:

$ sudo systemctl restart fail2ban

Ahora las direcciones IP serán prohibidas durante 20 segundos. También puede ver los registros de fail2ban para verificar esto:

$ cat /var/log/fail2ban.log

Los registros de fail2ban resaltados en la captura de pantalla anterior verifican que una dirección IP 192.168.72.186 está prohibida a las 01:14:14 y luego deshabilitada después de 20 segundos a las 01:14:34.

Prohibir permanentemente una dirección IP en Fail2ban

Con fail2ban, también puede prohibir permanentemente una dirección IP infractora. Veamos cómo lograrlo:

1. Si ya ha creado el archivo jail.local, puede abandonar este paso.

Crea un archivo jail.local usando este comando en Terminal:

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

Ahora se ha creado el archivo de configuración jail.local.

2. Ahora, para prohibir permanentemente las direcciones IP, edite el archivo de configuración /etc/fail2ban/jail.local usando el siguiente comando:

$ sudo nano /etc/fail2ban/jail.local

3. Para bloquear permanentemente una dirección IP, establezca el valor de tiempo de bloqueo en -1.

Después de eso, guarde y salga del archivo /etc/fail2ban/jail.local.

4. Reinicie el servicio fail2ban de la siguiente manera:

$ sudo systemctl restart fail2ban

Después de eso, las direcciones IP que generan el número específico de intentos fallidos de conexión serán prohibidas permanentemente.

Ahora guarde y cierre el archivo.

Sin embargo, recuerde que las direcciones IP prohibidas permanentemente no persistirán en el reinicio del sistema o del servicio. Para que estas prohibiciones sean persistentes, deberá realizar algunos pasos más:

1. Edite el archivo /etc/fail2ban/jail.local usando el siguiente comando:

$ sudo nano /etc/fail2ban/jail.local

Busque la entrada banaction en este archivo. La siguiente captura de pantalla muestra que la banacción es iptables-multiport.

2. Edite el archivo de banaction iptables-multiport usando el siguiente comando:

$ sudo nano /etc/fail2ban/action.d/iptables-multiport.conf

Debajo de las entradas predeterminadas de actionstart, agregue las siguientes líneas:

# Make bans persistent
cat /etc/fail2ban/ip.banned | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j DROP; done

Y debajo de las entradas predeterminadas de actionban, agregue las siguientes líneas:

# Make bans persistent
echo '<ip>' >> /etc/fail2ban/ip.banned

También puede consultar la siguiente captura de pantalla para mayor claridad.

Luego guarde y cierre el archivo y reinicie el servicio fail2ban:

$ sudo systemctl restart fail2ban

Fail2ban agregará las direcciones IP prohibidas al archivo /etc/fail2ban/ip.banned. También puede agregar direcciones IP manualmente a este archivo. Las direcciones IP prohibidas ahora persistirán en todo el sistema o reinicio del servicio.

¡Eso es todo! En este artículo, explicamos cómo usar fail2ban; puede cambiar el tiempo de prohibición o prohibir una IP para siempre que no se autentique repetidamente.