Cómo instalar Fail2ban en Rocky Linux y Almalinux

Cómo instalar Fail2ban en Rocky Linux y Almalinux

Escrito en Pitón, Fail2ban es una fuente gratuita y abierta Sistema de Prevención de Intrusión (IPS) que protege el servidor contra ataques de fuerza bruta.

Después de un número especificado de intentos de contraseña incorrectos, la dirección IP del cliente puede acceder al sistema durante un período especificado o hasta que el administrador del sistema lo desbloquee. De esta manera, el sistema se protege de los repetidos ataques de fuerza bruta de un solo anfitrión.

[También puede que le guste: cómo asegurar y endurecer el servidor OpenSsh]

Fail2ban es altamente configurable y se puede configurar para asegurar una gran cantidad de servicios como Ssh, VSFTPD, apache, y Webmin.

En esta guía, nos centramos en cómo puede instalar y configurar Fail2ban en Rocky Linux y Almalinux.

Paso 1: Asegúrese de que se ejecute Firewalld

Por defecto, Rocoso Viene con Firewalld Running. Sin embargo, si este no es el caso en su sistema, comience Cortafuegos ejecutando:

$ sudo systemctl iniciar firewalld 

Luego habilite que comience en el tiempo de arranque:

$ sudo systemctl habilitar firewalld 

Luego verifique el estado de Firewalld

$ sudo systemctl status firewalld 
Verifique el estado de firewalld

Además, puede confirmar todo el Cortafuegos Reglas actualmente se aplican utilizando el comando:

$ sudo firewall-cmd --list-thol 
Lista de reglas de firewalld

Paso 2: Instale Epel en Rocky Linux

Como requisito para la instalación de fail2ban y otros paquetes requeridos, debe instalar el Epel Repositorio que proporciona paquetes adicionales de alta calidad para distribuciones basadas en RHEL.

$ sudo DNF Instalar Epel-Lanzamiento 
Instale Epel en Rocky Linux

Paso 3: Instale Fail2Ban en Rocky Linux

Con Epel Instalado, proceder e instalar fail2ban y el Fail2ban-Firewalld paquete.

$ sudo dnf instalación fail2ban fail2ban-firewalld 

Esto instala el servidor Fail2Ban y el componente Firewalld junto con otras dependencias.

Instalar fail2ban en Rocky Linux

Con la instalación de Fail2Ban Complete, inicie el servicio Fail2Ban.

$ sudo systemctl start fail2ban 

Y habilite que comience en el tiempo de arranque.

$ sudo systemctl habilitar fail2ban 

Puede verificar el estado del servicio Fail2Ban ejecutando el comando:

$ sudo systemctl status fail2ban 

La salida es una confirmación de que Fail2Ban se está ejecutando como esperaríamos.

Verifique el estado de Fail2Ban

Paso 4: Configuración de Fail2Ban en Rocky Linux

Continuando, necesitamos configurar fail2ban para que funcione según lo previsto. Idealmente, editaríamos el archivo de configuración principal - /etc/fail2ban/cárcel.confusión. Sin embargo, esto se desanima. Como solución alternativa, copiará el contenido de la cárcel.Archivo de configuración de conf a celda.local archivo.

$ sudo cp/etc/fail2ban/cárcel.conf/etc/fail2ban/cárcel.local 

Ahora, abra el celda.local archivo usando su editor preferido.

$ sudo vim/etc/fail2ban/cárcel.local 

Bajo la [POR DEFECTO] Sección, asegúrese de tener la siguiente configuración a medida que aparecen.

bantime = 1h findtime = 1h maxretry = 5 

Definamos los atributos:

  • El bantime La directiva especifica la duración del tiempo en que un cliente estará prohibido después de los intentos de autenticación fallidos.
  • El FindTime La directiva es la duración o el período dentro del cual Fail2Ban considerará al considerar los intentos de contraseña incorrectos repetidos.
  • El maxretería El parámetro es el número máximo de intentos de contraseña incorrectos antes de que el cliente remoto se bloquee para acceder al servidor. Aquí, el cliente se bloqueará después de 5 fallas de autenticación.

Por defecto, Fail2ban funciona con iptables. Sin embargo, esto ha sido desaprobado a favor del firewalld. Necesitamos configurar fail2ban para trabajar junto con firewalld en lugar de iptables.

Entonces, ejecute con el comando:

$ sudo MV/etc/fail2ban/cárcel.D/00-Firewalld.conf/etc/fail2ban/cárcel.D/00-Firewalld.local 

Para aplicar los cambios, reiniciar Fail2ban:

$ sudo systemctl reiniciar fail2ban 

Paso 5: Asegurar el servicio SSH con Fail2Ban

Por defecto, Fail2Ban no bloquea ningún host remoto hasta que habilite la configuración de la cárcel para un servicio que desea asegurar. La configuración de la cárcel se especifica en el /etc/fail2ban/cárcel.d ruta y anulará la configuración especificada en la cárcel.archivo local.

En este ejemplo, crearemos un archivo de configuración de la cárcel para proteger el servicio SSH. Por lo tanto, cree el archivo de cárcel ssh.

$ sudo vim/etc/fail2ban/cárcel.d/sshd.local 

A continuación, pegue las siguientes líneas:

[sshd] habilitado = true # anular la configuración global predeterminada # para la cárcel específica sshd bantime = 1d maxretry = 3 

En la configuración anterior, se prohibirá a un host remoto acceder al sistema durante 1 día después de 3 intentos de inicio de sesión de SSH fallidos. Guardar los cambios y reiniciar el servicio Fail2Ban.

$ sudo systemctl reiniciar fail2ban 

A continuación, verifique el estado de configuración de la cárcel utilizando el fail2ban-client utilidad de línea de comandos.

$ sudo fail2ban-client status 

Desde la salida, podemos ver que tenemos 1 cárcel configurada para un servicio llamado 'SSHD'.

Verifique el estado de la cárcel de Fail2Ban

Además, puede confirmar el maxretería Valor de la cárcel SSHD usando la opción Get.

$ sudo fail2ban-client get sshd maxretry 3 

El valor impreso 3 debe coincidir con lo que especificó en el SSHD.local archivo.

Paso 6: Prueba de configuración de Fail2Ban

Después de configurar Fail2Ban y crear un archivo de configuración de la cárcel para el servicio SSH, vamos a realizar una ejecución de una prueba y simular 3 inicios de sesión fallidos al especificar una contraseña incorrecta para cada solicitado de contraseña.

Así que dirígete a un sistema remoto de Linux e intenta iniciar sesión usando la contraseña incorrecta. Después de 3 intentos fallidos, la conexión se eliminará y cualquier intento posterior de volver a conectar se bloqueará hasta que la duración de la prohibición vuelva a las.

Prueba de Fail2Ban en Linux

Para recopilar información sobre los sistemas de cliente bloqueados, verifique el estado de la cárcel.

$ sudo fail2ban-client sshd 
Compruebe el estado del bloque fail2ban

Para desahogar o eliminar al cliente de la cárcel, ejecute el comando:

$ sudo fail2ban-client no 192.168.2.102 

Una vez más, verifique el estado de la cárcel para asegurarse de que el cliente no esté incluido en la lista de IP prohibida.

$ sudo fail2ban-client sshd 
Compruebe la lista de bloques Fail2Ban

Como hemos visto, Fail2ban es una herramienta muy útil para evitar intrusos que buscan violar su sistema Linux. Funciona junto con Firewalld para prohibir los sistemas de clientes durante una duración especificada después de un número específico de intentos de inicio de sesión fallidos. Al hacerlo, proporciona una capa adicional de protección para su servidor Linux.