Raspberry: abilitare la 2FA per collegarsi in SSH

| |

Una di quelle belle novità documentate in maniera assolutamente semplice e immediata, pubblicata sul blog ufficiale di Raspberry (raspberrypi.org/blog/setting-up-two-factor-authentication-on-your-raspberry-pi). Abilitiamo insieme l’autenticazione a due fattori su Raspberry Pi ripercorrendo ciò che ho fatto sul mio piccolo RPi3b+, l’area commenti è a tua totale disposizione per ogni dubbio in merito a questo articolo.

2FA su Raspberry Pi

Prima di partire mi tocca mettere il solito messaggio promozional-farmaceutico per evitare brutti scherzi o lamentele postume:

Raspberry: abilitare la 2FA per collegarsi in SSH 1Attenzione:
Prima di partire, il solito consiglio: occhio sempre a quello che tocchi e che rimuovi, effettua dei backup del tuo sistema per sicurezza. Potrai così tornare indietro in caso di problemi.

Ci siamo. Collegati via SSH al tuo RPi e inizia aggiornando il Sistema Operativo e i pacchetti attualmente installati a bordo, ti basterà lanciare due comandi:

sudo apt-get update
sudo apt-get full-upgrade

Il tempo impiegato dipende dallo stato di aggiornamento del tuo RPi (più è indietro e più dovrà scaricare e installare dati), dalla velocità della linea Internet e della scheda SD che monti, porta pazienza, potrebbe volerci un po’ (nota a margine: tieni il tuo sistema aggiornato, falla diventare un’operazione di routine).

Raspberry: abilitare la 2FA per collegarsi in SSH

Al termine lancia un sudo nano /etc/ssh/sshd_config per modificare il file di configurazione del servizio SSH, cerca la voce ChallengeResponseAuthentication e modificala portandola da no (impostazione predefinita) a yes. Ricorda di salvare il file in uscita (combinazione CTRL + X da tastiera e Y per confermare il salvataggio delle modifiche, un colpo di invio come ultima conferma e il gioco è fatto).

Raspberry: abilitare la 2FA per collegarsi in SSH 3

Lancia ora un sudo systemctl restart ssh per riavviare il demone SSH e procedi con l’installazione del pacchetto Google Authenticator (non ti preoccupare, non si parla ancora dell’applicazione che sei solito usare sul tuo smartphone, quella è altra cosa, il pacchetto serve per generare un QR e codici di backup seguendo lo standard TOTP), il comando da eseguire è sudo apt install libpam-google-authenticator:

Raspberry: abilitare la 2FA per collegarsi in SSH 2

Sei pronto a generare il primo codice di accoppiamento con l’applicazione che preferisci su smartphone, io come al solito ho aperto Authy e ho chiesto al software di aggiungere un nuovo codice di autenticazione a due fattori. Nel frattempo sul Terminale collegato in SSH al mio Raspberry ho eseguito il comando google-authenticator. Occhio: non serve lanciarlo con sudo davanti, deve lanciarlo proprio l’utente pi collegato in SSH al Raspberry Pi. Il risultato si presenterà davanti ai tuoi occhi, dovrai allargare la finestra di Terminale per poter catturare l’intero codice QR generato. Sotto di lui ti verranno generate e proposti la chiave segreta, il codice di verifica e alcuni codici di backup da usare in caso di emergenza, prendi nota di tutto nel tuo Password Manager preferito e non proseguire fino a quando non lo avrai fatto.

Aggiunto il codice alla tua applicazione di generazione codici 2FA preferita potrai rispondere alle domande che ti verranno poste dalla libreria di Google Authenticator: rispondi “Y” al disallow multiple uses of the same authentication token, “N” all’increasing the time skew window e “Y” al rate limiting in order to protect against brute-force attacks. Avrai così terminato la configurazione di Google Authenticator su RPi:

Ci sei quasi. Ora bisogna andare a modificare il Linux Pluggable Authentication Modules (PAM) che gestisce il supporto per l’autenticazione dinamica per applicazioni e servizi, SSH compreso. Lancia un sudo nano /etc/pam.d/sshd e aggiungi la riga che richiama l’autenticazione a due fattori subito dopo aver passato con successo quella standard fatta dalla solita password dell’utente pi. Copia e incolla quindi auth required pam_google_authenticator.so subito sotto la common-auth, ti mostro come ho fatto nell’immagine qui di seguito (guarda la freccia bianca che indica il pezzo che ho inserito in più rispetto a quello predefinito di Raspbian):

Raspberry: abilitare la 2FA per collegarsi in SSH 6

Salva le modifiche al file, riavvia il demone SSH con un sudo systemctl restart ssh e prova ad uscire e rientrare dalla tua sessione SSH. Inserisci la password del tuo account pi e subito dopo dovresti finalmente arrivare alla richiesta del codice di autenticazione a due fattori che potrai recuperare dal tuo smartphone e che varia ogni 30 secondi, hai finito!

Raspberry: abilitare la 2FA per collegarsi in SSH 7

Goditi ora l’autenticazione a due fattori anche sul tuo Raspberry Pi!

#StaySafe

L'articolo potrebbe non essere aggiornato

Raspberry: abilitare la 2FA per collegarsi in SSH 4

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato.
Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

Gioxx's Wall

Se hai correzioni o suggerimenti puoi lasciare un commento nell'apposita area qui di seguito o contattarmi privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! Satispay / PayPal / Buy Me A Coffee / Patreon

Condividi l'articolo con i tuoi contatti: