Come installare e abilitare l'autenticazione multi-fattore SSH per i sistemi Linux

Come installare e abilitare l'autenticazione multi-fattore SSH per i sistemi Linux
Secure Shell (SSH) è un protocollo popolare utilizzato per l'accesso remoto a server e sistemi Linux. Fornisce una connessione sicura e crittografata che consente agli utenti di gestire e amministrare i loro sistemi in remoto.

Tuttavia, utilizzare solo un nome utente e una password per accedere a SSH può lasciare i sistemi vulnerabili agli attacchi a forza bruta, indovinare la password e altre minacce alla sicurezza. Ecco dove è utile l'autenticazione a più fattori (MFA).

È un ulteriore livello di sicurezza che richiede agli utenti di fornire due o più forme di autenticazione per accedere a un sistema. Richiedendo agli utenti di presentare molteplici fattori, l'MFA può migliorare significativamente la sicurezza dell'accesso SSH.

L'MFA è vitale per i sistemi che gestiscono dati sensibili o riservati in quanto aiutano a prevenire l'accesso non autorizzato e le violazioni dei dati. Implementando MFA, puoi migliorare significativamente la sicurezza del tuo sistema Linux e proteggere meglio i tuoi dati e le tue risorse.

Questo articolo illustra sull'installazione, la configurazione e l'abilitazione di MFA per l'accesso SSH sui sistemi Linux. Descriveremo i passaggi richiesti per impostare un metodo MFA supportato come Google Authenticator o Duo Security e testare l'impostazione per l'accesso SSH.

Preparazione del sistema Linux per MFA

Prima di installare e configurare MFA sul sistema Linux, assicurarsi che il sistema sia aggiornato e abbia i pacchetti necessari installati è cruciale. Aggiorna il sistema utilizzando la seguente utilità:

Sudo Apt Update && sudo apt upgrade -y

Una volta aggiornato il sistema, è necessario installare il pacchetto PAM (MODULE AUTENZIONE PLAGGABLE) che consente MFA per SSH.

Installazione e configurazione di un metodo MFA supportato

Sono disponibili diversi metodi MFA per l'accesso SSH tra cui Google Authenticator, Duo Security e Yubikey. In questa sezione, ci concentreremo sulla configurazione di Google Authenticator che è un metodo MFA ampiamente utilizzato e facile da sedere per SSH.

Ecco i passaggi per installare e configurare Google Authenticator per SSH MFA:

Passaggio 1: crea un nuovo utente

Innanzitutto, è necessario creare un nuovo utente per l'accesso SSH. È possibile creare un nuovo utente eseguendo il seguente codice:

sudo adduser

Sostituire con il nome appropriato dell'utente che si desidera creare.

Passaggio 2: passare al nuovo utente

Quindi, passa al nuovo utente eseguendo il comando seguente:

Su -

Il tuo sistema ti chiederà di inserire la password per il nuovo utente.

Passaggio 3: installa Google Authenticator

Installa Google Authenticator utilizzando questa utilità:

SUDO APT Installa libpam-google-authenticator -y

Di seguito è riportato un output di esempio per il comando precedente:

Questo output mostra il gestore di pacchetti che è "apt", installando il pacchetto "libpam-google-authenticator" e le sue dipendenze che è "libqrencode4". L'opzione -y conferma automaticamente il prompt di installazione. Il risultato mostra anche l'avanzamento del processo di installazione, incluso il download e l'installazione dei pacchetti e qualsiasi spazio su disco aggiuntivo che verrà utilizzato. Infine, mostra che l'installazione e tutti i trigger rilevanti per l'elaborazione post-installazione hanno successo.

Passaggio 4: genera una nuova chiave segreta

Questa utilità ti aiuterà a generare una nuova chiave segreta per l'utente:

Google-Authenticator

Il tuo sistema ti spingerà a rispondere ad alcune domande, incluso quanto segue:

  • Vuoi che i token di autenticazione siano basati sul tempo (y/n)? y
  • Vuoi che aggiorni il tuo “/home/yourusername/.Google_authenticator ”file (y/n)? y
  • Vuoi non consentire più usi dello stesso token di autenticazione? (y/n) y
  • Vuoi abilitare il limite di velocità? (y/n) y

Puoi accettare i valori predefiniti per la maggior parte delle domande. Tuttavia, per la domanda, "Vuoi che aggiorni il tuo “/home //.file google_authenticator "?", Seleziona" Y "per aggiornare il file di configurazione.

La riga di comando precedente genera una nuova chiave segreta per l'utente che viene utilizzata per creare password una tantum per MFA.

Passaggio 5: apri l'app Authenticator sul tuo telefono

Apri l'app Google Authenticator sul tuo smartphone e scansiona il codice QR visualizzato sullo schermo. Questo aggiunge il nuovo utente alla tua app Google Authenticator.

Passaggio 6: modifica il file di configurazione

Modifica il file di configurazione SSH eseguendo il comando seguente:

sudo nano/etc/ssh/sshd_config

Aggiungi la riga seguente alla fine del file:

ChallengeresesAuthentication Sì

Questa linea consente l'autenticazione della risposta sfida per SSH.

Passaggio 7: modifica il file di configurazione PAM

Questo comando modifica il file di configurazione PAM per SSH:

sudo nano /etc /pam.d/sshd

Aggiungi la riga seguente alla fine del file per completare questo passaggio:

AUTH richiesto PAM_GOOGLE_AUTHENTICATOR.COSÌ

Questa utilità consente il modulo di Autenticatore di Google per SSH.

Passaggio 8: salva le modifiche

Salva le modifiche ai file di configurazione e riavvia il servizio SSH utilizzando il comando seguente:

Servizio sudo SSH Riavvia

Questo comando riavvia il servizio SSH con la nuova configurazione.

Quando si accede al tuo sistema Linux utilizzando SSH, ti verrà richiesto una password una tantum generata dall'app Google Authenticator. Immettere la password una tantum per completare il processo di accesso.

Testare la configurazione MFA per l'accesso SSH

Una volta installato e configurato l'MFA per SSH sul sistema Linux, è importante testare la configurazione per assicurarsi che funzioni correttamente. Ecco i passaggi per testare la configurazione MFA per l'accesso SSH:

1. Apri una nuova finestra del terminale e connettiti al sistema Linux utilizzando SSH, come faresti normalmente. Per esempio:

ssh @

Sostituisci il con il nome esatto dell'utente che hai creato in precedenza e il con l'indirizzo IP o il nome host del tuo sistema Linux. In questo caso, usiamo Victoria come nome utente. L'output sembra quello che è nella figura seguente:

In questo esempio, utilizziamo il comando ssh per accedere a una macchina remota con l'indirizzo IP di 192.168.1.100 Come utente, "Victoria". Il comando richiede la conferma dell'autenticità dell'host remoto e quindi chiede la password per l'utente, "Victoria". Una volta autenticato, siamo accolti con il prompt della shell sulla macchina remota, indicando che abbiamo stabilito correttamente una sessione SSH.

2. Immettere la password per l'utente quando richiesto.

3. Dopo aver inserito la password, è necessario richiedere una password una tantum dalla tua app MFA. Apri l'app Google Authenticator sul tuo smartphone e inserisci il codice corrispondente all'utente che hai creato in precedenza.

4. Se la password una tantum è corretta, dovresti essere effettuato al sistema Linux. Se la password non è corretta, ti verrà richiesto di inserire un altro codice dall'app MFA.

5. Dopo aver effettuato l'accesso correttamente, puoi verificare che l'MFA funzioni correttamente controllando i registri SSH. Esegui questa utilità per visualizzare i registri:

Sudo Tail -f/var/log/auth.tronco d'albero

Il comando precedente visualizza i registri di autenticazione SSH in tempo reale.

Cerca una riga nel registro che dice "Accettato PublicKey per" seguito da "accettata tastiera-interattiva/PAM per".

17 aprile 10:45:24 Server SSHD [2998]: accettato PublicKey per Victoria da 192.168.0.2 porta 57362 SSH2: RSA Sha256: XXXXXXXXXXXXXXXXXXXX
17 aprile 10:45:27 Server SSHD [2998]: accettata tastiera-interattiva/PAM per Victoria da 192.168.0.2 porta 57362 SSH2

Per esempio:

Le prime due righe mostrano che l'utente "Victoria" è autenticato con successo tramite una chiave pubblica e metodi di tastiera interattiva dall'indirizzo IP di 192.168.0.2.

Se tutto funziona correttamente, è possibile accedere al sistema Linux utilizzando SSH con MFA abilitato.

Conclusione

L'implementazione dell'autenticazione a più fattori (MFA) per l'accesso SSH sul sistema Linux può migliorare significativamente la sicurezza del sistema aggiungendo un ulteriore livello di autenticazione. Richiedendo agli utenti di fornire una password una tantum Oltre alla loro password normale, MFA rende molto più difficile per gli aggressori accedere al sistema.