Hem implementat Fail2Ban per blindar el servidor contra accessos no autoritzats, configurant el backend directament cap a systemd. Aquesta decisió tècnica assegura una integració nativa amb el gestor de logs del sistema, permetent una detecció immediata d'atacs de força bruta i l'execució automàtica de regles de bloqueig al firewall.
A continuació veuràs la eina de seguretat que he escollit per aquesta tasca, és compatible amb Linux i les seves distribucions que és el sistema operatiu que fem servir per a aquest projecte en majoria.
Instal·lació de Fail2ban
Primerament, instalarem la eina fent us de la terminal.
sudo apt-get install fail2ban
Configuració inicial
Fail2Ban llegeix el fitxer /etc/fail2ban/jail.conf, però mai s’ha d’editar directament. Si ho fem, els nostres canvis s’esborraran quan el programa s’actualitzi.
Creem una còpia anomenada jail.local:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Obre el nou fitxer amb el teu editor preferit (ex. nano o vim):
sudo vim /etc/fail2ban/jail.local
Farem la configuració per aquest cas del servei SSH (sshd), cercarem l’apartat amb la capçalera al arxiu i la editarem aixins:
Com pots veure, cada paràmetre gestiona com respon l’eina als diferents intents de connexió per SSH:
- maxretry -> Limita els intents de connexió a un maxim de 5 seguits
- findtime -> El temps triga en fer recompte dels intents fallits
- bantime -> El temps que deixa a una IP sense poder accedir al SSH d’aquesta màquina.
Aquesta configuració és molt útil per, entre altres coses, impedir atacs de força bruta o impedir que algú tracti d’endevinar la contrasenya fent moltíssims intents seguits.
Fet aixo, guardem i sortim
:wq (vim) || Ctrl+ O i Ctrl +x (nano)
Comprobació del servei
Reiniciem el servei i seguidament, comprobem el estat del Fail2ban al apartat de sshd (SSH)
sudo systemctl restart fail2ban.service
sudo fail2ban-client status sshd
Ara que hem confirmat que, efectivament esta activat correctament, farem probes desde un altre maquina.
Probes
Desde un altre maquina fem molts intents de iniciar sessió al ssh, simplement a la terminal introduim:
ssh [usuari]@[IP_DEL_SERVIDOR]
Tot seguit, després de 5 intents a la terminal del servidor. En revisar l’apartat dels logs del fail2ban, podem veure que efectivament s’han detectat els intents i despres de 5 cops se li ha fet un ban a la IP
sudo tail -f /var/log/fail2ban.log
Per treure aquesta restricció (per qualsevol motiu), només introduirem la següent comanda:
sudo fail2ban-client set sshd unban ip [IP]