
¿Que es Fail2Ban?
Fail2ban es una herramienta que monitoriza los intentos de login de varios servicios, tales como SSH, FTP, SMTP, HTTP, entre otros; y si encuentra intentos de login fallidos una y otra vez desde una misma IP, Fail2Ban rechazará estos intentos de login bloqueando con reglas de iptables a esas IPs que estaban intentando acceder.
Nos puede ser muy util usarlo en nuestro servidor , asi evitando ataques a la fuerza bruta.
Instalando Fail2Ban:
Primero actualizaremos como de costumbre los repositorios , entrando en el terminal SSH de nuestra Pi, pondremos el siguiente comando:
Código: Seleccionar todo
sudo apt-get update
Código: Seleccionar todo
sudo apt-get install fail2ban
Código: Seleccionar todo
sudo apt-get install iptables
Ahora vamos a proceder a modificar la configuración de Fail2Ban, el programa YA VIENE CONFIGURADO para la mayoria de servicios, asi que no será muy complicado.
Simplemente debemos cambiar los tiempos de baneo, los intentos fallidos ...etc
Ahora copiaremos el archvo de configuracion por defecto de Fail2Ban como jail.local que sera ejecutado y nos sobreescribira las configuraciones que tengamos en jail.conf , ponemos el siguiente comando en el terminal SSH:
Código: Seleccionar todo
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Código: Seleccionar todo
nano /etc/fail2ban/jail.local
Aqui pondremos las direcciónes IP , que NUNCA queremos bloquear, por ejemplo la de nuestra Red Local o Empresa:
Por ejemplo la de mi PC conectado a la misma Red, que usa la IP 192.168.1.20
Este parámetro indica el tiempo que queremos bloquear la IP que ha intentado acceder ( en SEGUNDOS , por defecto 600 )ignoreip = 127.0.0.1 192.168.1.20
Intentos máximos que tendra el "atacante" antes de ser bloqueado, ( por defecto 5 )bantime = 600
Esto lo modificais a vuestro gusto

En un principio, con eso bastaria para proteger algunos servicios (Por ejemplo SSH), si por ejemplo, queremos proteger nuestro servidor FTP funcionando por PROFTPD,maxretry = 5
Buscaremos las lineas que se encuentran mas abajo de:
Que en nuestro caso seria utilizando PROFTPD:#
# JAILS
#
Para activar la función, tendriamos que añadir estas lineas:[proftpd]
port = ftp,ftp-data,ftps,ftps-data
logpath = %(proftpd_log)s
logpath = Ruta donde tenemos el "Log" por defecto de Proftpd .port = ftp,ftp-data,ftps,ftps-data
logpath = /var/log/proftpd/proftpd.log
maxretry = 8
enabled = true
filter = proftpd
maxretry = Máximos fallos / intentos antes de bloquear
enabled = activamos este servicio en exclusivo
filter = Filtramos por nombre del servicio, en este caso proftpd
Una vez ya tengamos todos los servicios que queremos bloquear configurados a nuestro gusto, podemos guardar cambios
del archivo pulsando estas teclas, en este caso (putty ssh)
Control + X
tecleamos Y
ENTER
Simplemente debemos iniciar el servicio Fail2Ban para empezar a bloquear "atacantes" con el comando :geek:
Código: Seleccionar todo
sudo service fail2ban restart


Un saludo!.