server SSH: che cos'è l'autenticazione della chiave pubblica più sicura o dell'autenticazione basata su Google Authenticator?

0

Sono curioso che sarebbe più sicuro, autenticazione della chiave di pub o autenticazione a 2 fattori tramite Google Authenticator. Apparentemente non posso usare entrambi. Se ho l'autenticazione con chiave pubblica, il modulo PAM di Auth di Google non mi richiede un codice di verifica. Ma se qualcuno tenta di accedere con una normale password, lo fa. Quindi sembra che sia o-o.

    
posta CaptSaltyJack 24.10.2014 - 03:14
fonte

5 risposte

3

Coppia di chiavi pubbliche. Come hai più controllo sulla sicurezza che vuoi esattamente, su come la usi e su come la metti.

Detto questo, la sicurezza non esiste se non viene utilizzata o utilizzabile. Google Authenticator ha aggiunto una sicurezza rapida e strong per l'utilizzo di casi che in precedenza non ne avevano. La seccatura di gestire e distribuire le tue coppie di chiavi potrebbe finire con il non utilizzarle e ripristinare le password vanilla a un fattore.

    
risposta data 24.10.2014 - 05:53
fonte
3

Dipende, di cosa sei più preoccupato? Qualcuno è in grado di rubare la tua chiave privata o qualcuno che ruba i tuoi semi TOTP? Questo determinerà quale è più probabile che sia compromesso.

In alternativa, se la tua versione di SSHD è abbastanza nuova, puoi utilizzare l'opzione AuthenticationMethods in sshd_config a richiedono entrambi, con qualcosa come publickey,keyboard-interactive:pam . Ciò richiederà sia un pubkey funzionale che lo stack PAM completo.

Un utente malintenzionato che osserva passivamente il traffico non dovrebbe essere in grado di apprendere nulla sul traffico TOTP, in quanto è incapsulato nella connessione SSH e la chiave pubblica SSH è computazionalmente non calcolabile per le lunghezze delle chiavi moderne (ECDSA o RSA > = 2048).

    
risposta data 24.10.2014 - 04:08
fonte
1

Nella maggior parte degli scenari Google Authenticator è più sicuro.

Le due tecniche hanno profili di rischio leggermente diversi e dipendono dalla configurazione del telefono e del laptop. Supponiamo che tu stia seguendo le best practice sulla sicurezza:

  • Sia il laptop che il telefono sono crittografati con una password complessa.
  • I dispositivi dispongono di tutti gli aggiornamenti di sicurezza, il portatile ha firewall e antivirus e il telefono non è jailbroken.
  • Quando accedi, verifica sempre la chiave pubblica del server.

Se segui tutto questo, il tuo maggior rischio è il malware sul laptop. Nonostante le best practice che seguono, il malware spesso può comunque infettare i laptop. Il malware sugli smartphone è possibile, ma meno comune, quindi il tuo telefono è più sicuro del tuo laptop. Ecco perché Google Authenticator è l'opzione più sicura.

L'autenticazione della chiave pubblica presenta alcuni vantaggi. Ad esempio, se ti connetti inavvertitamente a un server malevolo, quel server non può impersonarti. Tuttavia, con Google Authenticator, ricevono il codice e dispongono di 30 secondi per accedere al server reale. Ma se si verifica sempre la chiave pubblica del server, questo non ha importanza.

    
risposta data 24.10.2014 - 11:19
fonte
0

Dipende in gran parte dall'ambiente e dagli utenti con cui stai operando.

Una grande organizzazione IT in cui non ci si può aspettare che gli utenti adottino precauzioni adeguate con una chiave privata? Probabilmente è meglio usare Google Authenticator e le password.

Solo tu e il tuo server personale, in cui la chiave privata non lascia mai la scatola su cui è stata generata, ha una password sicura sulla chiave e sei sicuro della tua capacità di mantenere la scatola sicura, aggiornata, ecc.? In tal caso, l'autenticazione a chiave pubblica (assicurando che si disattiva l'autenticazione della password) potrebbe essere migliore.

Dovrai valutare la situazione, l'ambiente e i tuoi utenti per prendere una decisione informata su ciò che funzionerà per te o per la tua organizzazione.

    
risposta data 24.10.2014 - 11:31
fonte
-1

Che bella domanda per mostrare la debolezza dei segreti condivisi.

Se hai meno di una manciata di server, il modulo pam di google authenticator andrà bene. Tuttavia, poiché si basa su segreti condivisi, ogni server dovrebbe avere il suo segreto e quindi un elenco sul token. Se si utilizza lo stesso segreto tra i server, si rischia un errore catastrofico su tutti i server.

Entrambi soffrono di problemi di sicurezza operativa: come disabiliterai gli utenti e gestirai le chiavi? Inoltre, se prevedi di fornire un'autorizzazione a due fattori per altri servizi, come una VPN, nessuno di questi funzionerà, quindi finirai per avere più soluzioni a due fattori. Ecco un post che ho svolto sui problemi che un'azienda potrebbe avere con google auth per ssh: link

    
risposta data 24.10.2014 - 14:49
fonte

Leggi altre domande sui tag