Quali sono i modi per implementare l'autenticazione a due fattori?

10

Abbiamo dispositivi in grado di generare token. Quindi possiamo usare i token con password per eseguire l'autenticazione a due fattori. Esistono molti modi per implementare tali sistemi per migliorare la sicurezza. Uno dei due che conosco è quello di modificare il client open-ssh, e un altro è quello di sviluppare un modulo PAM (Pluggable authentication module).

Ci sono altri modi? Qual è il metodo migliore per valutare l'implementazione semplice (nota: la complessità dello sviluppo non è preoccupante)? L'autenticazione verrà utilizzata principalmente dal demone ssh del server per autenticare gli utenti per il login.

    
posta Atiq Rahman 15.04.2013 - 08:08
fonte

5 risposte

3

Sto usando IPA (LDAP, Kerberos, SSSD) sin dalle prime versioni 2.x e non potrei essere più felice. Per quanto riguarda 2FA e OpenSSH, ecco lo snippet pertinente di my sshd_config:

AllowGroups ipausers
GSSAPIAuthentication yes
PasswordAuthentication no
PubkeyAuthentication yes
RequiredAuthentications2 publickey,gssapi-with-mic

A partire da OpenSSH-6.2, la patch Red Hat che implementava RequiredAuthentications2 è stata inclusa upstream o superseeded:

  • sshd(8): Added support for multiple required authentication in SSH protocol 2 via an AuthenticationMethods option. This option lists one or more comma-separated lists of authentication method names. Successful completion of all the methods in any list is required for authentication to complete. This allows, for example, requiring a user having to authenticate via public key or GSSAPI before they are offered password authentication.
    
risposta data 15.04.2013 - 16:22
fonte
2

Personalmente, sono sempre stato un grande fan dell'uso di RADIUS per supportare l'autenticazione a due fattori. Non sono sicuro di quale marca di token possiedi, ma penso che gli RSA si integrino molto bene con RADIUS, sebbene non abbia mai configurato personalmente un tale sistema prima d'ora. È uno standard consolidato che dovrebbe anche integrarsi facilmente con qualsiasi server SSH serio.

    
risposta data 15.04.2013 - 15:16
fonte
0

Tradizionalmente parlando ci sono 3 forme di autenticazione

  1. Qualcosa che conosci
  2. Qualcosa che hai
  3. Qualcosa che sei (caratteristiche fisiche)

Quindi, se hai un dispositivo token syn, presumo che stiamo parlando di (2), come quando accedo al server ssh modificato mi invia una frase-pass che inserisco nel mio dispositivo palmare / dispositivo token che si sincronizza con il server centrale e mi porta un OTP. Inserisco questo con la mia password originale per accedere.

La complessità che vedo nella modifica di ssh per autenticare l'utente su due livelli e quindi assicurarsi che non esistano condizioni di competizione.

    
risposta data 15.04.2013 - 18:46
fonte
0

Ci sono molte opzioni per proteggere l'accesso SSH ai tuoi sistemi. Scegliere qualcosa che si basi su un protocollo e un framework di sicurezza standard renderà più facile la gestione e l'espansione.

PAM è una buona opzione. Controlla il nostro servizio, LoginTC. È gratis da provare / usare.

Autenticazione a due fattori con PAM: link .

    
risposta data 09.08.2013 - 17:58
fonte
0

Consiglio vivamente di utilizzare un protocollo di autenticazione di rete standard, in particolare il raggio. Utilizzando il raggio, è possibile integrare la propria directory sia che si utilizzi ldap o AD, sia ancora proxy di una richiesta di autenticazione a un server di autenticazione a due fattori di terze parti. Puoi vedere come farlo con freeradius / openldap qui: link (o su NPS: link ).

Se vuoi vedere come impostare l'autenticazione a due fattori da PAM, Apache, ecc., attraverso il raggio verso la directory e su un server di terze parti, vedi eGuide su auth a due fattori su questa pagina: link (nessun registro).

    
risposta data 15.04.2013 - 19:52
fonte

Leggi altre domande sui tag