Buone pratiche per utilizzare la stessa coppia di chiavi SSH su più macchine?


12

Recentemente ho trovato un nuovo laptop per lavoro e mi chiedevo se sarebbe buona prassi continuare a utilizzare la stessa coppia di chiavi RSA che sto usando sul mio vecchio laptop da lavoro. Mi piacerebbe davvero non dover creare un'altra coppia di chiavi per tenere traccia di.

È, in generale, una pratica accettabile? Poiché la coppia di chiavi ha una passphrase, dovrebbe essere abbastanza sicura, purché le mie macchine fisiche siano sicure, giusto?


Risposte:


4

Sì, è sicuro finché è in mani sicure, cioè le macchine fisiche sono sicure. Naturalmente, se un attaccante ha accesso ed è in grado di accedere a una macchina, può quindi ottenere la chiave da quella macchina e usare la chiave anche per altri computer. Vedi questo per maggiori informazioni.


2
Solo la macchina con la chiave privata deve essere protetta.
psusi,

7

Per essere un po 'più chiari dalle altre risposte qui e in altri luoghi: la "sicurezza" è sicura tanto quanto la sicurezza della chiave privata. Se qualcuno può accedere alle tue chiavi private, potrebbe essere inviato via email o copiato su un dispositivo USB. Quindi la chiave privata copiata potrebbe essere utilizzata da un'altra persona.

Finché la chiave privata si trova in un sistema sicuro, non vi è alcun problema a farla andare su più macchine.

Ma una cosa che dirò: non copiare una chiave privata su un sistema remoto. Prova a fare affidamento sull'agente SSH (ssh-agent o pageant) e sull'inoltro dell'agent. Se disponi di una chiave privata su un sistema remoto, assicurati che non sia la stessa chiave utilizzata per accedere al sistema.


1

Una singola chiave su più macchine riduce certamente la quantità di chiavi che un amministratore di sistema deve gestire. Ho cinque macchine dalle quali potrei lavorare (di solito circa tre molto attive, ma una potrebbe essere in riparazione, un'altra in uso molto occasionale). Se un'azienda aveva otto persone come me, produce 40 chiavi invece di 8.

Tuttavia, il problema che Arcege ha abbastanza abilmente sottolineato, sebbene indirettamente, è che se una singola macchina viene compromessa o scompare per un breve periodo di tempo, ciò significherebbe che non avrei più accesso da nessuna macchina (come la mia chiave per tutte le mie macchine dovrebbero essere demolite). Sicuramente la comodità di poter rimuovere una singola chiave da un laptop compromesso o rubato e di poter continuare a lavorare da un'altra macchina vale la seccatura di gestire più chiavi.

In un esempio ancora più estremo, immagina di essere l'amministratore di sistema e di avere un laptop rubato o hackerato. La mia chiave deve essere rimossa, ma per farlo ho bisogno dell'accesso a tutti i sistemi. Sebbene sia tecnicamente possibile sostituire e rimuovere in una singola sessione, quando si tenta di spostarsi rapidamente e coprire tutte le basi, ciò complica notevolmente lo scenario di emergenza.

D'altra parte, se ho chiavi univoche per ogni workstation, se riesco ad accedere a una workstation alternativa, posso escludere la chiave compromessa in modo rapido ed efficiente, senza rischiare di bloccarmi.

Mentre approfondisco l'approccio delle chiavi SSH alla sicurezza, è chiaro che per una vera sicurezza dovremmo usare entrambi:

  • quello che abbiamo (chiavi SSH)
  • quello che sappiamo (password per il server)

Il requisito della password copre sia l'accesso al server che una password per la chiave. Il fattore seccatura aumenta ma al momento abbiamo tutti e tre in atto (chiavi SSH, password di accesso alla chiave SSH, password del server) a quel punto non c'è più un singolo punto di errore . Una password del server condiviso protegge anche il tuo team da una password della chiave SSH molto debole (normalmente non abbiamo il controllo sul livello di password generato dai nostri colleghi) e un amministratore di password in una situazione aziendale in cui ho accesso agli strumenti di controllo delle password che posso dirti anche quelli che dovrebbero conoscere meglio a volte creare password incredibilmente deboli).

Un attaccante dovrebbe essere determinato e un attacco di successo potrebbe richiedere mesi o addirittura anni. Modificando la password del server di tanto in tanto (ogni sei mesi circa, la password del server condivisa con un sistema di livello aziendale come LastPass - ricorda che ci sono anche chiavi SSH), a questo punto i tuoi server godono di una sicurezza ragionevole (poiché nessuno potrebbe combinare un SSH caldo chiave con una password antica da inserire).

Bisogna pensare all'accesso illegale da parte di insider (viene in mente Edward Snowden, l'hacking di Ashley Madison arriva secondo) come un rischio primario. Solo usando sia le chiavi che le password sarebbe possibile rallentare davvero un addetto ai lavori.

Altro che metodo antico cinese: seppelliscili vivi al termine del loro lavoro.

Dopo la sepoltura, fu suggerito che sarebbe stata una grave violazione se gli artigiani che costruissero i dispositivi meccanici e fossero a conoscenza dei suoi tesori, avrebbero divulgato quei segreti. Pertanto, dopo che le cerimonie funebri erano state completate e i tesori nascosti, il passaggio interno fu bloccato e il cancello esterno si abbassò, intrappolando immediatamente tutti gli operai e gli artigiani all'interno. Nessuno poteva scappare.


0

Per le chiavi utente: sì, se usi una passphrase sicura e hai creato la chiave su un sistema senza difetti di sicurezza ssh.

Per chiavi server: no.


0

Direi che è una buona abitudine avere chiavi diverse per gruppi diversi, ad esempio: lavoro, casa, open_source_project.

Più chiavi aggiungi, più è complessa gestirle.

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.