Nel corso del tempo, la tradizionale autenticazione di nome utente e password si è rivelata inadeguata nel fornire una solida sicurezza ad applicazioni e sistemi. I nomi utente e le password possono essere facilmente violati utilizzando una pletora di strumenti di hacking, lasciando il tuo sistema vulnerabile alle violazioni. Per questo motivo, qualsiasi azienda o entità che prende sul serio la sicurezza deve implementare l'autenticazione a 2 fattori .
Colloquialmente noto come AMF (Autenticazione a più fattori ), l'autenticazione a 2 fattori fornisce un ulteriore livello di sicurezza che richiede agli utenti di fornire determinati dettagli come codici o OTP (Password una tantum ) prima o dopo l'autenticazione con username e password abituali.
Al giorno d'oggi più aziende come Google , Facebook , Twitter e AWS , per citarne alcuni, offrono agli utenti la possibilità di impostare MFA per proteggere ulteriormente i propri account.
In questa guida mostriamo come utilizzare l'Autenticazione a due fattori con Ubuntu .
Passaggio 1:installa il pacchetto PAM di Google
Innanzitutto, installa Google PAM pacchetto. PAM , abbreviazione di Modulo di autenticazione plug-in , è un meccanismo che fornisce un ulteriore livello di autenticazione sulla piattaforma Linux.
Il pacchetto è ospitato su Ubuntu repository, quindi procedi e usa il comando apt per installarlo come segue:
$ sudo apt install libpam-google-authenticator
Quando richiesto, premi 'Y'
e premi INVIO per continuare con l'installazione.

Passaggio 2:installa l'app Google Authenticator sul tuo smartphone
Inoltre, devi installare l'applicazione Google Authenticator sul tuo tablet o smartphone . L'app ti presenterà un OTP a 6 cifre codice che si rinnova automaticamente ogni 30 secondi.

Passaggio 3:configura Google PAM in Ubuntu
Con Google Authenticator app, procederemo e configureremo il pacchetto Google PAM su Ubuntu modificando /etc/pam.d/common-auth file come mostrato.
$ sudo vim /etc/pam.d/common-auth
Aggiungi la riga sottostante al file come indicato.
auth required pam_google_authenticator.so

Salva il file ed esci.
Ora, esegui il comando seguente per inizializzare PAM .
$ google-authenticator
Questo evocherà un paio di domande sullo schermo del tuo terminale. Innanzitutto, ti verrà chiesto se desideri che i token di autenticazione siano basati sul tempo.
Autenticazione basata sul tempo i token scadono dopo un certo tempo. Per impostazione predefinita, è dopo 30 secondi, su cui viene generato un nuovo set di token. Questi token sono considerati più sicuri dei token non basati sul tempo e, pertanto, digita 'y'
per sì e premi INVIO .

Successivamente, un codice QR verrà visualizzato sul terminale come mostrato di seguito e subito sotto di esso, verranno visualizzate alcune informazioni. Le informazioni visualizzate includono:
- Chiave segreta
- Codice di verifica
- Codici scratch di emergenza
È necessario salvare queste informazioni in un deposito per riferimenti futuri. I codici scratch di emergenza sono estremamente utili in caso di smarrimento del dispositivo di autenticazione. Se dovesse succedere qualcosa al tuo dispositivo di autenticazione, usa i codici.
Avvia Google Authenticator App sul tuo dispositivo smart e seleziona "Scansiona codice QR ' per scansionare il codice QR presentato.

NOTA :È necessario ingrandire la finestra del terminale per scansionare l'intero codice QR. Una volta scansionato il codice QR, sull'App verrà visualizzata una OTP a sei cifre che cambia ogni 30 secondi.

Successivamente, seleziona 'y'
per aggiornare il file di autenticazione di Google nella tua cartella Inizio.
Nella richiesta successiva, limita l'accesso a un solo accesso ogni 30 secondi per prevenire attacchi che potrebbero insorgere a causa di attacchi man-in-the-middle. Quindi seleziona 'y'

Nel prompt successivo, seleziona 'n'
per non consentire l'estensione della durata temporale che risolve lo sfasamento temporale tra server e client. Questa è l'opzione più sicura a meno che tu non stia riscontrando problemi con una scarsa sincronizzazione dell'ora.
E infine, abilita la limitazione della frequenza solo a 3 tentativi di accesso.

A questo punto, abbiamo finito di implementare l'autenticazione a 2 fattori caratteristica. Infatti, se esegui un comando sudo, ti verrà richiesto un codice di verifica che puoi ottenere dall'app Google Authenticator .

Puoi verificarlo ulteriormente riavviando e una volta raggiunta la schermata di accesso, ti verrà richiesto di fornire il codice di verifica.

Dopo aver fornito il codice da Google Authenticator app, fornisci la tua password per accedere al tuo sistema.

Passaggio 4:integra SSH con Google Authenticator
Se intendi utilizzare SSH con il PAM di Google modulo, è necessario integrare i due. Ci sono due modi per raggiungere questo obiettivo.
Per l'autenticazione con password SSH
Per abilitare SSH autenticazione della password per un utente normale, per prima cosa apri l'SSH predefinito file di configurazione.
$ sudo vim /etc/ssh/sshd_config
E imposta i seguenti attributi su 'sì' come mostrato

Per l'utente root, imposta "PermitRootLogin ' attributo a 'yes'
.
PermitRootLogin yes

Salva il file ed esci.
Quindi, modifica il PAM regola per SSH
$ sudo vim /etc/pam.d/sshd
Quindi aggiungi la riga seguente
auth required pam_google_authenticator.so

Infine, riavvia SSH servizio per rendere effettive le modifiche.
$ sudo systemctl restart ssh
Nell'esempio seguente, stiamo effettuando l'accesso a Ubuntu sistema dal client Putty.

Per l'autenticazione con chiave pubblica SSH
Se stai utilizzando l'autenticazione con chiave pubblica , ripeti i passaggi precedenti e aggiungi la riga mostrata in fondo a /etc/ssh/sshd_config file.
AuthenticationMethods publickey,keyboard-interactive
Ancora una volta, modifica il PAM regola per SSH demone.
$ sudo vim /etc/pam.d/sshd
Quindi aggiungi la riga seguente.
auth required pam_google_authenticator.so

Salva il file e riavvia il servizio SSH come abbiamo visto in precedenza.
$ sudo systemctl restart ssh
E questo ci porta alla fine di questo articolo. Saremo lieti di sapere come è andata.