Se ritieni che l'autenticazione basata su password e a due fattori non sia affidabile, prendi in considerazione l'impostazione dell'autenticazione basata su hardware su Linux utilizzando YubiKey.
Non sei solo se ti preoccupi della minaccia sempre crescente dell'hacking. Mentre le richieste di autenticazione e 2FA sono sufficienti per allontanare la maggior parte degli aspiranti hacker, migliaia di violazioni riescono ancora ogni giorno.
Una delle soluzioni più comunemente propagandate al problema dell'autenticazione è YubiKey. Ma cos'è YubiKey e come funziona l'autenticazione hardware? Puoi proteggere il tuo PC Linux con YubiKey?
Perché utilizzare YubiKey per l'autenticazione hardware?
Esistono molti tipi diversi di autenticazione, incluse password, autenticazione SMS e persino app di autenticazione che puoi usare con il tuo telefono. Un tipo meno comune è l'autenticazione hardware, che prevede l'utilizzo di un piccolo dispositivo plug-in per inviare un token di autenticazione quando richiesto.
YubiKeys e altri dispositivi di autenticazione hardware presentano alcuni vantaggi rispetto ad altri autenticatori. Sono più facili da usare, molto più sicure e quasi impossibili da compromettere senza l'accesso alla stessa YubiKey fisica.
Iniziare con Yubikey
Puoi iniziare con YubiKey in pochi semplici passi. Come primo passo, dovresti usare il quiz fatto da Yubico per acquistare la migliore YubiKey per le specifiche del tuo dispositivo. Una volta che hai la tua YubiKey a portata di mano, puoi usarla come dispositivo di autenticazione per siti Web e app.
Puoi persino usarlo per autenticare sudo e SSH sul tuo computer Linux. Spiegheremo tutto ciò che devi sapere sulla scelta di una YubiKey compatibile con sudo/SSH e sulla sua configurazione per l'autenticazione.
Scegliere la giusta YubiKey per il tuo sistema
Se desideri utilizzare la tua YubiKey per l'autenticazione sul tuo computer Linux, ci sono alcune YubiKey che si distinguono come opzioni superiori. YubiKey 5 e YubiKey 5 NFC sono entrambi classici che funzionano bene rispettivamente con i sistemi con USB-A e USB-C.
Se desideri utilizzare la tua YubiKey con il tuo computer Linux e il tuo telefono Android, dovresti prendere in considerazione una YubiKey 5c NFC. Se hai un computer Linux e un iPhone, dovresti prendere in considerazione una YubiKey 5ci perché supporta USB-C e Lightning.
È importante notare che la serie YubiHSM non è compatibile con l'autenticazione sudo. Le YubiKey legacy possono o meno essere compatibili con l'autenticazione sudo/SSH a seconda delle loro caratteristiche specifiche.
Prima di iniziare con l'autenticazione sudo o SSH, è necessario installare YubiKey PPA. Apri il terminale e inserisci i seguenti comandi per aggiornare i tuoi pacchetti e installare YubiKey Authenticator e YubiKey Manager:
sudo add-apt-repository ppa: yubico/stable
sudo apt-get update
sudo apt install yubikey-manager libpam-yubico libpam-u2f
Successivamente, dovrai verificare che il tuo sistema sia pronto per funzionare con la tua YubiKey. Esegui il seguente comando nel terminale per controllare la tua versione di udev:
sudo udevadm --versione
Il terminale restituirà un numero. Se il numero è 244 o superiore, il tuo sistema è compatibile con YubiKey. Puoi saltare il passaggio successivo in questo caso.
Altrimenti, dovrai configurare il tuo sistema. Dovresti usare i seguenti comandi per verificare se udev è installato sul tuo computer e per installarlo se non lo è:
dpkg -s libu2f-udev
sudo apt installa libu2f-udev
Successivamente, controlla se l'interfaccia U2F di YubiKey è sbloccata. Se hai una YubiKey NEO o una YubiKey NEO-n, inserisci la tua YubiKey, apri YubiKey Manager e vai a Interfacce. Abilita il Interfaccia U2F e premere Salva.
Configura YubiKey per l'autenticazione sudo su Linux
sudo è uno dei comandi più pericolosi nell'ambiente Linux. Nelle mani giuste, fornisce un livello di accesso impressionante che è sufficiente per portare a termine la maggior parte dei lavori. Nelle mani sbagliate, l'accesso a livello di root fornito da sudo può consentire a utenti malintenzionati di sfruttare o distruggere un sistema.
Le YubiKey sono eccellenti per l'autenticazione sudo perché la loro autenticazione è quasi impossibile da replicare senza l'accesso alla stessa YubiKey. La maggior parte delle chiavi YubiKey è compatibile con l'autenticazione sudo, incluse le serie 5 FIP, le serie Key, le serie 4 FIP, le serie Bio, le serie 5 e le serie 4.
Secondo Yubico, il primo passaggio da eseguire per configurare l'autenticazione sudo è la creazione di un file di regole. Se la tua versione di udev è 188 o superiore, installa le nuove regole U2F da Git Hub e copia il 70-u2f.regole archiviare in /etc/udev/rules.d.
Se la tua versione di udev è inferiore alla 188, installa le regole U2F legacy da Git Hub e copia il 70-old-u2f.rules archiviare in /etc/udev/rules.d.
Se la tua versione di udev è 244 o successiva o hai creato i file delle regole necessari, sei pronto per collegare la tua YubiKey al tuo account.
Inserisci la YubiKey nel tuo computer, apri il terminale e inserisci i seguenti comandi per collegare la tua YubiKey al tuo account:
mkdir -p ~/.config/Yubicopamu2fcfg > ~/.config/Yubico/u2f_keys
Attendi alcuni istanti fino a quando la spia sulla tua YubiKey inizia a lampeggiare. Tocca il pulsante sulla tua YubiKey per confermare il collegamento del dispositivo.
Se hai un'altra YubiKey a portata di mano, dovresti aggiungerla come dispositivo di backup inserendo il seguente comando e completando la stessa procedura:
pamu2fcfg -n >> ~/.config/Yubico/u2f_keys
Infine, dovrai configurare il comando sudo per richiedere l'autenticazione YubiKey. Dovresti iniziare inserendo il seguente comando per aprire il file di configurazione sudo:
sudo vi /etc/pam.d/sudo
Una volta aperto il file di configurazione, incolla la seguente riga appena sotto il file @include common-auth linea per configurare sudo per richiedere l'autenticazione YubiKey:
autenticazione richiesta pam_u2f.so
Salvare ed uscire dal file premendo Fuga, digitando :wq, e premendo accedere, ma tieni aperto il terminale. Non sarai in grado di annullare le modifiche apportate all'autenticazione sudo se il terminale si chiude.
Apri un secondo terminale ed esegui il seguente comando con la tua YubiKey scollegata, quindi inserisci la tua password:
sudo echo test
Il processo di autenticazione fallirà. Inserisci la tua YubiKey e reinserisci il comando e la tua password. Quando la spia YubiKey inizia a lampeggiare, tocca il pulsante sulla tua YubiKey. Dovrebbe autenticare il comando. In tal caso, la tua YubiKey è completamente configurata per l'autenticazione sudo.
Come configurare YubiKey per l'autenticazione SSH
Puoi usare la tua YubiKey anche per l'autenticazione SSH! Diverse serie YubiKey sono compatibili con SSH, incluse le serie 5 FIPS, 5, 4 FIPS e 4. L'uso di YubiKey per autenticare le tue connessioni ti consentirà di farlo rendere ogni accesso SSH molto più sicuro.
Il metodo migliore per configurare YubiKey è stato delineato da un utente esperto su Git Hub. Avrai bisogno di SSH 8.2 o successivo e di una YubiKey con firmware 5.2.3 o successivo. Puoi controllare la tua versione di OpenSSH, e aggiornarla se necessario, con i seguenti comandi:
ssh -V
sudo apt update && sudo apt upgrade
Successivamente, dovrai configurare SSH per accettare la tua YubiKey. Immettere il seguente comando a apri l'editor vi e modifica il file di configurazione:
sudo vi /etc/ssh/sshd_config
Aggiungi la seguente riga al file di configurazione in modo che la tua YubiKey venga accettata:
PubkeyAcceptedKeyTypes [email protected], [email protected]
Salvare ed uscire dal file premendo Fuga, digitando :wq, e colpire accedere. Infine, riavvia il servizio SSH con il seguente comando in modo che la tua nuova configurazione diventi attiva:
sudo service ssh restart
Infine, sei pronto per creare la coppia di chiavi che utilizzerai per l'autenticazione SSH. Passare alla directory SSH e creare la nuova chiave SSH con i seguenti comandi:
cd home/nomeutente/.ssh
ssh-keygen -t ed25519-sk
Verranno creati due file nel formato ~/.ssh/ directory. Si noti che potrebbe essere necessario utilizzare ecdsa-sk invece di ed25519-sk se il tuo sistema è incompatibile e il terminale avvisa che la registrazione della chiave non è riuscita.
Successivamente, dovrai aggiungere la chiave pubblica al tuo server con il seguente comando:
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub nomeutente@server
Dovresti anche aggiungerti al file sudoers in modo da mantenere le autorizzazioni dopo aver disabilitato l'accesso root. Accedi al file e aprilo con visudo.
Non aprire il file sudoers con un normale editor di testo.
Sotto la riga che legge radice TUTTI=(TUTTI: TUTTI) TUTTI, aggiungi la seguente riga:
nome utente ALL=(TUTTI: TUTTI) TUTTI
Apri il /etc/ssh/ssd_config file e aggiungi le seguenti righe per disabilitare l'accesso root e l'accesso basato su password:
ChallengeResponseAuthentication noPermitRootLogin no
Infine, inserisci il seguente comando per caricare la tua chiave nel tuo agente SSH per la durata della sessione:
ssh-add ~/.ssh/id_ed25519_sk
Ora puoi usare la tua YubiKey per l'autenticazione SSH. Dovrai inserire la tua YubiKey nel computer quando richiesto e toccare il pulsante quando l'indicatore lampeggia. Con questo nuovo metodo di autenticazione, l'accesso SSH al tuo server remoto sarà notevolmente più sicuro.
Altri potenziali usi di YubiKey
Non c'è alcun limite reale a come puoi usare YubiKey sul tuo sistema Linux. Se vuoi rendere il tuo PC estremamente sicuro, prendi in considerazione l'utilizzo della tua YubiKey per la crittografia del disco o senza password. Puoi persino usarlo per firmare e-mail e file, se lo desideri.
Proteggi il tuo sistema Linux con YubiKey
Non devi fermarti a usare solo la tua YubiKey per l'autenticazione SSH e sudo. Puoi anche utilizzare la tua YubiKey per autenticare l'accesso a molti dei tuoi account sul Web. La parte migliore è che iniziare con YubiKey 2FA è un processo semplice.