SSH: usi una coppia di chiavi privata / pubblica per ogni macchina remota? O una sola coppia per tutti?


23

Quando si desidera disporre di accessi SSH basati su chiave pubblica per più macchine, si utilizza una chiave privata e si inserisce la stessa chiave pubblica su tutte le macchine? O hai una coppia di chiavi privata / pubblica per ogni connessione?


@Jim Zajkowski: non sono sicuro di come rispondere al tuo commento, ma questo è per te. I jump box consentono l'accesso controllato ai server di fronte a Internet che si trovano in una DMZ (dietro un firewall). Supponi di avere "server_a" e "server_b". A è nella rete e B è all'esterno della rete. I clienti esterni si connettono a B. Il traffico che va da A a B deve essere controllato e viceversa. Quindi aggiungi una jump box con due schede di rete. Uno che lo collega alla rete interna (A) e uno che lo collega alla rete esterna (B). Quindi da A vai alla casella di salto e poi a B. Uno dei vantaggi di

@IMTheNachoMan - Ho convertito la tua risposta in un commento, anche se il posto migliore per farlo sarebbe come un commento direttamente all'interno della risposta che contiene il commento a cui stai rispondendo (che mi ha fatto girare la testa). Se hai domande, passa a meta e chiedi via. Grazie per il chiarimento a prescindere.
Kara Marfia,

Risposte:


27

Uso una chiave per set di sistemi che condividono un confine amministrativo comune. Ciò limita il numero di macchine che vengono espulse se una chiave viene compromessa, pur non compromettendo completamente la mia capacità di memorizzare e gestire diverse migliaia di chiavi. Passphrase differenti su ogni chiave significano che anche se tutte le tue chiavi private vengono rubate e una chiave è compromessa, il resto non va in bagno con essa. Inoltre, se fai qualcosa di stupido (come copiare una chiave privata su una macchina non fidata), di nuovo non devi ricomporre tutto, solo le macchine associate a quella chiave.


4

La chiave pubblica non ha molta importanza, poiché, per definizione, può essere pubblicizzata. Quindi l'unico problema è la privacy delle tue chiavi private. Sono sulla tua macchina e tutti insieme, quindi se uno è compromesso, è probabile che saranno tutti compromessi. Pertanto, più coppie di chiavi sono solo più lavoro per lo stesso effetto.

L'unica volta che userei chiavi diverse è per account o ruoli diversi, che per definizione non dovrebbero avere una sovrapposizione completa nell'accesso.


2

Se ho capito bene, ogni server avrà la sua chiave pubblica.

Per un determinato utente , è possibile generare una chiave e utilizzarla ovunque, purché la chiave privata venga replicata su tutti gli host di avvio. (Ciò avverrebbe automaticamente tramite home directory montate in rete e un sistema di autenticazione basato su directory come OpenLDAP poiché l'utente sarà sempre "lo stesso" indipendentemente dalla workstation da cui effettuano l'accesso.)

Al di fuori di un sistema utente basato su directory, penso che sia una cattiva idea ™ utilizzare le stesse chiavi ovunque: si finisce con una riduzione netta della sicurezza del sistema, poiché chiunque può ottenere una chiave da una qualsiasi delle workstation può quindi autenticarsi come quell'utente al server remoto.

Un'altra alternativa, adottata da diverse grandi aziende (e sono sicuro anche quelle di piccole dimensioni) è quella di non consentire mai a un "utente" di utilizzare chiavi pre-condivise, ma piuttosto di accedere a una casella "jump" o "hub" , suall'utente di connessione appropriato, quindi SSH da lì ai server che devono gestire.

Inoltre, se si utilizza un sistema di gestione come la piattaforma HP Automation Server, l'amministrazione remota dei server gestiti diventa un processo più semplificato.


1
Tutti dovrebbero mantenere le loro chiavi crittografate. Puoi spiegare i vantaggi di sicurezza della "jump box", perché non la vedo.
Jim Zajkowski il

come implementato in diverse banche a cui sono stato esposto, e altrove, l'idea alla base di una "jump box" è che non è possibile accedere ai server in una DMZ o in una sottorete ecc. con l'utente "normale". Ti connetti alla jump box, quindi in un modulo registrato, su all'utente di gestione per connettersi all'altra rete.
Warren,

2
Vantaggio di sicurezza == 0, in altre parole.
womble

@womble - forse è corretto. Ma è quello che fanno molte aziende paranoiche. Poiché la susessione è registrata, tuttavia, è verificabile.
Warren,

1
perché solo le susessioni sono controllabili e non le altre?
João Portela,

1

Come altri hanno già detto, anche se l'idea di più coppie di chiavi può sembrare più sicura, se esiste la possibilità che vengano utilizzate in modo tale da trovarsi tutte nello stesso posto, è solo più seccante e non più sicura. Le passphrase multiple lo renderebbero più sicuro ma anche un grosso mal di testa cercando di ricordare quale passphrase va con quale chiave e quale chiave va con quale server.

La risposta più ragionevole per me sarebbe quella in cui mi è stato suggerito di farlo SOLO se comporta ruoli amministrativi separati senza troppe sovrapposizioni. Tale che potrebbero essere persone diverse che gestiscono ruoli diversi, o su diverse stazioni di lavoro o altro. In quel caso hai comunque cose più singolari da affrontare per ogni ruolo diverso, quindi è più giustificabile.


0

Per semplificare la gestione di più server compatibili con SSH, è possibile provare cssh . È possibile combinare cssh con chiavi SSH passphrased per migliorare notevolmente la capacità di gestire più server contemporaneamente.


2
Come riesci a ottenere "bug pazzi" in un ciclo glorificato per?
womble

Qualcosa su questo sembra molto mortale ... Se commetti un errore, rovini tutti i tuoi server contemporaneamente invece di uno solo!
Nick,

@Nick - vero, ma è quasi sempre il caso quando sono responsabile della scatola =) @womble - eh? a quali "bug pazzi" ti riferisci?
Greeblesnort,

1
Nella parte superiore della pagina del progetto è stato collegato: "NOTA: tornerò su questo progetto molto presto in modo da poter correggere i pazzi bug in esso". Il fatto che l'avviso sia ancora lì due anni dopo non aumenta ulteriormente la mia fiducia in esso.
Womble
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.