GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instalación y configuración de Fail2Ban:Ubuntu, CentOS, Fedora y Debian

Introducción

Fail2ban es un software que protege su servidor de ataques de fuerza bruta. Para ello, supervisa los registros del servidor y detecta cualquier actividad sospechosa.

El programa detecta cuando hay un número irrazonable de intentos fallidos y automáticamente agrega nuevos a iptables que bloquean la IP dada. Esta IP (o host) luego se bloquea por un tiempo específico o indefinidamente.

Por lo tanto, instalar este software de monitoreo de registros es una excelente manera de proporcionar otra capa a la seguridad de su servidor. Aún así, solo puede ser una parte de su plan general de seguridad del servidor. Explore más medidas con estos 21 consejos de seguridad para servidores.

En este tutorial, aprenderá a instalar y configurar Fail2ban en su servidor.

Requisitos previos

  • Acceso a una línea de comandos / ventana de terminal
  • Acceso a una cuenta de usuario con sudo o privilegios de root

Instalar Fail2ban

Cómo instalar Fail2ban depende del sistema operativo que se ejecute en su servidor. A continuación encontrará comandos para instalar y habilitar Fail2ban en Ubuntu , Cent OS , Fedora y Debian .

Importante: Fail2ban no reemplaza a los firewalls de software, como iptables. Está diseñado como otra capa de seguridad y no debe reemplazar a un firewall.

Instalar Fail2ban en Ubuntu

1. Antes de agregar nuevos paquetes, es importante actualizar el repositorio del sistema y actualizar software. Para hacerlo, ejecute el comando:

apt-get update && apt-get upgrade

Presiona para confirmar y presione Enter .

2. Ahora puedes instalar Fail2ban con:

apt-get install fail2ban

3. Opcionalmente, puede instalar Sendmail para asistencia por correo electrónico:

apt-get install sendmail

4. A continuación, debe permitir el acceso SSH a través del cortafuegos:

ufw allow ssh

5. Finalmente, habilite el firewall :

ufw enable

Instalar Fail2ban en CentOS

1. Para instalar Fail2ban en CentOS, necesita el repositorio EPEL . Actualice el sistema y agregue el repositorio ejecutando:

yum update && yum install epel-release

2. Con el repositorio EPEL configurado, instale Fail2ban con el comando:

yum install fail2ban

3. A continuación, debe iniciar el servicio Fail2ban y habilitarlo al arrancar:

systemctl start fail2ban
systemctl enable fail2ban

4. Para soporte por correo electrónico, puede instalar Sendmail con:

yum install sendmail

5. Para iniciar y habilitar Sendmail ejecución del servicio:

systemctl start sendmail
systemctl enable sendmail

Instalar Fail2ban en Fedora

1. Comience por actualizar el sistema :

dnf update

2. Luego, instala Fail2ban y Enviar correo (opcional, si necesita asistencia por correo electrónico):

dnf install fail2ban
dnf install sendmail

3. Como estos servicios no se inician automáticamente en Fedora, debe iniciar y habilitar ellos con:

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

Instalar Fail2ban en Debian

1. Actualizar y mejorar el sistema:

apt-get update && apt-get upgrade -y

Presiona y y Introducir para confirmar.

2. Luego, instala Fail2ban con el comando:

apt-get install fail2ban

3. Para soporte por correo electrónico, también puede instalar Sendmail usando el comando:

apt-get install sendmail-bin sendmail

Configurar Fail2ban

Configure Fail2ban editando los siguientes archivos de configuración:

  • archivo fail2ban.local
  • archivo jail.local

Configurar archivo fail2ban.local

Fail2ban define su configuración global en el fail2ban.conf expediente. El archivo consta de la configuración predeterminada y, por lo general, no se recomienda modificarlo.

Todos los cambios en la configuración deben realizarse en un fail2ban.local separado. archivo.

1. Por tanto, lo primero que hay que hacer es copiar el contenido del .conf archivo en un .local expediente. El comando para hacerlo es:

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

2. No habrá salida después de este comando. El siguiente paso es abrir el archivo fail2ban.local usando un editor de texto de su elección:

nano fail2ban.local

3. Debería ver un archivo similar a la imagen a continuación:

En este ejemplo, los comentarios en azul explican cada opción y sus posibles valores. Las líneas blancas son las opciones que puede modificar e incluyen:

  • loglevel – Establezca la salida del nivel de registro en CRITICAL, ERROR , WARNING , NOTICE , INFO o DEBUG .
  • logtarget – Establezca el destino del registro, que puede ser un FILE , SYSLOG , STDERR o STDOUT .
  • syslogsocket – Establezca el archivo de socket de syslog en auto o FILE (esto solo se usa si logtarget está establecido en SYSLOG )
  • socket – Configure el archivo de socket que se utiliza para comunicarse con el daemon. Asegúrese de no eliminar este archivo. Su ruta predeterminada es:/var/run/fail2ban/fail2ban.sock
  • pidfile – Establezca el archivo PID que se utiliza para almacenar el ID de proceso del servidor fail2ban. La ubicación predeterminada es:/var/run/fail2ban/fail2ban.pid

Configurar archivo jail.local

Otro archivo de configuración de Fail2ban que puede necesitar modificar es jail.conf archivo que incluye jaulas que definen filtros con acciones.

Al igual que con la configuración global, el jail.config El archivo no debe modificarse directamente. En su lugar, toda la personalización debe realizarse en jail.local archivo.

1. Si necesita hacer algunos cambios, copie el contenido de .conf archivo en un .local archivo:

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

2. Abra el archivo jail.local con un editor de texto de su elección:

nano jail.local

3. Debería ver el siguiente contenido:

Allí puede establecer las siguientes opciones:

  • ignoreself – Especifique si la dirección IP local debe ignorarse configurando el valor true   (predeterminado) o false .
  • ignoreip – Le permite especificar direcciones IP, máscaras CIDR o hosts DNS que deben prohibirse. Separe varias direcciones con espacios.
  • ignorecommand – Definir la path/to/command si uno debe ser ignorado.
  • bantime – Especifique la cantidad de segundos que un host está prohibido (el valor predeterminado es 600 )
  • maxretry – La cantidad de fallas permitidas antes de que se prohíba un host (establecido de forma predeterminada en 5) ).
  • findtime – El tiempo en el que el host no debe usar el maxretry número para no ser baneado (generalmente establecido en 10 minutos). Por ejemplo, si un host falla 5 veces en 10 minutos, se bloquea durante 600 segundos.
  • backend – Especifique el backend utilizado para obtener la modificación de archivos. Si está utilizando CentOS o Fedora, debe configurar el backend en systemd . El valor predeterminado auto es suficiente para otros sistemas operativos.
  • [ssh] – por defecto, Fail2ban no tiene cárceles habilitadas. Por lo tanto, debe hacer esto manualmente agregando las cárceles al archivo de configuración. Por ejemplo, puede habilitar la cárcel del demonio SSH quitando los comentarios (eliminando # ) las líneas [ssh] y enabled = true .
  • destemail – Especifica la dirección de correo electrónico donde desea recibir notificaciones
  • sender – Define la dirección de correo electrónico desde donde recibes las notificaciones

Configuraciones adicionales de jail.local

También puede establecer configuraciones adicionales en el archivo jail.local, como SSH e iptables. Estas opciones incluyen:

  • banaction – Especifica la acción predeterminada que se usa cuando maxretry se alcanza.
  • banaction_allports – Le permite etiquetar una IP que debe bloquearse en cada puerto.
  • port – El valor debe corresponder al servicio establecido. Esto podría ser ssh o un número de puerto (si está utilizando un puerto alternativo).
  • filter – El nombre del archivo que contiene la información de failregex, ubicado en /etc/fail2ban/filter.d .

Reiniciar el Servicio

Si ha realizado algún cambio en fail2ban.local y jail.local archivos, asegúrese de reiniciar el servicio fail2ban.

Para reiniciar el servicio fail2ban con la nueva configuración, ejecute el comando:

service fail2ban restart

Ubuntu
  1. Cómo instalar Apache Hadoop en CentOS 7, Ubuntu 18.04 y Debian 9

  2. Cómo instalar Ansible en CentOS 7/RHEL 7/Ubuntu 18.04/16.04 y Debian 9

  3. Cómo instalar Python pip en CentOS/Debian/Ubuntu

  4. ¿Problema de instalación de Ubuntu 18.04?

  5. Cómo instalar Virtualbox 4.3 en Ubuntu/Debian/Fedora

Cómo instalar Fail2Ban en Ubuntu

Cómo instalar Zabbix en RHEL/CentOS y Debian/Ubuntu

Cómo instalar y configurar Apache Spark en Ubuntu/Debian

Cómo instalar TeamViewer 15 en RHEL/CentOS/Fedora y Debian/Ubuntu

Cómo instalar y usar fail2ban en Ubuntu y Debian

Cómo instalar Fail2ban en Ubuntu 20.04