it-swarm.dev

Con quale frequenza è necessario cambiare una coppia di chiavi SSH?

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

Utilizzare la stessa coppia di chiavi per un lungo periodo di tempo e accedere a più risorse è un problema?

40
Tim Lesher

Sì, a rigor di termini si consiglia di far scadere 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 è scomodo andare su tutti i possibili host remoti ed eliminare la chiave pubblica.

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

10
Huygens

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

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

Il motivo principale per modificare la chiave privata è se si ha motivo di sospettare che sia stata compromessa o non sia più sicura. 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 tua chiave SSH. Allo stesso modo, se uno dei tuoi backup diventa walkabout e conteneva una copia della tua chiave privata SSH, ti consiglio di cambiare la tua chiave SSH. Oppure, se hai generato la tua chiave privata su un vecchio sistema Debian, potrebbe non essere sicuro e ti consiglio di cambiarla. Tuttavia, se non hai un motivo del genere per sospettare che la tua chiave privata sia compromessa, non vedo la necessità di cambiarla.

L'aspetto negativo di cambiare la chiave inutilmente è ora che devi aggiornare authorized_keys su ogni macchina a cui potresti mai accedere. È un po 'noioso.

Sospetto che il motivo per cui alcune persone ti stanno raccomandando di cambiare la tua chiave privata sia per ragioni profilattiche: cosa succede se una delle macchine che memorizzano la tua chiave privata viene hackerata e tu non lo sapessi, 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 quel tipo di scenario. Personalmente, sospetto che questo tipo di scenario sia molto raro e probabilmente non valga la pena cambiare la chiave SSH. Quindi, se altri preferiscono cambiare periodicamente le loro chiavi SSH, posso comprenderne le ragioni, ma personalmente non mi preoccuperei.

Post scriptum Se stessimo parlando di una chiave Host (piuttosto che della tua chiave personale), allora c'è un motivo ancora più forte per non modificare inutilmente la chiave Host: se cambi la chiave Host, tutti coloro che tentano di accedere a quella macchina inizieranno a ricevere avvisi che potrebbero essere sotto attacco. Se le persone vedono regolarmente questi avvertimenti, inizieranno a trattarli come rumore insignificante (sarà una situazione da lupo pianto da ragazzo), minando il loro valore. Quindi, non cambiare regolarmente le chiavi dell'Host senza una buona ragione.

34
D.W.

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

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

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

E questa domanda dà molte risposte sulla dimensione della chiave.

Inoltre, ricorda che l'uso corretto della tua chiave privata non significa che avrai problemi se hai più di un Host che detiene la tua chiave pubblica, né i tempi in cui la usi la indeboliranno. Ecco perché sono state create le chiavi private-pubbliche: da utilizzare senza aumentare i rischi man mano che venivano utilizzate.

4
woliveirajr

Per quanto ne so, non c'è "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 è davvero necessario.

2
Oleksi

È la tua fiducia del server remoto, se non ti fidi del server remoto, quindi cambiare la tua chiave ssh (nuova chiave privata) e caricare una nuova parte pubblica su un server remoto non ha alcun vantaggio.

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

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

Essere lontani da varie soluzioni di openssh hackerate e dalle loro patch. Lo sosterrebbero in futuro?

1
jirib