Verifica in due passaggi in Joomla con LoginGuard

Il core di Joomla offre un sistema di base per l'autenticazione a due fattori. Akeeba LoginGuard offre una serie di altre opzioni per configurare e gestire al meglio l'accesso sicuro e verificato ad un sito web Joomla.

Le funzionalità chiave di LoginGuard

  • Verifica in due passaggi (dopo l'inserimento di nome utente e password)
  • Stesso flusso di accesso e stessi meccanismi di verifica di Google, Facebook, GitHub e Dropbox.
  • Eliminazione della confusione generata dal campo "Chiave segreta".
  • Supporto di Google Authenticator, Yubikey, SMS, FIDO U2F.

Come funziona

Akeeba LogiGuard è un'estensione gratuita che aggiunge un'autenticazione in due passaggi più completa rispetto a quella offerta dal core di Joomla. Dopo l'accesso con nome utente e password richiede infatti un secondo step di verifica, per esempio un codice generato da Google Authenticator. Fino a quando non si verifica correttamente il secondo passaggio, l'utente non sarà in grado di accedere al sito, sarà infatti visualizzata la pagina di "captive login"; proprio come fa Google quando si prova ad accedere a Gmail.

Non si tratta dello stesso meccanismo di autenticazione a due fattori che è già implementato in Joomla, bensì di un sistema di verifica a due passaggi.

I vantaggi della verifica in due passaggi, rispetto all'autenticazione a due fattori sono:

  • Meno confusione per gli utenti. Non compare più il campo "Chiave segreta" che confonde gli utenti.
  • Funziona con i metodi di login non-password, come il login social (es. Facebook), token hardware, SSO, ecc.
  • Adozione migliorata. All'accesso verrà proposto agli utenti di attivare la verifica in due step sul proprio account (configurabile).
  • Miglior Controllo Accessi. Tramite il plugin sarà possibile determinare quali gruppi utenti possono utilizzare quali metodi di verifica.
  • Metodi di autenticazione alternativi in un singolo account. È possibile avere più di un metodo di verifica su ciascun account, per esempio l'app Google Authenticator e Yubikey.
  • Supporto per metodi che non richiedono l'inserimento di codici. Per esempio i dongle U2F, verifiche biometriche, ecc. Questi metodi hanno bisogno di interagire con il browser e/o il sistema operativo tramite API native di HTML5.
  • Supporto per metodi che richiedono l'interazione utente.Per esempio l'invio di codici tramite messaggi push, SMS o email. Questi metodi richiedono di conoscere quale utente è in fase di accesso per poter inviare correttamente il codice.

Secondo step di verifica

Attualmente Akeeba LoginGuard supporta i seguenti metodi per la verifica a due passaggi:

  • Authenticator App
  • YubiKey
  • U2F
  • Webauthn
  • Pushbullet
  • SMS
  • Email
  • Codice Fisso

Il metodo sicuramente più utilizzato è "Authenticator App", basato su Time-based One Time Password (TOTP), secondo lo standard RFC6238 che consiste in una password monouso che scade ogni 30 secondi.

Esistono una serie di applicazioni che possono essere utilizzate con la metodologia Authenticator App (TOTP):

  • Google Authenticator
  • Authy
  • 1Password
  • Microsoft Authenticator

Questa metodologia è quella utilizzata dalla maggior parte dei siti (come Google con Gmail ed altri servizi o GitHub) e consente di migliorare notevolmente la sicurezza del proprio sito web.

Come configurare LoginGuard con Authenticator

Akeeba LoginGuard è un'estensione disponibile gratuitamente, scaricabile dal seguente link:

 

Scarica Akeeba LoginGuard

 

Installare il pacchetto come una normale estensione e successivamente andare su "Componenti > Akeeba LoginGuard".

akeebaLG001

Per poter funzionare correttamente l'estensione richiede l'installazione del plugin di sistema gratuito GeoIP, sempre messo a disposizione da Akeeba. Facendo click sul link "Download the plugin" sarà possibile scaricare il pluging gratuito.

akeebaLG003

Installare il plugin da Gestione Estensioni, come una normale estensione per Joomla.

Ricercare tra i plugin quello appena installato, per esempio andando ad eseguire una ricerca per "Akeeba":

akeebaLG004

Se disabilitato, attivare il plugin appena installato System - Akeeba GeoIP provider plugin.

akeebaLG005

Il plugin non dispone di opzioni da configurare, quindi è sufficiente attivarlo.

Tornando in Akeeba LoginGuard, avremo una schermata simile alla seguente:

akeebaLG006

Se richiesto eseguire l'aggiornamento del database GeoIP.

Scorrendo in basso, sarà possibile configurare la verifica in due passaggi sull'account Super User in uso.

akeebaLG007

Premere "Manage your Two Step Verification Options" per procedere.

Nella schermata sarà visualizzato lo stato attuale della verifica in due passaggi e sarà possibile scegliere il metodo di verifica da attivare.

akeebaLG008Vediamo ora come configurare un'applicazione "Authenticator" come metodo di verifica in due passaggi, selezionando "Add a new Authenticator App".

Nella schermata visualizzata sarà possibile indicare un titolo alternativo per il metodo di verifica (es. Google Authenticator) e la casella per impostare il metodo come predefinito.

La schermata include inoltre un codice QR.

akeebaLG009

Per completare la configurazione è sufficiente aprire l'applicazione Google Authenticator sul proprio smartphone o dispositivo, premere sul simbolo "+" in basso a destra e su "Leggi codice a barre".

Inquadrare dunque il codice QR visualizzato a schermo con il proprio smartphone. Google Authenticator inizierà a visualizzare i numeri token generati ogni 30 secondi nell'app.

Inserire il codice visualizzato nell'app all'interno del campo "Enter a code generated by the authenticator app and click or tap on the Confirm button". Una volta inserito il codice a 6 cifre premere su "Confirm."

Il sistema di verifica in due passaggi è ora correttamente configurato per il proprio account Super User sul sito.

akeebaLG010

Il plugin fornisce anche la possibilità di visualizzare e salvare dei codici di backup per la verifica in due passaggi, molto utili in caso in cui il dispositivo di generazione dei codici token non sia disponibili. Prendere nota dei codici di backup e custodirli in un luogo sicuro.

Per verificare che la verifica in due passaggi sia correttamente funzionante è sufficiente eseguire il logout e provare ad accedere nuovamente con le proprie credenziali da Super User:

akeebaLG012

Dopo l'inserimento delle credenziali d'accesso sarà visualizzata una schermata come quella sopra, in cui viene richiesto il codice a 6 cifre generato dall'app Google Authenticator (oppure uno dei codici di backup precedentemente annotati).

Se la validazione del codice ha esito positivo, sarà possibile accedere al sito Joomla.

È possibile utilizzare anche uno degli altri metodi di verifica in due passaggi tra quelli messi a disposizione da Akeeba LoginGuard.