“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 manera predeterminada, es de 10 minutos o 600 segundos. La dirección IP prohibida se elimina automáticamente después de 10 minutos para evitar el bloqueo de usuarios legítimos que podrían haber 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:
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 fail2ban
Sobre Manjaro y Arco
Para instalar fail2ban en distribuciones basadas en Arch, como Manjaro y Arch, use el siguiente comando:
Una vez instalado, puede iniciar fail2ban usando el siguiente comando:
Para habilitar el servicio en el arranque, use el siguiente comando:
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:
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 bantime en el archivo /etc/fail2ban/jail.local . Edite el archivo /etc/fail2ban/jail.local en cualquier editor de texto como Nano:
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:
Ahora las direcciones IP serán prohibidas durante 20 segundos. También puede ver los registros de fail2ban para verificar esto:
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 dejar este paso.
Cree el archivo jail.local usando este comando en la Terminal:
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:
3. Para prohibir permanentemente una dirección IP, establezca el valor de bantime en -1 .
Después de eso, guarde y salga del archivo /etc/fail2ban/jail.local .
4. Reinicie el servicio fail2ban de la siguiente manera:
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:
Busque la entrada de banaction en este archivo. La siguiente captura de pantalla muestra que la acción es iptables-multiport .
2. Edite el archivo banaction iptables-multiport usando el siguiente comando:
Debajo de las entradas predeterminadas de actionstart , agregue las siguientes líneas:
cat / etc / fail2ban / ip.banned | mientras lee IP; do iptables -I fail2ban- < nombre > 1 -s $IP -j DROP; hecho
Y debajo de las entradas predeterminadas de actionban , agregue las siguientes líneas:
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:
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.