--- title: Fail2Ban template: docs taxonomy: category: docs routes: default: '/fail2ban' --- **Fail2Ban** è un programma di prevenzione delle intrusioni che protegge i server contro gli attacchi di forza bruta (brute-force), controllando alcuni log e bannando (cioè impedendo ulteriori connessioni) gli indirizzi IP che mostrano questo tipo di comportamento. In particolare, **Fail2Ban** controlla tentativi di connessione su `SSH`. Dopo cinque tentativi di connessione falliti, Fail2Ban banna l'indirizzo IP impedendogli la connessione SSH per 10 minuti. Se la cosa si ripete altre volte viene bannato per una settimana. ## Togliere il ban ad un indirizzo Per sbloccare un indirizzo è necessario innanzitutto accedere al server con qualche mezzo (ad esempio da un altro indirizzo IP o da un'altra connessione diversa da quella bannata). Dopo di che controlla il **log di Fail2Ban** per trovare in quale `jail` è stato bannato l'indirizzo IP: ```bash sudo tail /var/log/fail2ban.log 2019-01-07 16:24:47 fail2ban.filter [1837]: INFO [sshd] Found 11.22.33.44 2019-01-07 16:24:49 fail2ban.filter [1837]: INFO [sshd] Found 11.22.33.44 2019-01-07 16:24:51 fail2ban.filter [1837]: INFO [sshd] Found 11.22.33.44 2019-01-07 16:24:54 fail2ban.filter [1837]: INFO [sshd] Found 11.22.33.44 2019-01-07 16:24:57 fail2ban.filter [1837]: INFO [sshd] Found 11.22.33.44 2019-01-07 16:24:57 fail2ban.actions [1837]: NOTICE [sshd] Ban 11.22.33.44 2019-01-07 16:24:57 fail2ban.filter [1837]: NOTICE [recidive] Ban 11.22.33.44 ``` In questo esempio l'indirizzo `11.22.33.44` è stato bannato nel `jail` `sshd` e `recidive`. Quindi togli il ban con il seguente comando: ```bash sudo fail2ban-client set sshd unbanip 11.22.33.44 sudo fail2ban-client set recidive unbanip 11.22.33.44 ``` ## Aggiungere un indirizzo IP alla whitelist Se vuoi impedire che un indirizzo IP "legittimo" venga bloccato da **YunoHost** ancora devi compilare la whitelist del file di configurazione della `jail`. Aggiornando **Fail2Ban** il file `/etc/fail2ban/jail.conf` originale verrà sovrascritto quindi dovremo scrivere questi cambiamenti su un nuovo file che verrà mantenuto. 1. Comincia creando un nuovo file di configurazione della jail che verrà chiamato `yunohost-whitelist.conf`: ```bash sudo touch /etc/fail2ban/jail.d/yunohost-whitelist.conf ``` 2. Modifica questo nuovo file con il tuo editor preferito (in questo esempio viene usato `nano`): ```bash sudo nano /etc/fail2ban/jail.d/yunohost-whitelist.conf ``` 3. Incolla il seguente testo nel file cambiando l'indirizzo IP `XXX.XXX.XXX.XXX`: ```bash [DEFAULT] ignoreip = 127.0.0.1/8 XXX.XXX.XXX.XXX #<= the IP address (you can put more than one, separated by a space) that you want to whitelist ``` 4. Salva il file e ricarica la configurazione di Fail2Ban: ```bash sudo fail2ban-client reload ``` Congratulazioni, non corrererai più il rischio di essere bannato dal tuo server YunoHost!