Skip to main content

La Verifica in due passaggi

Pubblicato il: 06 Novembre 2015

Questo articolo è obsoleto, la versione 3.x di Joomla!® non è più supportata.

!!! Questo il link dell'articolo aggiornato:
https://www.corsijoomla.com/tutorial/joomla-attivare-autenticazione-a-piu-fattori-mfa-e-webauthn-login-senza-password.html


Verifica in due passaggi o Autenticazione in due fattori

Introdotta con la versione 3.2 di Joomla!®, la richiesta di un terzo dato (oltre ad username e password) per consentire l'accesso al sito, è ovviamente legata a questioni di sicurezza. Nel caso venissero compromesse le credenziali di accesso username e password, l'accesso al sito sarà salvaguardato dalla necessità di inserire una terza chiave, una specie di one-time password.

Sono disponibili due modalità di autenticazione:

  • Google Authenticator - che usufruisce di un'apposita App (gratuita) disponibile per i più comuni mobile
  • YubiKey - una comoda chiavetta che va inserita in una porta usb del computer

L'attivazione di una modalità esclude l'altra e sarà quindi necessario scegliere in base alle nostre esigenze ed abitudini quale sia la più adatta al nostro utilizzo.
In entrambe vengono predisposte, come vedremo poi nel dettaglio, delle chiavi di emergenza che ci garantiranno comunque l'accesso anche quando dovesse ad es. mancare la copertura di rete cellulare (con Google Authenticator) o non avessimo con noi la chiavetta YubiKey.

Il tutto viene gestito da due plugin di Joomla!®:

  • Two Factor Authentication - Google Authenticator
  • Two Factor Authentication - YubiKey

questi sono disabilitati di default ma attivabili manualmente o direttamente dai messaggi post-installazione.

Abilitazione dei plugin

Nel backend molto probabilmete troveremo un messaggio post-installazione con un bottone Abilita la verifica in due passaggi.

Messaggio

In alternativa possiamo andare in Estensioni --> Plugin e filtrare per Tipo: twofactorauth.

pluging twofactorauth

Cliccando sul nome dei plugin potremo entrare nella finestra di configurazione e decidere se attivare la verifica in due passaggi in entrambe le aree del sito (backend e frontend) o in una sola di esse.

sezioni verifica

Dopo aver abilitato uno o entrambi questi plugin succedono due cose, la maschera di login si arricchirà di un nuovo campo "Chiave segreta" (per ora inattivo) e la maschera del profilo utente di un nuovo tab: Verifica in due passaggi.

attivazione verifica due passaggi

Google Authenticator in Joomla!®

Per attivare questa modalità conviene prima installare l'apposita App nel nostro device.
Vedi queste pagine per maggiori dettagli:

https://support.google.com/accounts/answer/1066447?hl=it
https://en.wikipedia.org/wiki/Google_Authenticator#Implementation

Utilizziamo ora questo nuovo tab per configurare l'autenticazione in due fattori.
Entriamo in Utenti --> Gestione, clicchiamo su Super User (utente per il quale decidiamo di attivare l'opzione), sul tab Verifica in due passaggi ed infine, dal menù a tendina, su Google Authenticator

joomla google authenticator

A questo punto si aprirà la pagina di configurazione, andiamo al "Passo2 - Impostazioni".
Il plugin genera un nome account, una chiave ed un codice QR.
Questi dati serviranno per sincronizzare in modo univoco i codici generati dalla App con il nostro specifico sito web.

Nota: sebbene io non abbia mai riscontrato disservizi dovuti all'ora impostata teniamo presente l'avvertimento nella finestra di configurazione: "Ricordati di sincronizzare l'orologio del tuo dispositivo con l'orario del server. Una differenza di orario nel tuo dispositivo può causare l'impossibilità ad accedere al tuo sito."

impostazione google authenticator

Attivazione della verifica con Google Authenticator

app google authenticatorSe il telefono lo permette è sicuramente più rapido avvicinarsi allo schermo e scansionare il QR code, in alternativa dovremmo immettere i due dati, Account e Chiave manualmente.

Fatto questo si genererà un primo codice che va subito inserito nell'apposita casella al "Passo 3 - Attiva la verifica in due passaggi", poi clic in alto su Salva.

attivazione google authenticator

A questo punto prendiamo nota delle 10 password di emergenza che ci vengono riportate nel riquadro sottostante per stamparle e conservarle in un luogo sicuro.

psw emergenza

Queste password possono essere utilizzate una sola volta (dopo spariscono dall'elenco) e servono a garantirci comunque l'ingresso al sito in caso fossimo nell'impossibilità di generare il codice di verifica. Quando sono in esaurimento vi consiglio di disabilitare l'autenticazione e rifare la procedura di attivazione per ricrearne di nuove.

login verifica in due passaggiOra chiudiamo la finestra, facciamo logout dal backend e testiamo il tutto. Se tutto è stato fatto correttamente comparirà una nuova casella "Chiave segreta" nella maschera di login

Inseriamo le credenziali username e password e lanciamo la nostra App per ottenere la chiave segreta (ne genera una ogni 30 secondi) per entrare nel sito.

 

YubiKey in Joomla!®

Un altro sistema di verifica in due passaggi disponibile in Joomla!® è la YubiKey, una comodissima chiavetta che va inserita in una porta USB del computer. Sfiorando la superfice sensibile della chiavetta si genera un codice univoco, una one-time password da utilizzare come Chiave segreta nella finestra di login del nostro sito Joomla!®.
Io ho acquistato il modello standard e devo dire che funziona benissimo.

Maggiori dettagli, documentazione e costi potete ricavarli direttamente dal sito del produttore:

https://www.yubico.com

Attivazione della verifica con la YubiKey

Andiamo su Utenti --> Gestione, Super User, andiamo al tab Verifica in due passaggi
e selezioniamo dal menù a tendina: YubiKey

 verifica con yubikey

Ora (con la chiavetta inserita nella presa USB) posizioniamo il cursore sulla casella Codice di sicurezza e sfioriamo la parte sensibile dalla YubiKey. Si genera una stringa univoca di caratteri composta da una parte iniziale che identifica l'utente seguita da un'altra che varia di volta in volta.

attivazione yubikey

Cliccando ora in alto su Salva, questa stringa sarà inviata ai server YubiCloud per l'autenticazione.
Il messaggio "Utente salvato correttamente" certificherà la corretta attivazione del servizio.

Apparirà una tabella contenente 10 one-time password da utilizzare in caso non sia possibile autenticarsi con la chiavetta.
Per il loro impiego vale lo stesso discorso fatto poco sopra per Google Authenticator.

password di emergenza

Facciamo logout e testiamo questa nuova funzionalità.
Con la chiavetta nella presa USB inseriamo username e password, posizioniamo il cursore nella casella "Chiave segreta" e sfioriamo la lucetta verde. Se tutto va bene ci troveremo proiettati nel backend senza nemmeno cliccare il bottone Accedi.

Aiuto! Non riesco più ad entrare

Se per qualche motivo non dovessimo più riuscire ad entrare nel sito dalla finestra di login c'è la possibilità, accedendo al database, di disabilitare i plugin dell'autenticazione in due fattori in modo che non ci venga più richiesta la chiave segreta.
È un'operazione delicata da fare con molta attenzione e solo in caso di necessità.

Avvertenza: eseguire questa procedura solo se si sa cosa si sta facendo. Alterare il database potrebbe avere conseguenze critiche. In ogni caso predisporre un backup del database prima di operare modifiche.

Lanciamo phpMyAdmin e selezioniamo il database del sito. Cerchiamo la tabella xxxxx_extensions e clicchiamo su Browse

db tabella estensioni

Cerchiamo nella colonna name plg_twofactorauth_totp e plg_twofactorauth_yubikey e verifichiamo dalla colonna enabled quale plugin sia abilitato (valore 1). Nella foto lo sono entrambi.

db plugin

Clicchiamo su Edit in corrispondenza del/dei plugin da disabilitare e nella riga corrispondente a enabled sostituiamo il valore 1 (abilitato) con 0 (disabilitato). Poi clic su Go per salvare.

db plugin disabie

Se tutto va bene dovremmo ottenere questo risultato

db plugin disabilitati

Usciamo da phpMyAdmin e andiamo al sito, la casella Chiave segreta non sarà più presente. Ovviamente in caso di ripristino della funzione di doppia autenticazione, tutto dovrà essere riconfigurato, le password di emergenza non saranno più valide ecc.