📒  Confianza y seguridad

Cómo instalar fail2ban y configurar Fail2ban en servidores Linux

Cómo instalar fail 2ban y configurarlo en servidores Linux (ubuntu / debian) mediante el uso de fail2ban conf y configurarlo en ubuntu e instalar fail2ban en su servidor.
Fail2ban realmente puede proteger y ayudar a su seguridad en servidores Linux mediante la supervisión de la actividad maliciosa y la actividad sospechosa, mientras que puede prohibir y bloquear direcciones IP.
Es importante saber cómo instalar fail2ban o configurar fail2ban correctamente para trabajar sin problemas y sin ningún problema en su servidor.

Requerimientos:
Debian / Ubuntu
Otros Linux (los comandos de configuración serán diferentes)

NOTA: No puedes usar fail2ban en Hosting Compartido, necesitarás usarlo en nuestro Hosting VPS o Servidores Dedicados de Alexhost son los mejores servicios para usarlo.

¿Qué es Fail2ban?

configure fail2ban

Fail2Ban es una aplicación de análisis de registros que mejora la seguridad de los servidores Linux mediante la supervisión de los archivos de registro en busca de actividad maliciosa y la adopción automática de medidas para prohibir o bloquear las direcciones IP asociadas con comportamientos sospechosos. Su objetivo principal es proteger los servidores de varios tipos de ataques, especialmente aquellos que implican intentos de fuerza bruta para obtener acceso no autorizado. Es importante saber cómo instalar fail2ban correctamente en su servidor.

Así es como funciona Fail2Ban en general:

  1. Monitoreo de Archivos de Registro: Fail2Ban supervisa continuamente los archivos de registro especificados en busca de patrones que indiquen posibles amenazas a la seguridad. Estos archivos de registro incluyen los asociados con los intentos de autenticación, como /var/log/auth.log para SSH o /var/log/apache2/error.log para Apache.
  2. Reglas de filtrado: Fail2Ban utiliza reglas de filtrado predefinidas o configuradas por el usuario para identificar patrones específicos en las entradas de registro. Estos patrones suelen indicar intentos fallidos de inicio de sesión, adivinación de contraseñas u otras actividades sospechosas.
  3. Coincidencia de patrones: Cuando una entrada de registro coincide con un patrón predefinido, Fail2Ban la cuenta como “fallo” o “coincidencia” Los filtros están diseñados para reconocer patrones de ataque comunes, como repetidos intentos fallidos de inicio de sesión desde la misma dirección IP.
  4. Acciones de prohibición: Después de un cierto número de entradas coincidentes (configurado por el ajuste maxretry), Fail2Ban toma medidas para bloquear la dirección IP infractora. La duración del bloqueo viene determinada por el parámetro bantime. Este bloqueo temporal ayuda a frustrar los ataques automatizados, dificultando el acceso a los atacantes.
  5. Cárceles: Fail2Ban organiza sus configuraciones de monitorización y baneo en unidades llamadas “cárceles” Cada jaula corresponde a un servicio o conjunto de servicios específicos. Por ejemplo, puede haber una jaula para SSH, otra para Apache, y así sucesivamente. La configuración de cada jaula, incluyendo los filtros y las opciones de bloqueo, se define en los archivos de configuración de Fail2Ban.
  6. Estado e Interacción: Los administradores del sistema pueden comprobar el estado de Fail2Ban, ver las direcciones IP bloqueadas y desbloquearlas manualmente si es necesario. Fail2Ban también registra sus acciones, proporcionando a los administradores un historial de direcciones IP bloqueadas y eventos relevantes.

Al bloquear automáticamente las direcciones IP que muestran un comportamiento malicioso, Fail2Ban ayuda a proteger los servidores de ataques de fuerza bruta, adivinación de contraseñas y otras amenazas a la seguridad. Es una herramienta valiosa para mejorar la seguridad general de un servidor Linux. Sin embargo, es esencial configurar Fail2Ban adecuadamente para su entorno específico y revisar regularmente sus registros para garantizar un funcionamiento correcto.

### Paso 1: Cómo instalar Fail2Ban

Abra un terminal en su servidor Ubuntu o Debian y ejecute los siguientes comandos:

sudo apt update

sudo apt install fail2ban

### Paso 2: Configurar Fail2Ban

  1. Cree una copia del archivo de configuración por defecto:

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

  1. Abra el archivo `jail.local` en un editor de texto. Puedes usar `nano` o `vim`:

sudo nano /etc/fail2ban/jail.local

  1. Configure las opciones básicas en el archivo `jail.local`. Estas son algunas opciones comunes:

bantime: Duración (en segundos) que una IP estará baneada. Por defecto es 10 minutos (600 segundos).

findtime: La ventana de tiempo (en segundos) dentro de la cual debe ocurrir un número definido de fallos para el baneo.

maxretry: El número de fallos permitidos antes del baneo.

Ejemplo:

[DEFAULT]

bantime = 600

tiempo de búsqueda = 600

reintento máximo = 3

4. Configure los filtros para los servicios específicos que desea que Fail2Ban supervise. Los filtros se definen en el archivo `jail.local` en la sección `[]`. Los servicios comunes incluyen SSH (`sshd`), Apache (`apache`), y Nginx (`nginx`).

Ejemplo para SSH:

[sshd]

enabled = true

puerto = ssh

filtro = sshd

logpath = /var/log/auth.log

maxreint = 5

Nota: Asegúrese de que `port` y `logpath` coinciden con su configuración específica.

  1. Guarde el archivo `jail.local` y salga del editor de texto.

### Paso 3: Reiniciar Fail2Ban

Después de realizar cambios en la configuración, reinicie Fail2Ban para aplicar la nueva configuración:

sudo systemctl restart fail2ban

### Paso 4: Comprobar el estado de Fail2Ban

Puede comprobar el estado de Fail2Ban con:

sudo fail2ban-client status

Esto debería mostrar información sobre las jaulas y su estado.

### Paso 5: Probar Fail2Ban

Para probar si Fail2Ban está funcionando, genere intencionalmente algunos intentos fallidos de inicio de sesión en el servicio monitoreado (por ejemplo, SSH). Después de alcanzar el valor `maxretry` especificado, Fail2Ban debería bloquear la dirección IP correspondiente.

Recuerde adaptar estas instrucciones a su sistema Ubuntu o Debian específico y a las configuraciones del servicio. Tenga siempre en cuenta las implicaciones de seguridad de su configuración y revise regularmente los registros para detectar cualquier comportamiento inesperado.

Nota: Mientras configura fail2ban en su servidor, no bloquee el puerto 22 a menos que esté seguro de lo que está haciendo, en tal caso bloqueará el puerto SSH por defecto.

Advertencia: Fail2ban es una excelente herramienta para proteger sus servidores linux, pero necesita ser configurada cuidadosamente. Para evitar ser baneado, pon en la lista blanca tu IP y otras IPs que consideres importantes. Usar fail2ban y configurarlo sin hacerlo correctamente puede hacerte perder la conexión a tu servidor, es importante saber como instalar fail2ban en tu servidor (Ubuntu, Debian, CentOS etc).