Autenticazione a 2 fattori (2FA) in Joomla 3.x

Joomla è stato il primo CMS ad implementare l'Autenticazione a 2 Fattori (Two-Factor Authentication - 2FA) nel lontano novembre 2013. Questa funzionalità aggiunge un livello ulteriore di verifica quando si accede al sito grazie all'utilizzo di codici token sul proprio smartphone oppure di Yubikey.

Tradizionalmente, quando si accede al proprio sito, è necessario indicare nome utente e password per identificarsi nel sistema e potervi accedere. Il più grande problema in questo approccio è che il nome utente e la password possono essere rubati o indovinati. Per esempio, se il PC in uso è infestato da malware oppure se si prova ad accedere al proprio sito da una rete non sicura, come un hotspot Wi-Fi pubblico, è possibile che qualcuno possa intercettare le proprie credenziali username e password. Ciò significa che essi possono accedere al sito web in sostituzione dell'utente attaccato. A causa della compromissione delle proprie credenziali amministrative, il sito potrebbe essere oggetto di attacco hacker.

Per prevenire questo scenario, a partire da Joomla 3.2, è disponibile nel core del CMS un sistema di Autenticazione a 2 Fattori che irrobustisce il login al proprio sito web con un codice segreto secondario e monouso. Questa tecnica è chiamata autenticazione a 2 fattori ed è abbreviata in 2FA.

Abilitare l'Autenticazione a 2 Fattori

Sin dalla versione 3.2 di Joomla, quando si accede al backend è visualizzato un avviso relativo ai messaggi post-installazione.

2fa001

Facendo click su "Leggi mmessaggi", saranno visualizzati tutti i messaggi post-installazione non letti, tra cui quello che informa circa la disponibilità dell'Autenticazione a 2 Fattori, chiamata anche "Verifica in due passaggi".

2fa002

Fare click sul pulsante "Abilita verifica in due passaggi". Il sistema visualizzerà la pagina relativa al profilo del Super User loggato, posizionandosi sulla scheda "Verifica in due passaggi".

2fa003

Qualora nella schermata di modifica dell'utente non dovesse comparire la tab "Verifica in due passaggi", è sufficiente recarsi in "Estensioni > Plugin" e filtrare per tipo, selezionando twofactorauth.

I due plugin: Two Factor Authentication - Google Authenticator e Two Factor Authentication - YubiKey dovranno essere attivi per poter correttamente lavorare con l'autenticazione a 2 fattori.

2fa006

Metodi di autenticazione

Google Authenticator

Google Authenticator è un'applicazione per smartphone e desktop creata da Google che consente di generare codici di sicurezza a 6 cifre che cambiano automaticamente ogni 30 secondi. Per accedere al proprio sito saranno quindi necessari nome utente, password ed il codice di sicurezza (token) di sei cifre che varia ogni 30 secondi.

È possibile abilitare l'Autenticazione a 2 fattori per il Frontend, per il Backend o per Entrambi. Quest'opzione può essere configurata nel plugin Two Factor Authentication - Google Authenticator.

Questo metodo fornisce una protezione extra contro gli hacker che vogliono compromettere l'accesso al sito web, poiché anche qualora fossero in grado di rubare o scoprire le credenziali amministrative, avrebbero al massimo 30 secondi per eseguire l'hack del sito e, di solito, non è un tempo sufficiente. In questo modo, l'autenticazione a due fattori previene l'accesso non autorizzato al sito web.

Impostare Google Authenticator come sistema per l'autenticazione a due fattori è molto semplice.

Step 1 - Installare Google Authenticator

Scaricare ed installare Google Authenticator

2fa005

Step 2 - Impostazione

Sarà visualizzato un Codice QR da scansionare con uno smartphone che abbia l'applicazione Google Authenticator installata.

2fa007

Step 3 - Attivare l'Autenticazione a Due Fattori

Nel campo "Codice di sicurezza" inserire il codice di 6 cifre visualizzato sullo schermo dello smartphone. Quindi fare click su Salva e Chiudi.

2fa008

Adesso l'accesso al sito è protetto dall'Autenticazione a 2 fattori. Eseguendo il logout dal sito, nella schermata di login saranno ora visibili 3 campi: nome utente, password e chiave segreta. Inserire nel campo "Chiave Segreta" il codice generato da Google Authenticator.

2fa009

Quindi non inserendo il codice segreto oppure inserendone uno casuale, non sarà più possibile accedere. Ciò capiterà anche agli hacker quando proveranno ad accedere al backend, dato che la chiave segreta di sicurezza è generata da Google Authenticator sullo smartphone abbinato.

Yubikey

Questa funzionalità consente di utilizzare un token hardware Yubikey per l'autenticazione a due fattori. In aggiunta a nome utente e password sarà necessario inserire nella porta USB del proprio PC anche la Yubikey, fare click nell'area Chiave Segreta della pagina di login e toccare il dischetto dorato sulla Yubikey. Se si ha a disposizione uno smartphone Android con NFC è sufficiente avvicinare un token Yubikey compatibile (Yubikey Neo) al lettore NFC per copiare il codice segreto negli appunti del dispositivo. Il codice segreto generato dalla Yubikey è unico per il dispositivo e cambia costantemente. Questo metodo aggiunge ulteriore protezione contro gli hacker che provano ad accedere al proprio account, anche qualora scoprissero la password.

È possibile abilitare l'Autenticazione a 2 fattori per il Frontend, per il Backend o per Entrambi. Quest'opzione può essere configurata nel plugin Two Factor Authentication - Yubikey.

2fa010