Autenticazione a 2 fattori per vTiger CRM
.
Presentiamo qui il download gratuito dell'estensione che abbiamo sviluppato per aggiungere l'autenticazione a due fattori a vTiger CRM.
L'accesso al CRM vTiger è da sempre protetto da un semplice meccanismo basato su username e password. Questo metodo non ha teoricamente problemi dal punto di vista della sicurezza se gli utenti utilizzassero un minimo di accortezza nella gestione delle credenziali. Purtroppo sono stati segnalati casi in cui le password sono state trafugate o perchè troppo semplici o perchè memorizzate su supporti tutt'altro che sicuri come ad esempio il classico file di testo nel PC.
Per superare i rischi della gestione poco accorta delle credenziali da parte degli utenti molte applicazioni hanno intrototto la cosiddetta "autenticazione a due fattori" in cui in aggiunta alla password viene richiesto un secondo fattore di autenticazione come ad esempio il possesso di un dispositivo fisico. Da i vari sistemi a disposizione abbiamo deciso di utilizzare "Google Autenticator" composto da una app da installare nello smartphone che produce una serie di codici pseudo casuali che cambiano ogni 30 secondi e che possono essere utilizzati come codice OTP al login.
Come funziona l'accesso tramite Google Autenticator
La configurazione della APP viene effettuata al primo accesso dell'utente: dopo aver inserito username e password viene presentata la chiave di accesso segreta sia sotto forma di codice QR che può letto direttamente dalla APP, che sotto forma di stringa di testo per l'inserimento manuale. Attenzione: il codice non verrà più mostrato dopo il primo accesso ed è quindi fondamentale non perderselo preparandosi già con la app "Google Autenticator" installata nello smartphone.
Dopo la configurazione ad ogni accesso al CRM dopo aver inserito username e password viene richiesto di inserire il codice OTP di 6 cifre che viene visualizzato nella APP.
Installazione ed amministrazione
Per installare il pacchetto dopo averlo scaricato dall'area riservata decomprimerlo nella directory principale del CRM ed eseguire la procedura di installazione Crea2fa.php che può essere cancellata per maggiore sicurezza dopo l'esecuzione.
Il pacchetto introduce modifice al core di Vtiger solo nel file modules/Users/actions/Login.php ed è stato testato nella versione 7.4 di vTiger, per applicare il pacchetto ad altre versioni suggeriamo di applicare la modifica a questo file manualmente.
La procedura crea due nuovi campi nel profilo degli utenti:
Il flag: "2FA abilitata" deve essere settato perchè per l'utente sia attiva l'autenticazione a 2 fattori.
Il campo "SecretKey" contiene la chiave che viene generata automaticamente al primo accesso, cancellando questo campo viene forzata la generazione e presentazione di un nuovo codice nel caso l'utente se lo perda.
Controllo Errori Ripetuti
Un punto potenzialmente debole del meccanismo e che trattandosi di un codice a "sole" 6 cifre può essere attaccabile da un attacco "brute force". Infatti un attacco effettuato con un bot che prova codici casuali ad un ritmo di uno ad secondo può avere successo nel giro di pochi giorni.
Per evitare questo rischio si è implementato un controllo che nel caso un utente sbagli più di qualche volta il codice nel giro di poco tempo non permette di continuare ad inserire codici