Supporto volontario e collaborativo per Joomla!® in italiano

Articoli della Community

Novità su Joomla, estensioni e tendenze del web

Difendersi dagli attacchi al login amministrativo con Brute Force Stop!

Ciao a tutti, in questo articolo vi illustrerò come proteggersi dagli attacchi al login amministrativo con il plugin Brute Force Stop! Il logo del plugin Brute Force Stop!
Brute Force Stop! è un plugin, sviluppato da Bernhard Froehler, che permette di bloccare un indirizzo IP dopo un numero preimpostato di falliti accessi al pannello amministrativo del nostro sito Joomla!
Il plugin è gratuito e si può scaricare dalla JED a questo link.

Ho scoperto l'esistenza ed il funzionamento di questo plugin grazie ad un corso gratuito su come rendere sicuro il nostro sito Joomla! organizzato da Joomla! Veneto, un'associazione di promozione sociale che organizza regolarmente corsi professionali per imparare ad usare o approfondire la conoscenza del nostro CMS preferito.
Uno dei relatori del corso, nello specifico la persona che ci ha illustrato questo plugin, è Francesco Craglietto, vicepresidente e socio fondatore di questa associazione.

Questo plugin si trova nella categoria "Site Security" della JED e visto che andrò ad illustrare un componente che aumenterà il livello di sicurezza del nostro sito vi consiglio vivamente, se già non le conoscete, di seguire tutte le indicazioni di AlexRed che trovate in questo articolo.

Come ci indica il nome, questo plugin ci protegge dagli attacchi Brute Force; possiamo considerare con il termine "Brute Force" le procedure usate per scoprire la password di accesso ad una zona protetta o per lo sblocco di una funzione.
Solitamente vengono utilizzati dei BOT che in automatico provano varie combinazioni di password, sia in modo random, sia utilizzando un dizionario, nel tentativo di scovare la password esatta.

Vediamo ora nello specifico come settare il plugin per proteggere il nostro sito da questo tipo di attacchi.
Dopo averlo installato tramite la consueta procedura, ora ci apprestiamo a configurare il plugin.
Raggiungiamo il plugin dal nostro pannello di controllo attraverso il menù Estensioni -> Plugin , cerchiamo il plugin "System - Brute Force Stop" e cominciamo la configurazione.
Il primo Tab che incontriamo è il Tab "Plugin", qui incontriamo due campi da configurare, il campo "Soglia del Blocco" ed il campo "Durata del Blocco".
Il campo "Soglia del Blocco" ci permette di scegliere quante volte un accesso non autorizzato può essere provato prima che l'IP venga bloccato, possiamo scegliere da un valore minimo di 3 ad un valore massimo di 25 tentativi falliti.
Il campo "Durata del Blocco" ci permette di determinare per quanto tempo l'indirizzo IP artefice del raggiungimento della soglia dei tentativi falliti viene bloccato prima che venga ripristinato l'accesso al sito.


Il primo tab nella configurazione di Brute Force Stop
Qui potete settare i valori a voi più consoni, io, per gusto personale, ho inserito il valore 5 per il numero di tentativi permessi prima che scatti il blocco ed a 15 minuti la durata del blocco.

Il secondo Tab è "Descrizione", qui Bernhard Froehler, l'autore, ci fornisce una panoramica sulle funzionalità del plugin.

Il terzo Tab si chiama "Notification", qui impostiamo i parametri per settare le modalità con cui Brute Force Stop! ci invia eventuali notifiche riguardanti attacchi al nostro sito.
Vediamo nello specifico tutti i campi disponibili:
"Indirizzo Email" qui possiamo inserire l'indirizzo mail a cui vogliamo venga inviata dal plugin la notifica riguardante eventuali attacchi.
"Seleziona un utente" il plugin invierà le notifiche all'indirizzo mail associato all'utente.
"User group notification" possiamo scegliere tra le opzioni "abilitato" e "disabilitato", nel caso la scelta ricada su "abilitato" Brute Force Stop! invierà le notifiche a tutti gli utenti che appartengono al gruppo scelto.
"User group" qui selezioniamo il gruppo destinato a ricevere le notifiche.
"Messaggio di blocco per l'utente" anche qui possiamo scegliere tra le opzioni "abilitato" e "disabilitato", nel caso la scelta ricada su "abilitato", in caso di un indirizzo IP bloccato, una notifica verrà inviata all'utente che ha cercato di effettuare l'accesso (ovviamente solo nel caso in cui si tratti di un nome utente esistente).
"Messaggi Bloccati per giorno" qui possiamo scegliere quante volte al giorno vengano notificati gli IP bloccati.
"Messaggi falliti per giorno" qui possiamo scegliere quante volte al giorno vengano notificati i tentativi di accessi falliti al giorno.

Il quarto Tab che incontriamo si chiama "Avanzate"
Scopriamo nel dettaglio le possibilità di configurazione:
"Attivo per" qui possiamo scegliere tra "Solo Frontend", "Solo Backend" e "Frontend e Backend", con questa opzione diciamo al plugin di proteggere il sito dai tentati accessi da Frontend, Backend o entrambi; attenzione che se un IP viene bloccato per aver sforato il limite preimpostato di tentativi di accesso, il blocco vale sia da "Frontend" che da "Backend" anche se in questa opzione abbiamo selezionato solamente un solo lato, ad esempio "Frontend". Io consiglio vivamente di impostare questa opzione in "Backend e Frontend"
"Attiva il blocco" ci permette di scegliere tra "abilitato" e "disabilitato", con l'opzione "abilitato" Brute Force Stop! blocca l'IP rilevato nei tentativi di accesso, mentre con l'opzione "disabilitato" il plugin non effettua nessun blocco ma inserisce i dettagli del tentativo di accesso fallito nella lista "Accessi falliti" che visualizzeremo in seguito.
"Permanente dopo" qui possiamo scegliere dopo quanti blocchi temporanei un IP viene bloccato in modo permanente, possiamo riabilitare gli IP dalla lista "IP Bloccati" che vedremo in seguito.
"Tentativi rimasti" se abilitato, l'utente dopo ogni tentativo di login fallito, vede un messaggio nella form di login su quanti tentativi  di accesso gli sono rimasti prima che l'indirizzo IP venga bloccato.
"Password reset reminder" si può segliere di far visualizzare o meno, e con che frequenza, un link nella form di login che permetta il reset della password dell'utente.
"Messaggio bloccato" qui possiamo personalizzare il campo con un messaggio che apparirà nella finestra del browser dell'utente il cui indirizzo IP è stato bloccato, se lasciato in bianco si visualizzerà il messaggio di default: "Il tuo indirizzo IP è stato bloccato perchè ci sono stati troppi tentativi di accesso non riusciti in breve tempo".
"Show IP" se abilitato l'utente che ha raggiunto il limite massimo di accessi vedrà nella finestra del browser, oltre al "Messaggio bloccato" sopradescritto anche l'indirizzo IP che è stato bloccato.
"Registrazione" ci permette di segliere se creare un file di log del componente ed il livello dei dettagli, se abilitato il file verrà creato nella cartella "logs" con il nome plg_system_bfstop.log.php
"Utilizza HTTP Error" se abilitato il plugin invierà il codice di stato 403 (Proibito) se l'IP dell'utente è stato bloccato.
"Rimuovere i vecchi tentativi" con il valore numerico di questa opzione possiamo decidere dopo quante settimane il plugin cancellerà automaticamente i tentativi falliti di accesso al nostro sito, impostando il valore a 0 il plugin non effettuerà nessuna cancellazione.

Il quinto ed ultimo Tab presente è "Ritardo"
Andiamo ad analizzare nello specifico i dettagli di configurazione:
"Ritardo" con questo valore settiamo, in secondi, il tempo che deve passare, dopo un tentativo fallito di accesso, per far ritornare visibile il form di autentificazione all'utente; si può scegliere tra un valore minimo di 0 ad un massimo di 120.
"Ritardo adattivo" se abilitato, il plugin aumenterà il valore del ritardo ogni volta che c'è un aumento del numero di accessi come contromisura per gli attacchi distribuiti.
"Ritardo massimo" quando il ritardo adattivo è attivato, con questo valore settiamo il valore massimo del ritardo per la risposta ai tentativi di accesso non riuscito.
"Soglia minima" qui impostiamo il valore numerico di accessi falliti nelle ultime ore oltre il quale il ritardo adattivo entra in funzione.
"Soglia massima" il valore che, se superato, porta il plugin ad applicare il valore temporale massimo nel ritardo adattivo.

Dopo aver configurato tutti questi valori in base alle nostre esigenze, ricordiamoci di abilitare il plugin e diamo uno sguardo al pannello di controllo di Brute Force Stop!

Ricordatevi di abilitare il Plugin Brute Force Stop!

Per accedere al Pannello di Amministrazione di Brute Force Stop! dobbiamo seguire questo percorso: Menù Componenti -> Pannello di amministrazione di Brute Force Stop!
Come noterete, nel pannello amministrativo ci sono quattro voci:
"IP Bloccati" qui vengono registrati gli IP che hanno subito un blocco, attraverso il pulsante "Sblocca" possiamo rimuovere l'IP selezionato dalla lista, con il pulsante "Modifica" possiamo modificare, ad esempio, la durata del blocco o l'indirizzo IP stesso mentre con il pulsante "Nuovo" possiamo aggiungere manualmente un indirizzo IP a questa lista.
"Whitelist" qui possiamo inserire un indirizzo IP che non subirà nessun blocco anche dopo innumerevoli tentativi di accesso falliti.
"Accessi falliti" qui c'è la lista di tutti i tentativi di accessi falliti che ha registrato il plugin, viene visualizzato l'indirizzo IP, la data, il nome utente utilizzato, l'errore e l'origine del tentativo.
"Configurazione" da qui è possibile verificare se la configurazione di notifica del plugin sta funzionando; per verificare, fare clic sul pulsante nella barra degli strumenti ed un messaggio e-mail di prova sarà inviato secondo la vostra configurazione.


La notifica del plugin Brute Force Stop!

Grazie dell'attenzione! Alla prossima!

Roberto "marine" Marinello - Web Agency Padova


commentaCommenta questo articolo sul forum