Utilice la función «Imprimir» al final de la página para crear un PDF.
Información válida para: servidores raíz (root server) con sistema operativo Linux
Fail2ban es un programa para Linux que detecta y bloquea los ataques de fuerza bruta.
Fail2ban supervisa las entradas en los archivos de registro de los distintos servicios (por ejemplo, SSH o FTP). Demasiados intentos fallidos hacen que la dirección IP atacante se bloquee durante un cierto período de tiempo para que no se establezcan más conexiones.
Requisito
Para poder usar Fail2ban, se necesita un servidor root con sistema operativo Linux (Servidor Cloud, Servidor Dedicado o Servidor Virtual). A tener en cuenta: para los servidores con Plesk, las aplicaciones como Fail2ban deben instalarse y gestionarse siempre a través del interfaz de Plesk.
Instalar Fail2ban
Ubuntu 16.04 / 18.04 / 20.04 / 22.04 / 24.04
Actualizar las listas de paquetes:
sudo apt update
Instalar Fail2ban:
sudo apt install fail2ban
Iniciar Fail2ban:
sudo systemctl start fail2ban
Iniciar Fail2ban automáticamente al iniciar el sistema:
sudo systemctl enable fail2ban
CentOS 7 / Stream 8 / Stream 9
Actualizar las listas de paquetes:
sudo yum update
Instalar el EPEL Repository:
sudo yum install epel-release
Instalar Fail2ban:
sudo yum install fail2ban
Iniciar Fail2ban:
sudo systemctl start fail2ban
Iniciar Fail2ban automáticamente al iniciar el sistema:
sudo systemctl enable fail2ban
Configurar Fail2ban
Los archivos de configuración de Fail2ban se almacenan en el directorio /etc/fail2ban. En este directorio, el archivo jail.conf contiene la configuración predeterminada.
Si deseas utilizar Fail2ban con parámetros que difieren de la configuración por defecto, puedes crear el archivo /etc/fail2ban/jail.local para este propósito e introducir allí los parámetros deseados. Éstos sobrescriben los valores respectivos de jail.conf.
A tener en cuenta: evita cambiar la configuración del archivo jail.conf, ya que esto puede causar problemas con futuras actualizaciones de Fail2ban. Introduce los cambios en el archivo jail.local tal y como se describe aquí.
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
A continuación, puedes abrir el archivo jail.local para editarlo:
sudo nano /etc/fail2ban/jail.local
Para evitar confusiones en el futuro, puedes eliminar el primer bloque de texto que te advierte que no edites el archivo jail.conf:
# WARNING: heavily refactored in 0.9.0 release. Please review and
# customize settings for your setup.
#
# Changes: in most of the cases you should not modify this
# file, but provide customizations in jail.local file,
# or separate .conf files under jail.d/ directory, e.g.:
#
# HOW TO ACTIVATE JAILS:
#
# YOU SHOULD NOT MODIFY THIS FILE.
#
# It will probably be overwritten or improved in a distribution update.
#
# Provide customizations in a jail.local file or a jail.d/customisation.local.
# For example to change the default bantime for all jails and to enable the
# ssh-iptables jail the following (uncommented) would appear in the .local file.
# See man 5 jail.conf for details.
#
Aumentar el tiempo que se banea una dirección IP atacante (ban time)
Es recomendable aumentar la configuración del "ban time", es decir del tiempo de bloqueo de una dirección IP atacante, que por defecto es de sólo 10 minutos (600 segundos).
Para aumentar el tiempo de bloqueo, localiza la sección que dice:
# "bantime" is the number of seconds that a host is banned.
bantime = 600
Reemplaza 600 por el número deseado de segundos. Por ejemplo, para bloquear hosts durante dos horas, cambia este bloque de comandos de la siguiente manera:
# "bantime" is the number of seconds that a host is banned.
bantime = 7200
Guarda el archivo y reinicia Fail2ban para que los cambios surtan efecto:
sudo systemctl restart fail2ban
Registro fail2ban.log
Todas las acciones y medidas realizadas por Fail2ban se registran en el archivo /var/log/fail2ban.log.
sudo less /var/log/fail2ban.log