GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instalar y configurar Fail2ban en Ubuntu 20.04

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 configurado de forma predeterminada para monitorear 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

Una vez instalado, verifique si se está ejecutando:

$ sudo systemctl status fail2ban

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

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

$ sudo ps -efww | egrep fail2ban

Salida:

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/fail2ban directorio como se muestra.

Los principales archivos de configuración son /etc/fail2ban/jail.conf   y /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 de jail.conf archivo a jail.local y luego defina su propia configuración. No es necesario que incluya todas las configuraciones del jail.conf archivo, solo aquellos que desea anular.

Entonces, primero creemos el jail.local archivo 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

Incluir direcciones IP en la lista blanca

Usando el ignoreip directiva, 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.

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. reintento máximo

tiempo de baneo - 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.

encontrar tiempo - 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 maxtry valor dentro de un período de 10 minutos, luego se prohibirá la IP desde la que se está conectando.

reintento máximo - 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.

Notificaciones por 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 utilizar la función de notificación por correo electrónico, agregue la siguiente línea

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.

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 el bantime transcurre.

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 enabled =true atributo después del encabezado de la cárcel. También puede proporcionar configuraciones de prohibición como vimos anteriormente.

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, incluidas 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.

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

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

Salida:

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 el estado de Fail2ban nuevamente, y esta vez, la IP prohibida ya no se registra.

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

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. Esto concluye este tutorial sobre cómo instalar y configurar Fail2ban en Ubuntu 20.04.


Ubuntu
  1. Instalar y configurar PHP OPcache en Ubuntu 20.04

  2. Cómo instalar y configurar Fail2Ban en Ubuntu 20.04

  3. Cómo instalar y configurar Fail2ban en Ubuntu 20.04

  4. ¿Cómo instalar y configurar Fail2ban en Ubuntu?

  5. Cómo instalar y configurar Fail2ban en Ubuntu 20.04 LTS

Cómo instalar y configurar Solr 6 en Ubuntu 16.04

Cómo instalar y configurar GitLab en Ubuntu 16.04

Cómo instalar y configurar Cacti en Ubuntu 20.04

Instalar y configurar Git en Ubuntu 16.04

Instalar y configurar el servidor VNC en Ubuntu 16.04

Instalar y configurar Fail2ban en Debian 11