Come proteggere SSH con l'autenticazione Two-Factor di Google Authenticator
Vuoi proteggere il tuo server SSH con un'autenticazione a due fattori facile da usare? Google fornisce il software necessario per integrare il sistema TOTP (One-Time Password) basato sul tempo di Google Authenticator con il tuo server SSH. Dovrai inserire il codice dal tuo telefono quando ti connetti.
Google Authenticator non "chiama casa" su Google: tutto il lavoro avviene sul tuo server SSH e sul tuo telefono. Di fatto, Google Authenticator è completamente open-source, quindi puoi anche esaminarne il codice sorgente.
Installa Google Authenticator
Per implementare l'autenticazione a più fattori con Google Authenticator, abbiamo bisogno del modulo PAM di Google Authenticator open-source. PAM sta per "modulo di autenticazione pluggable": è un modo per collegare facilmente diverse forme di autenticazione in un sistema Linux.
I repository software di Ubuntu contengono un pacchetto di facile installazione 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 da solo.
Per installare il pacchetto su Ubuntu, eseguire il seguente comando:
sudo apt-get installa libpam-google-authenticator
(Questo installerà solo il modulo PAM sul nostro sistema - dovremo attivarlo manualmente per gli accessi SSH.)
Crea una chiave di autenticazione
Accedi come utente con cui effettuerai il login da remoto ed esegui il google-autenticatore comando per creare una chiave segreta per quell'utente.
Consenti al comando di aggiornare il tuo file Google Authenticator 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 in cui è possibile utilizzare i token e limitare i tentativi di accesso consentiti per ostacolare i tentativi di cracking della forza bruta. Queste scelte scambiano un po 'di sicurezza per una certa facilità d'uso.
Google Authenticator ti presenterà una chiave segreta e diversi "codici antigraffio di emergenza". Annota i codici antigraffio di emergenza in un luogo sicuro: possono essere utilizzati solo una volta ciascuno e sono pensati per l'uso in caso di smarrimento del telefono.
Inserisci la chiave segreta nell'app Google Authenticator 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 che si trova vicino alla parte superiore dell'output del comando e puoi scansionare un codice QR con la fotocamera del telefono.
Ora avrai un codice di verifica che cambia costantemente sul tuo telefono.
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ò, apri il /etc/pam.d/sshd file sul tuo sistema (ad esempio, con sudo nano /etc/pam.d/sshd comando) e aggiungere la seguente riga al file:
auth richiesto pam_google_authenticator.so
Quindi, apri il / Etc / ssh / sshd_config file, individuare il ChallengeResponseAuthentication linea e modificarlo come segue:
ChallengeResponseAuthentication yes
(Se la ChallengeResponseAuthentication la linea non esiste già, aggiungi la riga sopra al file.)
Infine, riavvia il server SSH in modo che le modifiche abbiano effetto:
sudo service ssh restart
Ti verrà richiesto sia la password che il codice di Google Authenticator ogni volta che tenti di accedere tramite SSH.