Fail2ban

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