Cómo proteger el servidor Linux con fail2ban

Cuando se trata de mantener un servidor Linux, mejorar la seguridad del servidor debe ser uno de sus principales objetivos

A menudo puede notar diferentes intentos de inicio de sesión de fuerza bruta, inundaciones web, búsqueda de exploits y muchas otras cosas al analizar los registros de su servidor. Puede verificar los registros de su servidor y establecer reglas de iptables adicionales para bloquear las direcciones IP problemáticas utilizando un software de protección contra intrusiones como fail2ban. Este artículo lo guiará a través de la instalación de fail2ban y su configuración para defender su sistema Linux de los ataques de fuerza bruta.

Cómo instalar Fail2Ban en sistemas Linux

La instalación de fail2ban es relativamente fácil:

Instalar Fail2Ban en CentOS/RHEL

Primero, actualice sus paquetes, habilite el repositorio de Epel e instale fail2ban como se muestra.

# yum actualizar # yum instalar epel-release # yum instalar fail2ban

Instalar Fail2Ban en Debian/Ubuntu

Primero, actualice sus paquetes e instale fail2ban como se muestra.

# apt-get update && apt-get upgrade -y # apt-get install fail2ban

Opcionalmente, si desea habilitar el soporte de correo (para notificaciones de correo), puede instalar sendmail.

# yum instalar sendmail

# apt-get install sendmail-bin sendmail

Para permitir fail2ban Y enviar correo use los siguientes comandos:

# systemctl start fail2ban # systemctl enable fail2ban # systemctl start sendmail # systemctl enable sendmail

Cómo configurar Fail2ban en sistemas Linux

Por defecto, fail2ban usa los archivos .conf ubicados en /etc/fail2ban/ que se leen primero. Sin embargo, estos pueden ser anulados por archivos .local ubicados en el mismo directorio.

Por lo tanto, el archivo .local no necesita incluir todas las configuraciones en el archivo .conf, sino solo las que desea anular. Los cambios deben realizarse en los archivos .local, no en el .conf. Esto evitará que se sobrescriban los cambios al actualizar el paquete fail2ban.

A los efectos de este tutorial, copiaremos el archivo fail2ban.conf existente en fail2ban.local .

# cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

Ahora puede realizar los cambios en el archivo .local utilizando su editor de texto favorito. Los valores que puedes editar son:

  • nivel de registro : este es el nivel de detalle que se registrará. Las opciones posibles son: CRÍTICO, ERROR, ADVERTENCIA, ADVERTENCIA, INFORMACIÓN, DEPURAR
  • objetivo de registro : registra las acciones en un archivo específico. El valor predeterminado es /var/log/fail2ban.log . Sin embargo, puede cambiar esto a:
  • STDOUT: salida de cualquier dato
  • STDERR – salida de cualquier error
  • SYSLOG: registro basado en mensajes
  • Archivo: salida a un archivo
  • Enchufe : directorio donde se colocará el archivo de socket.
  • pid-file : ubicación del archivo pid.

Configurar Fail2ban jail.local

Uno de los archivos más importantes en fail2ban es jail.conf, que define sus cárceles. Aquí es donde define los servicios para los que se debe habilitar fail2ban.

Como mencionamos anteriormente, los archivos .conf se pueden cambiar durante las actualizaciones, por lo que debe crear un archivo jail.local donde pueda aplicar sus modificaciones.

Otra forma de hacer esto es simplemente copiar el archivo .conf con:

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

En caso de que esté utilizando CentOS o fedora , deberá cambiar el back-end en jail.local de "car" a "system" .

Habilitar Backend en Fail2ban

si está usando Ubuntu/Debian , no hay necesidad de hacer esta modificación, aunque también usan systemd .

El archivo jail habilitará SSH de forma predeterminada para Debian Y ubuntu , pero no en CentOS . Si desea habilitarlo, simplemente cambie la siguiente línea en /etc/fail2ban/jail.local :

habilitado = verdadero

Puede configurar la circunstancia después de la cual se bloquea una dirección IP. Para ello, las aplicaciones fail2ban ban time , find time Y maxretry .

tiempo de prohibición : esta es la cantidad de segundos que una dirección IP permanecerá bloqueada (predeterminado 10 min).

tiempo de búsqueda : la cantidad de tiempo entre los intentos de inicio de sesión, antes de que se prohíba el host. (predeterminado 10 minutos). En otras palabras, si fail2ban está configurado para bloquear una dirección IP después de 3 intentos fallidos de inicio de sesión, esos 3 intentos deben realizarse dentro del período findtime ( 10 minutos).

maxretry : número de intentos antes de que se aplique una prohibición. (predeterminado 3 ).

Por supuesto, querrá incluir en la lista blanca ciertas direcciones IP. Para configurar dichas direcciones IP, abra /etc/fail2ban/jail.local con su editor de texto favorito y descomente la siguiente línea:

ignorarip = 127.0.0.1/8 ::1

Luego puede poner las direcciones IP que desea que se ignoren. Las direcciones IP deben estar separadas por espacios o comas.

Si desea recibir alertas por correo electrónico sobre el evento, deberá configurar los siguientes ajustes en /etc/fail2ban/jail.local :

email – dirección de correo electrónico, donde recibirás la notificación.

nombre del remitente: el remitente que verá cuando reciba el mensaje.

remitente : dirección de correo electrónico desde la cual fail2ban enviará los correos electrónicos.

El valor predeterminado mta ( agente de transferencia de correo ) se establece para enviar correo .

Para recibir notificaciones por correo, también deberá cambiar el ajuste de "acción" de:

Acción = %(acción_)s

A uno de estos:

acción = %(acción_mw)s acción = %(acción_mwl)s

%(action_mw)s : prohibirá el host y enviará un correo electrónico con un informe whois.

%(mwl_action)s : prohibirá el host, proporcionará información whois y toda la información relevante del archivo de registro.

Configuración adicional de la cárcel Fail2ban

Hasta ahora hemos visto las opciones básicas de configuración. Si desea configurar una cárcel, deberá habilitarla en el archivo jail.local . La sintaxis es bastante simple:

. . . habilitado = verdadero

dónde debería reemplazar jail_to_enable con la prisión real, por ejemplo, "ssh" . En el archivo jail.local , los siguientes valores estarán predefinidos para el servicio ssh:

puerto = ruta de registro ssh = %(sshd_log)s

Puede habilitar el filtro que ayudará a identificar si una línea en el registro falla. El valor del filtro es en realidad una referencia a un archivo con el nombre del servicio seguido de .conf . Por ejemplo: /etc/fail2ban/filter.d/sshd.conf .

La sintaxis es:

filtro = servicio

Por ejemplo:

filtro = sshd

Puede revisar los filtros existentes en el siguiente directorio: /etc/fail2ban/filter.d/ .

Usar fail2ban-cliente

Fail2ban viene con un cliente que se puede usar para revisar y cambiar la configuración actual. Dado que proporciona muchas opciones, puede consultar su manual con:

# hombre fail2ban-cliente

Aquí verás algunos de los comandos básicos que puedes utilizar. Para verificar el estado actual de fail2ban o para una cárcel específica, puede usar:

# estado del cliente fail2ban

El resultado será similar a este:

Consultar el estado de Fail2ban

Para la cárcel individual, puede ejecutar:

# estado del cliente fail2ban-sshd

Sin usted, esta web no existiria. Gracias por visitarme, espero que le haya gustado y vuelva. Gracias ☺️

Articulos tematica linux

Fecha actualizacion el 2022-01-19. Fecha publicacion el 2022-01-19. Categoria: linux Autor: Oscar olg Mapa del sitio Fuente: bollyinside