In questo tutorial, descriveremo i passaggi necessari per configurare l'autenticazione a due fattori (2FA) utilizzando l'autenticatore di Google su un VPS Ubuntu 16.04. Questa applicazione include implementazioni di generatori di passcode monouso per diverse piattaforme mobili. Questo metodo aggiunge un altro livello di protezione al tuo server aggiungendo un ulteriore passaggio alla procedura di accesso di base.
1. Accedi tramite SSH
Accedi al tuo server tramite SSH come utente root
ssh root@IP_Address
2. Aggiorna i pacchetti di sistema
Aggiorna tutti i pacchetti installati:
apt-get update && apt-get upgrade
3. Installa Google Authenticator
Installa Google Authenticator pacchetto.
apt-get install libpam-google-authenticator
Una volta installato il pacchetto, esegui il programma google-authenticator per creare una chiave per l'utente con cui effettuerai l'accesso. Il programma può generare due tipi di token di autenticazione:basati sul tempo e token una tantum . Le password basate sul tempo cambieranno casualmente in un determinato periodo di tempo e le password monouso sono valide per una singola autenticazione.
4. Esegui Google Authenticator
Nel nostro caso, utilizzeremo password basate sul tempo. Eseguire il programma per creare le chiavi
google-authenticator
Ti verrà chiesto se desideri che l'autenticazione sia basata sul tempo.
Do you want authentication tokens to be time-based (y/n) y
Il codice QR grande verrà generato nel tuo terminale. Puoi scansionare il codice con l'applicazione di autenticazione sul tuo telefono o tablet Android/iOS/Windows o inserire la chiave segreta generata sullo schermo.
Verranno anche generati codici scratch di emergenza. Puoi utilizzare questi codici per l'autenticazione in caso di smarrimento del dispositivo mobile.
Your emergency scratch codes are: 80463533 68335920 89221348 12489672 11144603
Salva le impostazioni di autenticazione per l'utente root rispondendo SI alla domanda successiva
Do you want me to update your "/root/.google_authenticator" file (y/n) y
5. Configura l'autenticatore per generare password monouso.
Successivamente, puoi configurare l'autenticatore per generare password monouso. Poiché durano 30 secondi, tutte le password generate possono essere utilizzate una sola volta.
Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) y
Puoi utilizzare l'impostazione successiva se hai problemi di sincronizzazione del tempo tra i tuoi dispositivi, quindi non utilizzeremo questa opzione
By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) n
L'impostazione successiva previene gli attacchi di forza bruta. Avrai solo tre possibilità ogni 30 secondi di inserire la password corretta.
If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) y
Ora abbiamo configurato l'applicazione Google Authenticator e il passaggio successivo è configurare le impostazioni di autenticazione in openSSH. Per farlo, apri il file “/etc/pam.d/sshd” e aggiungi la seguente riga alla fine del file:
# vim /etc/pam.d/sshd auth required pam_google_authenticator.so
Salva le modifiche e apri il file "/etc/ssh/sshd_config" e abilita l'Autenticazione Challenge Response.
# vim /etc/ssh/sshd_config ChallengeResponseAuthentication yes
6. Riavvia il server SSH
Salva il file e riavvia il server SSH per rendere effettive le modifiche.
systemctl restart ssh
Se hai seguito da vicino questo tutorial, l'autenticazione a due fattori è abilitata sul tuo server e ogni volta che proverai ad accedere al tuo Ubuntu VPS tramite SSH dovrai inserire la password del tuo utente e il codice di verifica generato dall'applicazione di Autenticazione Google sul tuo dispositivo mobile .
Ovviamente, non devi proteggere SSH utilizzando l'autenticazione a due fattori su Ubuntu 16.04, se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di proteggere SSH utilizzando l'autenticazione a due fattori su Ubuntu 16.04. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.
PS. Se ti è piaciuto questo post su come proteggere SSH utilizzando l'autenticazione a due fattori su Ubuntu 16.04, condividilo con i tuoi amici sui social network utilizzando i pulsanti in basso o lascia una risposta nella sezione commenti. Grazie.
Una nuova versione è disponibile qui:Configura l'autenticazione a più fattori per SSH su Ubuntu 20.04.