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
- Un sistema operativo Fedora 30 installato sul server remoto con un account utente "sudo".
- Una macchina Xubuntu per accedere al server sopra.
- Un dispositivo mobile su cui è installata un'applicazione Google-Authenticator.
Panoramica della configurazione
- Macchina Fedora 30 con IP: 192.168.43.92
- Macchina Xubuntu con IP: 192.168.43.71
- 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-autenticatoreVerranno 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_configed eseguire i seguenti passaggi:
- Decommenta e imposta il Autenticazione password a sì.
- Decommenta e imposta il SfidaRispostaAutenticazione a sì.
- 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/sshde 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.