Instalación y configuración de Fail2ban en Ubuntu 20.04
Fail2ban es una utilidad basada en Python que brinda seguridad contra ataques cibernéticos como ataques DDoS, ataques de bots de fuerza bruta y similares. Es gratuito y de código abierto y se puede utilizar en sistemas POSIX, que incluyen un cortafuegos local.
Para resumir cómo funciona Fail2ban, busca activamente signos de posibles abusos de autenticación de contraseñas para filtrar las direcciones IP y actualizar regularmente el firewall del sistema para suspender estas direcciones IP durante un período determinado.
Esta breve guía le mostrará cómo configurar Fail2ban en su sistema Ubuntu 20.04.
Actualizar la lista oficial de paquetes
Obtendremos fail2ban de los repositorios oficiales de Ubuntu. Inicie la terminal e ingrese el siguiente comando para actualizar la lista de paquetes para la última versión disponible de Fail2ban:
Instalar Fail2ban
Luego, ingrese el siguiente comando para instalar el paquete Fail2ban actualizado:
$ sudo apt install fail2ban
El servicio fail2ban se activará y se iniciará por sí mismo tras la instalación.
Verificar instalación
Aún así, debe verificar si se instaló correctamente. Ejecute el siguiente comando para comprobar la instalación:
$ sudo systemctl status fail2ban
Si la línea Activo en la salida contiene activo (en ejecución), todo está bien. Avancemos y veamos cómo configurar Fail2ban.
Configuración de Fail2ban en Ubuntu 20.04
Para configurar Fail2ban en Ubuntu, editaremos dos archivos de configuración particulares. Uno es jail.conf en la ubicación /etc/fail2ban/, y el otro se llama defaults-debian.conf en /etc/fail2ban/jail.d/fuerte>. Pero para mantener su integridad, no los editaremos directamente, ya que podría romper el programa y, con toda seguridad, no podremos actualizar el software. En cambio, hacemos copias de cada uno y realizamos la edición en ellos.
Ejecute el siguiente comando para copiar y pegar jail.conf como jail.local:
$ sudo cp /etc/fail2ban/jail.{conf,local}
Nos comprometemos a modificar este archivo específico en este tutorial. Inicie la copia en un editor de texto para comenzar a editar. Ejecute el siguiente comando:
$ sudo gedit /etc/fail2ban/jail.local
Veamos qué cambios podemos hacer.
Configuración de parámetros de prohibición de IP
El tiempo de prohibición de todas las direcciones IP se establece mediante un parámetro conocido como tiempo de prohibición. El valor establecido para bantime por defecto es de solo 10 minutos. Puede cambiar establecer su valor a cualquier límite de tiempo que desee imponer a los prohibidos. Por ejemplo, para configurar el tiempo de baneo para todas las direcciones IP prohibidas, puede configurarlo como:
También puedes hacer baneos permanentes asignando un valor negativo.
Otra variable muy importante es findtime. Define el tiempo de duración permitido entre intentos de inicio de sesión consecutivos. Si los múltiples intentos de inicio de sesión se realizaron dentro del tiempo definido por findtime, se establecería una prohibición en la IP.
Por último, está maxretry. Define el número exacto de intentos de inicio de sesión fallidos permitidos dentro del findtime. Si el número de intentos fallidos de autorización dentro del findtime supera el valor maxretry, se prohibirá que la IP vuelva a iniciar sesión. El valor predeterminado es 5.
Fail2ban también le permite otorgar inmunidad a las direcciones IP y rangos de IP de su elección. Estas condiciones discutidas anteriormente no se aplicarán a estas direcciones IP, esencialmente permitiéndole crear una especie de lista blanca.
Para agregar una IP a esta lista blanca, modifique la línea ignoreip y escriba la dirección IP para excluir:
# ignoreip = 127.0.0.1/8 ::1 222.222.222.222 192.168.55.0/24
Como administrador, debe agregar su dirección IP a esta lista blanca antes que nada.
Terminando
Este tutorial le mostró cómo configurar Fail2ban en Ubuntu. Lo instalamos directamente desde los repositorios estándar de Ubuntu. También hemos visto cómo podemos configurarlo y de qué manera. Ahora debería saber cómo establecer las condiciones de prohibición y cómo excluir las direcciones IP para que no obtengan la prohibición.