Impedire l’attacco brute force su Debian con Fail2Ban
Chi gestisce normalmente server ed e’ esposto direttamente alla rete avra’ notato sicvuramente molteplici tentativi di attacco Brute Force sui servizi piu’ comuni. A tal poposito puo’ risultare utile il software Fail2ban che permette di riconoscere con determinate policy un tentativo di attacco e filtrarne automaticamente la provenienza. Il server su cui si installa Fail2Ban deve avere gia’ installato iptables.
La presente guida mostra come installare e configurarlo al meglio.
Dunque, si parte come al solito con il reperimento del pacchetto necessario direttamente dagli apt sources. Si esegua quindi il comando:
apt-get install fail2ban
La directory con tutti i file sara’ di default /etc/fail2ban
All’interno della cartella /etc/fail2ban/filter.d/ ci sono tutte le regole che permettono di identificare un tentativo di attacco con le regexp ed il nome della regola.
Il file di configurazione che piu’ ci interessa e’ il file /etc/fail2ban/jail.conf che dispone di molte direttive.
Si esegua quindi:
vi /etc/fail2ban/jail.conf
E’ importante specificare nella sezione [Default] le regole principali che sono:
ignoreip: contente la lista degli IP che devono essere ignorati da fail2ban, nel caso di piu’ IP devono essere separati dallo spazio. Solitamente qui vengono inseriti gli IP affidabili come computer remoti con IP statici e altre trusted network
bantime: tempo durante il quale un eventuale IP deve rimanere bannato successivamente al riconoscimento di un tentativo di brute force
maxretry: numero massimo di tentativi errati di accesso dopo il quale deve essere riconosciuto come un brute force. Se ad esempio impostiamo il numero a 3 sul servizio SSH ho la possiblita’ di sbagliare 3 volte la password dopodiche’ vengo considerato come un attacker.
destemail: L’indirizzo email di riferimento per tutte le operazioni effettuate da fail2ban
Nella sezione successiva, la sezione “Action” permette di specificare cose deve fare fail2ban quanto riconosce un tentativo di attacco. Ci sono delle regole preconfigurate che risultano essere piu’ che sufficenti ma e’ possibile aggiungerne altre a picimento. Alla fine si impostera’ l’azione desiderata mediante il campo:
action=<nome_azione>
Consiglio di impostare nome_azione con “action_mwl” che permette di bannare l’IP ed inviare via email l’avvenuto con tutte le informazioni compresa la nazione di provenienza dell’IP filtrato.
A questo punto si passa alla configurazione del comportamento di fail2ban in relazione ai servizi. Esistono molti servizi gia’ configurati. Ad esempio nella sezione [ssh] potete decidere di impostare i campi:
enabled = ‘true’ se si intende abilitare faiòl2ban sul servizio ssh, ‘false’ se si intende trascurare il servizio
port = 22 se ssh opera sulla porta di default oppure il numero su cui ssh e’ stato configurato
filter = contiene il nome della regola che si deve considerare per il servizio ssh, nome definito all’interno della configurazione /etc/fail2ban/filter.d/
logpath = il file di log che si deve analizzare per individuare i tentaivi di attacco brute force. Nel caso di ssh (ma anche per altri servizi) e’ il file /var&log/auth.log
maxretry = e’ possibile impostare un numero di maxrestry indipendentemente dall’impostazione di default.
Una volta che abbiamo configurato tutti i servizi possiamo avviare file2ban:
/etc/init.d/fail2ban start
Buon lavoro


