Come abilitare l'autenticazione a due fattori per SSH in Fedora Linux

Come abilitare l'autenticazione a due fattori per SSH in Fedora Linux

Nel mondo della tecnologia dell'informazione, la sicurezza è una delle principali preoccupazioni in questi giorni. Ogni giorno vengono lanciati attacchi nuovi e sofisticati contro le organizzazioni. Gli amministratori di sistema utilizzano modi diversi per indurire la sicurezza dei loro server. Uno dei modi comuni per interagire con un server è l'utilizzo di SSH (o Secure SHell) protocollo ampiamente utilizzato per la registrazione remota a un server. Oltre agli accessi di shell remoti, viene anche utilizzato per la copia di file tra due computer. A differenza di altri metodi come Telnet, RCP, FTP, ecc., Il protocollo SSH utilizza un meccanismo di crittografia per proteggere la comunicazione tra due host.

La sicurezza fornita dal protocollo SSH può essere ulteriormente migliorata utilizzando l'autenticazione a due fattori. Questo metterà inoltre un muro forte tra il tuo computer ospite e gli aggressori. Per connettersi al server remoto con SSH, avrai bisogno di una password e di un codice di verifica (o OTP) da un'applicazione di autenticatore in esecuzione sul tuo dispositivo mobile. Questo è davvero utile se un utente malintenzionato ruba la tua password, non sarà in grado di accedere al tuo server senza il codice di verifica.

Ci sono molte applicazioni di autenticatore disponibili per dispositivi mobili che eseguono Android o Apple iOS. Questa guida ha utilizzato l'applicazione di Google Authenticator sia per il server Fedora che per il dispositivo mobile.

Cosa copriremo

Questa guida vedrà come possiamo utilizzare l'autenticazione a due fattori con il protocollo SSH per impedire l'accesso non autorizzato alla nostra workstation Fedora 30. Proveremo ad accedere al nostro server Fedora dal macchina client Xubuntu per vedere se l'installazione funziona come previsto. Iniziamo a configurare SSH con autenticazione a due fattori.

Prerequisiti

  1. Un sistema operativo Fedora 30 installato sul server remoto con un account utente "sudo".
  2. Una macchina Xubuntu per accedere al server sopra.
  3. Un dispositivo mobile con un'applicazione di Google-Authenticator installata su di esso.

Panoramica di configurazione

  1. Macchina Fedora 30 con IP: 192.168.43.92
  2. Xubuntu Machine con IP: 192.168.43.71
  3. Dispositivo mobile con applicazione Google-Authenticator.

Passo 1. Installa Google-Autenticatore sul server Fedora 30 utilizzando il comando:

$ sudo dnf install -y google -autenticatore

Passo 2. Esegui il comando seguente per avviare Google-Authenticator sul tuo server:

$ Google-Auhenticator

Farà alcune domande per configurare il server per lavorare con il tuo dispositivo mobile:

Vuoi che i token di autenticazione siano basati sul tempo (y/n) y [Enter 'y' qui]

Verrà visualizzato un codice QR sulla finestra del terminale; Mantieni aperta questa finestra del terminale per ora.

Passaggio 3. Installa l'app Google-Authenticator sul tuo dispositivo mobile e aprila. Ora fai clic sull'opzione 'Scansiona un codice QR.'Ora concentra la tua fotocamera mobile sulla scansione del codice QR sulla finestra terminale del server.

Passaggio 4. Dopo aver scansionato il codice QR, il dispositivo mobile aggiungerà un account per il tuo server e genererà un codice casuale che continuerà a cambiare con un timer rotante, come mostrato nell'immagine seguente:

Passaggio 5. Ora torna alla finestra del terminale del server e inserisci qui il codice di verifica dal tuo dispositivo mobile. Una volta confermato il codice, genererà un set di codice scratch. Questi codici graffiati possono essere utilizzati per accedere al tuo server nel caso in cui perdi il tuo dispositivo mobile. Quindi, salvali in un posto sicuro.

Passaggio 6. Nei ulteriori passaggi, farà alcune domande per completare la configurazione. Abbiamo dato di seguito l'insieme di domande e le loro risposte per configurare la configurazione. Puoi cambiare quelle risposte secondo le tue esigenze:

Vuoi che aggiorni il tuo "/home/linuxhint/.file google_authenticator "? (y/n) y [Immettere 'y' qui]
Vuoi non consentire più usi dello stesso token di autenticazione? Questo ti limita a un accesso circa ogni 30 anni, ma aumenta le tue possibilità di notare o addirittura prevenire gli attacchi man-in-the-middle (y/n) y [Enter 'y' qui]
Per impostazione predefinita, un nuovo token viene generato ogni 30 secondi dall'app mobile.Per compensare il possibile distorsione a tempo tra il client e il server, consentiamo un token extra prima e dopo l'ora corrente. Ciò consente un tempo inclinabile fino a 30 secondi tra il server di autenticazione e il client. Se si riscontrano problemi con scarsa sincronizzazione del tempo, è possibile aumentare la finestra dalla dimensione predefinita di 3 codici consentiti (un codice precedente, il codice corrente, il codice successivo) a 17 codici consentiti (8 codici precedenti, il codice corrente e gli 8 codici successivi). Ciò consentirà per un po 'di inclinazione di un massimo di 4 minuti tra client e server. Vuoi farlo? (y/n) y [Immettere 'y' qui]
Se il computer in cui stai accedendo non è indurito dai tentativi di accesso alla forza bruta, è possibile abilitare il limite della velocità per il modulo di autenticazione. Per impostazione predefinita, questo limita gli aggressori a non più di 3 tentativi di accesso ogni 30 anni. Vuoi abilitare il limite di velocità? (y/n) y [Immettere 'y' qui]

Passaggio 7. Ora apri il file sshd_config con qualsiasi editor

$ sudo vi/etc/ssh/sshd_config

e fare i seguenti passaggi:

  1. Rompere e impostare il Passwordautenticazione a sì.
  2. Rompere e impostare il ChallengeresesAuthentication a sì.
  3. Rompere e impostare il Usepam a sì.

Salva e chiudi il file.

Passaggio 8. Quindi, apri il /etc /pam.file d/sshd

$ sudo vi /etc /pam.d/sshd

e aggiungere le seguenti righe sotto la linea 'AUTH AUTH SFURPONDACK PASMERS AUTH:

AUTH richiesto PAM_GOOGLE_AUTHENTICATOR.COSÌ

Passaggio 9. Avvia e abilita il servizio SSH sul server Fedora con il comando:

$ sudo systemctl avvia sshd
$ sudo systemctl abilita sshd

Tutti i passaggi per la configurazione del server sono ora eseguiti. Ora ci sposteremo sulla nostra macchina client, io.e., Xubuntu, nel nostro caso.

Passaggio 10. Ora prova ad accedere con SSH dalla macchina Xubuntu al server Fedora 30:

$ ssh [email protected]

Come puoi vedere, SSH chiede innanzitutto la password del server e quindi un codice di verifica dal tuo dispositivo mobile. Dopo aver inserito correttamente il codice di verifica, è possibile accedere al server Fedora remoto.

Conclusione

Congratulazioni, abbiamo configurato con successo l'accesso SSH con autenticazione a due fattori su Fedora 30 OS. È possibile configurare ulteriormente SSH per utilizzare solo un codice di verifica da accedere senza la password del server remoto.