Instalar y configurar Fail2ban en Ubuntu 20.04 | Ubuntu 20.10

Instalar y configurar Fail2ban en Ubuntu 20.04 | Ubuntu 20.10

 

Fail2ban es un marco de seguridad de código abierto escrito en Python que protege los servidores contra ataques de fuerza bruta . Escanea los archivos de registro y prohíbe las direcciones IP que realizan intentos de inicio de sesión fallidos. Funciona actualizando el firewall para rechazar nuevas conexiones desde esas direcciones IP durante un período de tiempo configurable.

Por defecto, Fail2ban usa Iptables y es posible usarlo con otros firewalls. Compatibilidad con Fail2ban tanto para IPv4 como para IPv6.

Fail2ban está configurado de manera predeterminada para monitorear los intentos de inicio de sesión SSH y puede monitorear otros archivos de registro como Apache, vsftpd y Postfix, etc.

En este tutorial, lo guiaré a través de cómo instalar y configurar fail2ban en Ubuntu 20.04.

Instalar Fail2ban en Ubuntu

Para comenzar, abra su terminal y actualice las listas de paquetes.

$ sudo apt update

Fail2Ban ya está empaquetado con la mayoría de las distribuciones de Linux. Para instalar fail2ban usando el administrador de paquetes APT, ejecute:

$ sudo apt install fail2ban
Instalar y configurar Fail2ban en Ubuntu 20.04

Una vez instalado, verifique si se está ejecutando mediante:

$ sudo systemctl status fail2ban

Desde el resultado, podemos ver que el servicio fail2ban está activo y funcionando como se esperaba.

Instalar y configurar Fail2ban en Ubuntu 20.04

Para comprobar la ejecución del proceso fail2ban, escriba:

$ sudo ps -efww | egrep fail2ban

Producción:

root     1310843       1  0 11:17 ?        00:00:02 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

Estupendo. Veamos una descripción general de los archivos de configuración asociados con Fail2ban y cómo ajustar la configuración a las direcciones IP de la lista negra o de la lista blanca.

Descripción general de los archivos de configuración

Los archivos de configuración de Fail2ban se encuentran en el /etc/fail2bandirectorio que se muestra.

Instalar y configurar Fail2ban en Ubuntu 20.04

Los principales archivos de configuración son /etc/fail2ban/jail.conf /etc/fail2ban/jail.d/defaults-debian.conf

Hagas lo que hagas, no es recomendable modificar estos archivos, ya que existe una alta probabilidad de que se sobrescriban cuando se actualice el paquete fail2ban.

Como solución alternativa, la forma recomendada de configurar Fail2ban es crear una copia del jail.confarchivo jail.localy luego definir su propia configuración. No tiene que incluir todas las configuraciones del jail.confarchivo, solo aquellas que desea anular.

Entonces, primero creemos el jail.localarchivo de configuración de la siguiente manera.

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

Ahora, utilizando su editor de texto favorito, abra el archivo. Aquí, estoy usando el editor vim.

$ sudo vim /etc/fail2ban/jail.local

Lista blanca de direcciones IP

Usando la ignoreipdirectiva, puede excluir las direcciones IP, el rango de IP o una subred completa de la prohibición. Es aquí donde agrega las direcciones IP de las máquinas remotas que desea incluir en la lista blanca o permitir el acceso en términos simples. Se pueden agregar múltiples direcciones IP usando espacios o comas.

Por ejemplo, para incluir en la lista blanca las direcciones IP 192.168.2.50 , 192.168.2.100 , agregue las entradas de la siguiente manera.

Instalar y configurar Fail2ban en Ubuntu 20.04

Configuración de prohibición

Las condiciones de prohibición están definidas por los siguientes parámetros:

  1. tiempo de baneo
  2. encontrar tiempo
  3. maxreintentar

bantime : este es el período durante el cual se prohíbe o se niega el acceso a una dirección IP para intentar volver a conectarse con el servidor. De forma predeterminada, está configurado en 10 minutos, pero siéntase libre de configurarlo según sus preferencias.

findtime : esta es la duración entre los intentos de inicio de sesión fallidos antes de que se implemente una prohibición. Esto se establece en 10 min. Lo que esto significa es que si está intentando un inicio de sesión SSH y las fallas alcanzan el valor maxtry dentro de un período de 10 minutos, entonces se prohibirá la IP desde la que se está conectando.

maxretry : esto representa el número máximo de intentos de conexión fallidos antes de que se prohíba una IP. B predeterminado, esto está configurado en 5 segundos, lo que debería estar bien, pero preferiría 3 segundos para minimizar el bombardeo de intentos de conexión.

Instalar y configurar Fail2ban en Ubuntu 20.04

Notificaciónes de Correo Electrónico

Fail2ban posee la capacidad de enviar alertas por correo electrónico una vez que se ha prohibido una dirección IP. Para enviar y recibir correos electrónicos, debe tener un servidor SMTP instalado y configurado. Para usar la función de notificación por correo electrónico, agregue la línea a continuación

action = %(action_mw)s

El parámetro %(action_mw)s prohíbe la dirección IP sospechosa y envía un correo electrónico al administrador con un informe whois detallado. Para incluir mensajes de registro, establezca el parámetro en %(action_mwl)s.

Defina adicionalmente la dirección de correo electrónico de envío, así como el destinatario.

Instalar y configurar Fail2ban en Ubuntu 20.04

Fail2ban cárceles

El modus operandi de Fail2ban utiliza el concepto de cárceles. Es decir, si la dirección IP infractora intenta sin éxito iniciar sesión o acceder a un servicio, se coloca en una ‘cárcel’ y no puede iniciar una conexión hasta que transcurra el tiempo de baneo .

Una cárcel, en términos simples, es un servicio con filtros y acciones. Fail2ban analiza las entradas de registro y, una vez que se identifican las entradas de registro coincidentes y se cumplen las condiciones, se implementan las acciones.

La cárcel SSH generalmente está habilitada de forma predeterminada para poner una correa a las conexiones SSH no autorizadas de direcciones IP sospechosas. Para habilitar una cárcel para otro servicio, simplemente agregue el atributo enable = true después del encabezado de la cárcel. También puede proporcionar configuraciones de prohibición como vimos anteriormente.

Instalar y configurar Fail2ban en Ubuntu 20.04

Cliente Fail2ban

Fail2ban proporciona una herramienta de línea de comandos para interactuar con Fail2ban conocida como fail2ban-client . Puede realizar una gran variedad de tareas, incluida la prohibición y la cancelación de direcciones IP.

Para verificar el estado de Fail2ban y ver si hay alguna IP prohibida o filtros violados, ejecute el comando:

$ sudo fail2ban-client status sshd

El siguiente resultado confirma la presencia de una dirección IP prohibida o incluida en la lista negra después de intentos fallidos de inicio de sesión SSH. La dirección IP se encuentra actualmente en la cárcel SSH.

Instalar y configurar Fail2ban en Ubuntu 20.04

También puede filtrar el archivo fail2ban.log para enumerar todas las direcciones IP prohibidas:

$ sudo zgrep 'Ban' /var/log/fail2ban.log*

Producción:

2021-04-29 11:17:55,081 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 117.221.69.37
2021-04-29 11:17:55,123 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 49.233.251.133
2021-04-29 11:17:55,131 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 106.52.93.202
2021-04-29 11:17:55,139 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 222.187.232.205
2021-04-29 11:17:55,147 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 222.187.239.107

Para desbanear la dirección IP incluida en la lista negra, ejecute el comando:

$ sudo fail2ban-client set sshd unbanip 192.168.2.102

Ahora verifique nuevamente el estado de Fail2ban, y esta vez, la IP prohibida ya no se registra.

Instalar y configurar Fail2ban en Ubuntu 20.04

Para prohibir una dirección IP, escriba:

$ sudo fail2ban-client set sshd banip 192.168.2.102

Para obtener más opciones de línea de comandos, ejecute el comando:

$ fail2ban-client -h
Instalar y configurar Fail2ban en Ubuntu 20.04

Conclusión

Tenga en cuenta que Fail2ban no sustituye a los cortafuegos y otras medidas de seguridad utilizadas para proteger su sistema. Es simplemente una capa adicional de seguridad que le brinda a su servidor una capa adicional de protección contra ataques de fuerza bruta, especialmente de bots y scripts automatizados. Con esto concluye este tutorial sobre cómo instalar y configurar Fail2ban en Ubuntu 20.04.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.