Hola buen día amigos hoy vamos a instalar este servicio Fail2Ban en nuestro server, va mas dirigido a VPS y el servicio ssh que esta en abierto a la internet y protegerla de intentos de acceso por fuerza bruta, los servicios que puede proteger son: sftp,ftp,imap,smtp,pop3,ssh entre otros.
Ya instalado nuestro Ubuntu actualizamos el mismo
sudo apt-get update
Instalamos Fail2ban
sudo apt-get install fail2ban
Habilitamos el servicio
sudo systemctl start fail2ban
Listo!! Validamos que el servicio este activo
sudo service fail2ban status
Configurando Fail2ban
necesitamos duplicar el archivo jail.conf por jail.local esto es para evitar cometer algún error en el archivo .conf original y así tendremos el .local donde podremos poner todas la configuraciones que queramos
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Agregar IPs a listas Blanca
sudo nano /etc/fail2ban/jail.local
#ignoreip = 127.0.0.1/8 ::1
ignoreip = 127.0.0.1/8 ::1, 192.168.0.50/24
ignoreip: Es la lista blanca de IPs que no van a ser analizadas ni bloqueadas. Pueden ser direcciones IP o nombre de dominio separados por , bantime: El tiempo en segundos que van a ser bloqueadas las conexiones. maxretry: La cantidad de rechazos que son aceptados antes de ser baneados. findtime: El período de tiempo en el que se realizan los intentos (maxretry) fallidos.
Consulta de los filtros
cd /etc/fail2ban/filter.d
Activar servicios
Por defecto los servicios están deshabilitados pero para activarlos deberemos agregar «enabled = true»
[sshd] # To use more aggressive sshd modes set filter parameter "mode" in jail.local: # normal (default), ddos, extra or aggressive (combines all). # See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details. #mode = normal enabled = true port = ssh logpath = %(sshd_log)s backend = %(sshd_backend)s maxretry = 3 findtime = 10m bantime = -1
Reiniciamos el servicio
cada que hagamos alguna modificación necesitamos ejecutar este comando
sudo service fail2ban restart
Validamos que este funcionando Fail2ban
veremos que fail2ban esta bloqueando ips con estos comandos
sudo zgrep 'Ban' /var/log/fail2ban.log*
sudo fail2ban-client status sshd
Agregar/Quitar IPs del bloqueo de Fail2Ban
Agregar sudo fail2ban-client set sshd banip [IP_ADDRESS]
Quitar sudo fail2ban-client set sshd unbanip [IP_ADDRESS]
Eliminar Fail2Ban
Eliminar
sudo systemctl stop fail2ban sudo systemctl disable fail2ban sudo apt-get remove fail2ban
Eliminar junto con dependencias
sudo apt-get remove –auto-remove fail2ban
Saber el País de bloqueo
sudo apt install geoip-bin
Consultar todas las ip
iptables -n -L f2b-sshd | grep REJECT | awk '{print $4}' | xargs -n1 geoiplookup | sort | uniq -c