ssh

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 nuovi e sofisticati attacchi contro le organizzazioni. Gli amministratori di sistema utilizzano diversi modi per rafforzare la sicurezza dei propri server. Uno dei modi più comuni per interagire con un server è l'utilizzo di SSH (o Ssicuro SHell) protocollo ampiamente utilizzato per la registrazione remota su un server. Oltre agli accessi alla shell remota, viene utilizzato anche per copiare 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. Ciò creerà ulteriormente un forte muro tra il computer host e gli aggressori. Per connetterti al tuo server remoto con SSH, avrai bisogno di una password e di un codice di verifica (o OTP) da un'applicazione di autenticazione 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.

Sono disponibili molte applicazioni di autenticazione per dispositivi mobili con Android o Apple IOS. Questa guida ha utilizzato l'applicazione Google Authenticator sia per il server Fedora che per il dispositivo mobile.

Cosa tratteremo

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. Cercheremo di accedere al nostro server Fedora dalla macchina client Xubuntu per vedere se l'installazione funziona come previsto. Iniziamo a configurare SSH con l'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 su cui è installata un'applicazione Google-Authenticator.

Panoramica della configurazione

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

Passo 1. Installa Google-Authenticator sul server Fedora 30 usando il comando:

$ sudo dnf install -y google-authenticator

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

$ google-autenticatore

Verranno poste alcune domande per configurare il server in modo che funzioni con il tuo dispositivo mobile:

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

Visualizzerà un codice QR sulla finestra del terminale; tieni 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 del terminale del tuo server.

Passaggio 4. Dopo aver scansionato il codice QR, il tuo 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 qui sotto:

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

Passaggio 6. Nei passaggi successivi, verranno poste alcune domande per completare la configurazione. Di seguito abbiamo fornito la serie di domande e le relative risposte per configurare il setup. Puoi modificare queste risposte secondo le tue necessità:

Vuoi che aggiorni il tuo "/home/linuxhint/.google_authenticator" file? (s/n) s   [Inserisci 'y' qui]
Vuoi non consentire più utilizzi dello stesso token di autenticazione?? Questo ti limita a un accesso ogni 30 secondi circa, ma aumenta le tue possibilità di notare o addirittura prevenire attacchi man-in-the-middle (s/n) y   [Inserisci 'y' qui]
Per impostazione predefinita, l'app mobile genera un nuovo token ogni 30 secondi.Per compensare il possibile sfasamento temporale tra il client e il server, consentiamo un token aggiuntivo prima e dopo l'ora corrente. Ciò consente uno sfasamento temporale fino a 30 secondi tra il server di autenticazione e il client. Se si verificano problemi con una scarsa sincronizzazione dell'ora, è possibile aumentare la finestra dalla dimensione predefinita di 3 codici consentiti (un codice precedente, il codice corrente, il codice successivo) a 17 codici consentiti (gli 8 codici precedenti, il codice corrente e gli 8 codici successivi). Ciò consentirà uno sfasamento temporale fino a 4 minuti tra client e server. Vuoi farlo?? (s/n) s   [Inserisci 'y' qui]
Se il computer a cui stai effettuando l'accesso non è protetto contro i tentativi di accesso a forza bruta, puoi abilitare la limitazione della velocità per il modulo di autenticazione. Per impostazione predefinita, questo limita gli aggressori a non più di 3 tentativi di accesso ogni 30 secondi. Vuoi abilitare la limitazione della velocità?? (s/n) s   [Inserisci 'y' qui]

Passaggio 7. Ora apri il file sshd_config con qualsiasi editor

$ sudo vi /etc/ssh/sshd_config

ed eseguire i seguenti passaggi:

  1. Decommenta e imposta il Autenticazione password a sì.
  2. Decommenta e imposta il SfidaRispostaAutenticazione a sì.
  3. Decommenta e imposta il Usa PAM a sì.

Salva e chiudi il file.

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

$ sudo vi /etc/pam.d/sshd

e aggiungi le seguenti righe sotto la riga 'auth substack password auth:

auth richiesto pam_google_authenticator.così

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

$ sudo systemctl start sshd
$ sudo systemctl abilita sshd

Tutti i passaggi per la configurazione del server sono ora completati. Passiamo ora alla nostra macchina client, i.e., Xubuntu, nel nostro caso.

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

$ ssh [e-mail protetta]

Come puoi vedere, SSH richiede prima la password del server e poi un codice di verifica dal tuo dispositivo mobile. Dopo aver inserito correttamente il codice di verifica, puoi accedere al server Fedora remoto.

Conclusione

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

Porte open source di motori di gioco commerciali
Ricreazioni del motore di gioco gratuite, open source e multipiattaforma possono essere utilizzate per riprodurre titoli di giochi vecchi e abbastanza...
I migliori giochi da riga di comando per Linux
La riga di comando non è solo il tuo più grande alleato quando usi Linux, ma può anche essere una fonte di intrattenimento perché puoi usarla per gioc...
Le migliori app di mappatura del gamepad per Linux
Se ti piace giocare su Linux con un gamepad invece di un tipico sistema di input di tastiera e mouse, ci sono alcune app utili per te. Molti giochi pe...