Con quale frequenza dovrebbe essere modificata una coppia di chiavi SSH?

37

Utilizzo da anni una chiave RSA a 1024 bit per SSH senza password tra i miei sistemi. Più recentemente ho anche iniziato a utilizzarlo per l'accesso senza password ai miei provider di hosting e ai repository di codice sorgente.

Sta usando la stessa coppia di chiavi per un lungo periodo di tempo e per accedere a più risorse, un problema?

    
posta Tim Lesher 15.05.2012 - 15:51
fonte

5 risposte

9

Sì, in senso stretto si consiglia di scartare le chiavi SSH dopo un po '(ciò potrebbe dipendere dalla lunghezza della chiave, dalle vulnerabilità rilevate nel generatore di chiavi, ecc.). Tuttavia tale meccanismo non era previsto da SSH. Ed è complicato andare da tutti gli host remoti e cancellare la chiave pubblica.

C'è una soluzione - anche se non l'ho mai provata, ma la tengo per quando avrò del tempo libero - MonkeySphere per Progetto OpenSSH . Permetterà di gestire la scadenza delle tue chiavi per quanto ho capito!

    
risposta data 15.05.2012 - 16:20
fonte
31

Prenderò una posizione diversa dagli altri qui. La mia raccomandazione: Non è necessario modificare la chiave privata SSH, a meno che non si abbia una buona ragione per cambiarla.

Fondamento: Crypto non si consuma. Non si indebolisce con l'uso ripetuto.

La più grande ragione per cambiare la tua chiave privata è se hai un motivo per sospettare che sia stato compromesso o che non sia più sicuro. Ad esempio, se una delle tue macchine viene hackerata e hai una copia della tua chiave privata memorizzata su quella macchina, ti consiglio di cambiare la chiave SSH. Allo stesso modo, se uno dei tuoi backup va sul walkabout e su di esso c'è una copia della tua chiave privata SSH, ti consiglio di cambiare la chiave SSH. Oppure, se hai generato la tua chiave privata su un vecchio sistema Debian, allora potrebbe essere insicuro e ti consiglio di cambiarlo. Tuttavia, se non hai una ragione del genere per sospettare che la tua chiave privata sia stata compromessa, non vedo la necessità di cambiarla.

Lo svantaggio di cambiare la chiave inutilmente è ora che devi aggiornare il file authorized_keys su ogni macchina a cui potresti mai accedere. È un po 'noioso.

Sospetto che la ragione per cui alcuni raccomandano di cambiare la tua chiave privata è per motivi profilattici: cosa succede se una delle macchine che memorizza la tua chiave privata viene hackerata e non eri consapevole e ora l'hacker non ha più accesso? L'hacker potrebbe avere ancora la tua chiave privata. Pertanto, potrebbe essere utile modificare occasionalmente la chiave privata SSH per limitare l'esposizione in questo tipo di scenario. Ma personalmente, sospetto che questo tipo di scenario sia molto raro e probabilmente non valga la pena di cambiare la chiave SSH. Quindi, se gli altri preferiscono cambiare periodicamente le loro chiavi SSH, posso capire le loro ragioni - ma personalmente, non mi preoccuperei.

P.S. Se stessimo parlando di una chiave host (piuttosto che della tua chiave personale), c'è una ragione ancora più strong per non modificare inutilmente la chiave dell'host: se cambi la chiave dell'host, chiunque tenti di accedere a quella macchina inizierà a ricevere avvertimenti che potrebbero essere sotto attacco. Se le persone vedono regolarmente questi avvertimenti, inizieranno a trattarli come rumori insignificanti (si tratterà di una situazione da lupo-ragazzo), minando il loro valore. Quindi, non cambiare regolarmente le chiavi dell'host senza una buona ragione.

    
risposta data 16.05.2012 - 02:51
fonte
3

Beh, ovviamente dipende dalla sensibilità dei tuoi dati: stai proteggendo i dati dal tuo vicinato, dagli attacchi commerciali, dal governo?

Questo articolo stima che sia possibile costruire un computer in grado di rompere le chiavi RSA, 1024 bit, in un anno, spendendo alcuni milioni. Citano molti studi, tutti raccomandano almeno 2048 bit.

Questo sito può aiutarti a stimare per quanto tempo la tua chiave resisterà agli attacchi.

E questa domanda dà un sacco di risposte sul keysize.

Inoltre, ricorda che usare la tua chiave privata correttamente non significa che avrai problemi se hai più di un host in possesso della tua chiave pubblica, né le volte in cui lo utilizzerai lo renderanno più debole. Ecco perché sono state create chiavi private-pubbliche: da utilizzare senza aumentare i rischi in quanto erano più utilizzati.

    
risposta data 15.05.2012 - 17:34
fonte
2

Per quanto ne so, non esiste una "usura delle chiavi" con le chiavi RSA, quindi non c'è problema a mantenere lo stesso set di chiavi. Se sospetti che le tue chiavi siano state compromesse, puoi generare nuove chiavi, ma in caso contrario non è realmente necessario.

    
risposta data 15.05.2012 - 16:52
fonte
1

È la tua fiducia per il server remoto, se non ti fidi del server remoto, quindi la modifica della chiave ssh (nuova chiave privata) e il caricamento di una nuova parte pubblica su un server remoto non hanno alcun vantaggio.

La tua chiave ssh privata non viaggia sulla rete ... La sicurezza delle tue chiavi ssh private è la tua responsabilità.

Se la domanda era più generale, significa come convalidare le chiavi degli utenti, quindi dipende. Puoi usare alcuni strumenti come cfengine, puppet per caricare regolarmente le chiavi pubbliche ssh degli utenti sui loro homedir da un repository / DB che dovrebbe contenere un timestamp. Quindi è possibile inviare la posta all'utente per riconvalidare l'utilizzo della chiave o al suo manager. Oppure puoi usare i certificati con ssh. Sebbene il team di OpenSSH non abbia sviluppato alcuna informazione sui certificati in scadenza ...

Stai lontano dalle varie soluzioni openssh compromesse e dalle loro patch. Lo supporterebbero in futuro?

    
risposta data 15.05.2012 - 22:11
fonte

Leggi altre domande sui tag