[v0z.cc]

blog de notas publico sobre linux y mas.

fail2ban logo

fail2ban para bloquear intentos repetidos de login

fail2ban escanea archivos logs como por ejemplo /var/log/auth.log y bloquea direcciones IP con multiples intentos de login. Lleva a cabo esta tarea actualizando las normas del cortafuegos.

Instalación
sudo apt install fail2ban
Configuración

fail2ban tiene una configuración en el directorio /etc/fail2ban. Allí encontraras un archivado de configuración llamado jail.conf

Crearemos un archivo jail.local para customizar nuestro fail2ban haciendo una copia del archivo jail.conf que contendrá las configuraciones por defecto.

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

para editar el fichero usaremos el siguiente comando:

sudo nano etc/fail2ban/jail.local

No hay detalles de como he configurado el fail2ban porque la configuración por defecto ya era suficiente para bloquear cierto trafico. Ampliar esta sección en un futuro.

Poner en marcha el servicio

Usaremos el commando systemctl que se encargara de que el servicio fail2ban se inicie en nuestra maquina.

para activar el servicio:

sudo systemctl enable fail2ban

para ver si corre el servicio:

sudo systemctl status fail2ban
● fail2ban.service - Fail2Ban Service
     Loaded: loaded (/lib/systemd/system/fail2ban.service; >
     Active: active (running) since Thu 2024-03-28 18:35:11>
       Docs: man:fail2ban(1)
   Main PID: 585 (fail2ban-server)
      Tasks: 5 (limit: 2168)
     Memory: 22.0M
        CPU: 27.467s
     CGroup: /system.slice/fail2ban.service
             └─585 /usr/bin/python3 /usr/bin/fail2ban-serve>

Mar 28 18:35:11 v0y.cc systemd[1]: Started fail2ban.service>

Nota: Si vas a testear fail2ban ten en cuenta de que baneara tu IP y estarás bloqueado de acceder a tu servidor durante 10 minutos que es la configuración por defecto del sistema.

Para ver las IPs bloqueadas en tu sistema puedes utilizar el comando siguiente:

sudo iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N f2b-sshd
-A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd
-A f2b-sshd -s <ip baneada> -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -j RETURN
sudo iptables -S | grep f2b