/ / Come proteggere SSH con l'autenticazione a due fattori di Google Authenticator

Come proteggere SSH con l'autenticazione a due fattori di Google Authenticator

google-autenticatore-ssh-header

Vuoi proteggere il tuo server SSH con facilità d'usoautenticazione a due fattori? Google fornisce il software necessario per integrare il sistema TOTP (Time-One-Time Password) basato su tempo di Google Authenticator con il tuo server SSH. Dovrai inserire il codice dal tuo telefono quando ti connetti.

Google Authenticator non "telefona a casa" perGoogle: tutto il lavoro avviene sul tuo server SSH e sul tuo telefono. In effetti, Google Authenticator è completamente open-source, quindi puoi anche esaminare tu stesso il suo codice sorgente.

Installa Google Authenticator

Per implementare l'autenticazione a più fattori conGoogle Authenticator, avremo bisogno del modulo PAM di Google Authenticator open source. PAM sta per "modulo di autenticazione collegabile": è un modo per collegare facilmente diverse forme di autenticazione a un sistema Linux.

I repository software di Ubuntu contengono unpacchetto facile da installare per il modulo PAM di Google Authenticator. Se la tua distribuzione Linux non contiene un pacchetto per questo, dovrai scaricarlo dalla pagina dei download di Google Authenticator su Google Code e compilarlo tu stesso.

Per installare il pacchetto su Ubuntu, eseguire il comando seguente:

sudo apt-get install libpam-google-authenticator

(Questo installerà solo il modulo PAM sul nostro sistema - dovremo attivarlo manualmente per gli accessi SSH.)

Immagine

Crea una chiave di autenticazione

Accedi come l'utente con cui effettuerai l'accesso in remoto ed esegui il google-autenticatore comando per creare una chiave segreta per quell'utente.

Consenti al comando di aggiornare il tuo GoogleFile di autenticazione digitando y. Ti verranno quindi poste diverse domande che ti consentiranno di limitare gli usi dello stesso token di sicurezza temporaneo, aumentare la finestra temporale per cui i token possono essere utilizzati e limitare i tentativi di accesso consentiti per ostacolare i tentativi di cracking della forza bruta. Tutte queste scelte scambiano un po 'di sicurezza con una certa facilità d'uso.

Immagine

Google Authenticator ti presenterà unchiave segreta e diversi "codici di emergenza". Annota i codici di emergenza in un luogo sicuro: possono essere utilizzati solo una volta ciascuno e sono destinati all'uso in caso di smarrimento del telefono.

Immagine

Inserisci la chiave segreta in Google Authenticatorapp sul telefono (le app ufficiali sono disponibili per Android, iOS e Blackberry). Puoi anche utilizzare la funzione di scansione del codice a barre: vai all'URL situato nella parte superiore dell'output del comando e puoi scansionare un codice QR con la fotocamera del tuo telefono.

Immagine

Ora avrai un codice di verifica in continua evoluzione sul tuo telefono.

Immagine

Se si desidera accedere in remoto come più utenti, eseguire questo comando per ciascun utente. Ogni utente avrà la propria chiave segreta e i propri codici.

Attiva Google Authenticator

Successivamente dovrai richiedere Google Authenticator per gli accessi SSH. Per fare ciò, aprire il /etc/pam.d/sshd file sul tuo sistema (ad esempio, con il sudo nano /etc/pam.d/sshd comando) e aggiungere la seguente riga al file:

autenticazione obbligatoria pam_google_authenticator.so

Quindi, apri il / Etc / ssh / sshd_config file, individuare il ChallengeResponseAuthentication linea e cambiarlo per leggere come segue:

ChallengeResponseAuthentication sì

(Se la ChallengeResponseAuthentication la linea non esiste già, aggiungi la riga sopra al file.)

Infine, riavvia il server SSH per rendere effettive le modifiche:

sudo service ssh restart

Immagine

Ti verrà richiesta la password e il codice Google Authenticator ogni volta che tenti di accedere tramite SSH.

google-autenticatore-ssh-header