cartello con uomo che indica STOP - fail2ban
fail2ban icona
0
(0)

Quando si ha un Server Linux aziendale la cosa più utile che in genere si fa è abilitarlo per l’accesso dall’esterno, abilitando dei servizi come SSH e il port forwarding. In questo modo si avrà l’accesso al nostro server dall’esterno. Questo però espone il nostro server a molti potenziali rischi come il password cracking e le botnet. Un server è esposto a tali rischi anche se solo ospita altri servizi, come Web-server, mail-server, FTP-server ecc. Questo perché per avere accesso da fuori è necessario aprire dei “varchi” che vanno dall’esterno della rete aziendale fino al nostro server e possono quindi essere sfruttati da utenti malintenzionati. Per fortuna come ci sono utenti che non hanno niente di meglio da fare che creare virus o attacchi informatici, ci sono anche persone di buona volontà che creano sistemi e software di sicurezza. Uno di questi è Fail2ban.

Proteggersi con Fail2Ban

Fail2Ban ci protegge da attacchi tipo il Bruteforcing e dai tentativi di accesso non autorizzati. Il funzionamento è molto semplice, rileva nei log del sistema operativo (tramite regular expression) le stringhe che indicano un tentativo di accesso fallito ad uno specifico servizio. Quando colleziona un numero di tentativi consecutivi errati istruisce il firewall di sistema, per bloccare i tentativi di accesso a quel servizio da parte dell’IP attaccante. L’IP attaccante rimarrà bannato per il tempo che noi specificheremo nella configurazione.

Configuriamo Fail2Ban

Installazione

Innanzitutto installiamo Fail2Ban sul nostro server Linux e quindi diamo il seguente comando sudo apt-get install fail2ban. Ad installazione terminata possiamo configurarlo. Il file di configurazione si trova in /etc/fail2ban/jail.conf quindi diamo il comando nano per aprire il file di configurazione, sudo nano /etc/fail2ban/jail.conf.

Il file jail.conf è costituito da un iniziale area DEFAULT nella quale dobbiamo definire 3 operazioni

  • ignoreip per definire un ip o una rete da ignorare nei controlli
  • bantime per definire il tempo in cui un ip deve rimanere bannato, espresso in secondi
  • maxretry per definire i tentativi massimi superati i quali l’IP incriminato verrà bannato

Dopo ciò nell’area ACTIONS definiamo l’opzione banaction = iptables-multiport e concludiamo così la prima parte della configurazione.

Configuriamo le galere

Ora dobbiamo definire le così dette Jails e cioè le regole che si occuperanno di controllare i tentativi di accesso non autorizzati e di conseguenza bannare o meno un IP.

Le Jails sono così composte:

  • [ssh] (nome servizio)
  • enabled= (true/false abilita o disabilita la jail)
  • port= ssh (numero porta o nome servizio)
  • filter= sshd (nome del demone da controllare o regular expression da applicare al file log)
  • logpath= /var/log/auth.log (percorso del file di log del servizio specifico)

Nella sezione Jails troviamo già delle regole predefinite, per esempio troviamo già la regola Fail2ban per SSH correttamente compilata e già impostata su enabled = True. Questo ne abiliterà il funzionamento al prossimo riavvio di Fail2Ban. Le stesse regole valgono per Fail2aban per postfix o altri servizi server.

Una volta definite le nostre jails possiamo salvare il file con la combinazione di tasti Ctrl+o e confermare con invio. Usciamo poi da nano con la combinazione di tasti Ctrl+x e riavviamo Fail2Ban con il comando sudo /etc/init.d/fail2ban restart.

Hey ti piace il mio post?

Voto medio 0 / 5. Conteggio voti: 0

Nessun voto finora! Sii il primo a votare questo post.

Grazie per il tuo voto 🙂

Condividilo anche con i tuoi amici

Mi dispiace che non ti sia stato utile 🙁

Aiutami a migliorarlo

Come posso migliorarlo?