Hoy os traigo un capítulo de fail2ban, en el capítulo de hoy os cuento qué es fail2ban, como instalarlo y cómo trabajar con el.
Fail2ban es un software que nos permite banear servicios ante IPs concretas durante un tiempo determinado.
La instalación en Ubuntu 16.04.02 sería:
sudo apt-get instlal fail2ban
Y luego podríamos ver los ficheros en:
/etc/fail2ban/fail2ban.conf
/etc/fail2ban/jail.conf
En esos dos ficheros es donde tendréis los ficheros principales.
En jail2ban.conf definiremos como valores destacados el lugar donde estará el log y cada cuanto se limpiará el sqlite
root@ubuntu:~# cat /etc/fail2ban/fail2ban.conf | grep -v "#"
[Definition]
loglevel = INFO
logtarget = /var/log/fail2ban.log
syslogsocket = auto
socket = /var/run/fail2ban/fail2ban.sock
pidfile = /var/run/fail2ban/fail2ban.pid
dbfile = /var/lib/fail2ban/fail2ban.sqlite3
dbpurgeage = 86400
En jail.conf también tendremos temas interesantes, como por ejemplo la línea de ignoreip (aquí pondremos las IPs en lista blanca), el bantime (el tiempo de baneo) o el maxretry (el número máximo de intentos de autenticación antes de banear)
root@ubuntu:~# cat /etc/fail2ban/jail.conf | grep -v "#"
[INCLUDES]
before = paths-debian.conf
[DEFAULT]
ignoreip = 127.0.0.1/8
ignorecommand =
bantime = 600
findtime = 600
maxretry = 5
backend = auto
usedns = warn
logencoding = auto
enabled = false
En el caso de caer en fail2ban lo veremos con iptables -L -n:
root@ubuntu:~# iptables -L -n
Chain f2b-sshd (1 references)
target prot opt source destination
REJECT all -- 192.168.88.254 0.0.0.0/0 reject-with icmp-port-unreacheable
RETURN all -- 0.0.0.0/0
Ahí vemos que la 192.168.88.254 ha sido baneada, para desbanear o bien esperamos que caduque el tiempo de bantime o podemos quitarlo de la lista con el comando
iptables -D f2b-sshd -s 192.168.88.254 -j REJECT