LINUX

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. Analiza los archivos de registro y prohíbe las direcciones IP que realizan intentos fallidos de conexión. Funciona al actualizar el firewall para rechazar nuevas conexiones desde esas direcciones IP durante un período de tiempo configurable.

Por defecto, Fail2ban usa Iptables y puede usarse con otros firewalls. Compatibilidad con Fail2ban tanto para IPv4 como para IPv6.

Fail2ban está configurado por defecto para monitorear Intentos de conexió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 sus listas de paquetes.

$ sudo apt update

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

$ sudo apt install fail2ban
Instalar fail2ban
Instalar FAil2ban

Una vez instalado, compruebe si se está ejecutando:

$ sudo systemctl status fail2ban

A partir del resultado, podemos ver que el servicio fail2ban está funcionando como se esperaba.

Comprobar el estado de fail2ban

Para verificar que el proceso fail2ban se está ejecutando, 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

Eso es genial. Veamos una descripción general de los archivos de configuración asociados con Fail2ban y cómo ajustar la configuración para las direcciones IP en la lista negra o en la lista blanca.

Descripción general de los archivos de configuración

Los archivos de configuración de Fail2ban están en el archivo /etc/fail2ban directorio como se muestra.

Archivos de configuración de Fail2ban
Archivos de configuración de Fail2ban

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 es muy probable que se sobrescriban cuando se actualice el paquete fail2ban.

Como solución alternativa, la forma recomendada de configurar Fail2ban es hacer una copia del archivo jail.conf archivo en jail.local y luego defina su propia configuración. No es necesario que incluya todos los ajustes en el jail.conf archivo, solo los que desea reemplazar.

Así que vamos a crear primero 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

Lista blanca de direcciones IP

usar ignoreip directivas, puede excluir direcciones IP, rango de IP o una subred completa de la prohibición. Aquí 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 varias direcciones IP usando espacios o comas.

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

Configuración de prohibición

Configuración de prohibición

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

  1. dinero
  2. encontrar el tiempo
  3. maxreintentar

dinero – Esta es la cantidad de tiempo que se deniega o se deniega el acceso a una dirección IP cuando intenta volver a conectarse al servidor. De forma predeterminada, está configurado en 10 minutos, pero no dude en configurarlo según sus preferencias.

encontrar el tiempo – Este es el período de tiempo entre los intentos de inicio de sesión fallidos antes de que se implemente una prohibición. Esto se establece en 10 minutos. Esto significa que si intenta un inicio de sesión SSH y las fallas llegan al intento máximo valor dentro de los 10 minutos, luego se prohibirá la IP desde la que se está conectando.

maxreintentar – Este es el número máximo de intentos de conexión fallidos antes de que se prohíba una IP. De forma predeterminada, 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.

Notificaciónes de Correo Electrónico

Fail2ban tiene la capacidad de enviar alertas por correo electrónico una vez que se ha prohibido una dirección IP. Para enviar y recibir correo electrónico, 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

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

Además, defina la dirección de correo electrónico de envío, así como el destinatario.

cárceles Fail2ban

El modus operandi de Fail2ban utiliza el concepto de prisión. Es decir, si la dirección IP infractora intenta sin éxito autenticarse o acceder a un servicio, se coloca en una «cárcel» y no puede iniciar una conexión hasta que dinero fuga.

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 activar una cárcel para otro servicio, simplemente agregue habilitado = verdadero atributo por título penitenciario. 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-cliente. Puede realizar una multitud de tareas, incluidas la prohibición y la cancelación de direcciones IP.

Para verificar el estado de Fail2ban y ver si hay direcciones IP prohibidas 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 conexión SSH. La dirección IP se encuentra actualmente en la cárcel SSH.

Verifique el estado de la prohibición
Verifique el estado de la prohibición

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 desbloquear la dirección IP de 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 está registrada.

IP de desbaneo de fail2ban
IP de desbaneo de fail2ban

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
Opciones del comando Fail2ban
Opciones del comando Fail2ban

Conclusión

Tenga en cuenta que Fail2ban no reemplaza los firewalls 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.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar