Per maggiore sicurezza, puoi richiedere un file token di autenticazione basata sul tempo così come una password per accedere al tuo PC Linux. Questa soluzione utilizza Google Authenticator e altre app TOTP.
Questo processo è stato eseguito su Ubuntu 14.04 con lo standard Unity desktop e il gestore degli accessi LightDM, ma i principi sono gli stessi sulla maggior parte delle distribuzioni e desktop Linux.
Ti abbiamo mostrato in precedenza come richiedere Google Authenticator per l'accesso remoto tramite SSH e questo processo è simile. Ciò non richiede l'app Google Authenticator, ma funziona con qualsiasi app compatibile che implementa lo schema di autenticazione TOTP, incluso Authy .
Installa Google Authenticator PAM
RELAZIONATO: Come proteggere SSH con l'autenticazione a due fattori di Google Authenticator
Come quando lo configuriamo per l'accesso SSH, dobbiamo prima installare il software PAM ("modulo di autenticazione collegabile") appropriato. PAM è un sistema che ci consente di collegare diversi tipi di metodi di autenticazione in un sistema Linux e di richiederli.
Su Ubuntu, il seguente comando installerà Google Authenticator PAM. Apri una finestra di Terminale, digita il seguente comando, premi Invio e fornisci la tua password. Il sistema scaricherà il PAM dai repository software della tua distribuzione Linux e lo installerà:
sudo apt-get install libpam-google-authenticator
Si spera che anche altre distribuzioni Linux dovrebbero avere questo pacchetto disponibile per una facile installazione: apri i repository software della tua distribuzione Linux ed esegui una ricerca. Nella peggiore delle ipotesi, puoi trovare il codice sorgente per il modulo PAM su GitHub e compilarlo da solo.
Come accennato in precedenza, questa soluzione non dipende dal "telefonare a casa" ai server di Google. Implementa l'algoritmo TOTP standard e può essere utilizzato anche quando il tuo computer non ha accesso a Internet.
Crea le tue chiavi di autenticazione
Ora dovrai creare una chiave di autenticazione segreta e inserirla nell'app Google Authenticator (o un'app simile) sul tuo telefono. Innanzitutto, accedi come account utente sul tuo sistema Linux. Apri una finestra di terminale ed esegui il google-authenticator comando. genere Y e segui le istruzioni qui. Questo creerà un file speciale nella directory dell'account utente corrente con le informazioni di Google Authenticator.
Verrai anche guidato attraverso il processo per ottenere quel codice di verifica a due fattori in un Google Authenticator o un'app TOTP simile sul tuo smartphone. Il tuo sistema può generare un codice QR che puoi scansionare o puoi digitarlo manualmente.
Assicurati di annotare i tuoi codici temporanei di emergenza, che puoi utilizzare per accedere in caso di smarrimento del telefono.
Segui questo processo per ogni account utente che utilizza il tuo computer. Ad esempio, se sei l'unica persona che usa il tuo computer, puoi farlo solo una volta sul tuo normale account utente. Se hai qualcun altro che usa il tuo computer, ti consigliamo di fargli accedere al proprio account e generare un codice a due fattori appropriato per il proprio account in modo che possa accedere.
Attiva l'autenticazione
Qui è dove le cose si fanno un po 'difficili. Quando abbiamo spiegato come abilitare due fattori per gli accessi SSH, lo abbiamo richiesto solo per gli accessi SSH. Ciò ha assicurato che tu possa ancora accedere localmente se hai perso l'app di autenticazione o se qualcosa è andato storto.
Poiché abiliteremo l'autenticazione a due fattori per gli accessi locali, ci sono potenziali problemi qui. Se qualcosa va storto, potresti non essere in grado di accedere. Tenendo presente questo, ti guideremo attraverso l'attivazione solo per gli accessi grafici. Questo ti dà un portello di fuga se ne hai bisogno.
Abilita Google Authenticator per gli accessi grafici su Ubuntu
È sempre possibile abilitare l'autenticazione in due passaggi solo per gli accessi grafici, saltando il requisito quando si accede dal prompt di testo. Ciò significa che puoi facilmente passare a un terminale virtuale, accedere da lì e annullare le modifiche in modo che Gogole Authenciator non sia necessario in caso di problemi.
Certo, questo apre un buco nel tuo sistema di autenticazione, ma un utente malintenzionato con accesso fisico al tuo sistema può già sfruttarlo comunque . Ecco perché l'autenticazione a due fattori è particolarmente efficace per gli accessi remoti tramite SSH.
Ecco come farlo per Ubuntu, che utilizza il gestore degli accessi LightDM. Apri il file LightDM per la modifica con un comando come il seguente:
sudo gedit /etc/pam.d/lightdm
(Ricorda, questi passaggi specifici funzioneranno solo se la tua distribuzione Linux e il desktop utilizzano il gestore degli accessi LightDM.)
Aggiungi la seguente riga alla fine del file, quindi salvalo:
autorizzazione richiesta pam_google_authenticator.so nullok
Il bit "nullok" alla fine dice al sistema di consentire a un utente di accedere anche se non ha eseguito il comando google-authenticator per impostare l'autenticazione a due fattori. Se l'hanno impostato, dovranno inserire un codice time-baesd, altrimenti non lo faranno. Rimuovi il "nullok" e gli account utente che non hanno impostato un codice Google Authenticator non saranno in grado di accedere graficamente.
La prossima volta che un utente accede graficamente, gli verrà richiesta la password e quindi verrà richiesto il codice di verifica corrente visualizzato sul telefono. Se non inseriscono il codice di verifica, non sarà autorizzato ad accedere.
Il processo dovrebbe essere abbastanza simile per altre distribuzioni Linux e desktop, poiché i più comuni gestori di sessioni desktop Linux utilizzano PAM. Probabilmente dovrai solo modificare un file diverso con qualcosa di simile per attivare il modulo PAM appropriato.
Se si utilizza la crittografia della home directory
Le versioni precedenti di Ubuntu offrivano un facile Opzione "crittografia cartella home" che ha crittografato l'intera directory home fino a quando non si immette la password. Nello specifico, utilizza ecryptfs. Tuttavia, poiché il software PAM dipende da un file Google Authenticator memorizzato nella directory home per impostazione predefinita, la crittografia interferisce con la lettura del file da parte di PAM a meno che non si assicuri che sia disponibile in forma non crittografata per il sistema prima di accedere. Consulta il README per ulteriori informazioni su come evitare questo problema se stai ancora utilizzando le opzioni di crittografia della directory home deprecate.
Le versioni moderne dell'offerta di Ubuntu crittografia dell'intero disco invece, che funzionerà bene con le opzioni di cui sopra. Non devi fare niente di speciale
Aiuto, si è rotto!
Poiché l'abbiamo abilitato solo per gli accessi grafici, dovrebbe essere facile disabilitarlo se causa un problema. Premi una combinazione di tasti come Ctrl + Alt + F2 per accedere a un terminale virtuale e accedi con il tuo nome utente e password. È quindi possibile utilizzare un comando come sudo nano /etc/pam.d/lightdm per aprire il file per la modifica in un editor di testo del terminale. Uso la nostra guida a Nano per rimuovere la riga e salvare il file e potrai accedere di nuovo normalmente.
Potresti anche forzare la richiesta di Google Authenticator per altri tipi di login, potenzialmente anche tutti i login di sistema, aggiungendo la riga "auth required pam_google_authenticator.so" ad altri file di configurazione PAM. Stai attento se lo fai. E ricorda, potresti voler aggiungere "nullok" in modo che gli utenti che non hanno completato il processo di configurazione possano comunque accedere.
Ulteriore documentazione su come utilizzare e configurare questo modulo PAM può essere trovata in il file README del software su GitHub .