È accettabile condividere le chiavi SSH private tra i server per l'accesso in sola lettura a un repository Git?

1

Sto lavorando a un progetto attualmente archiviato in un repository Git privato su Bitbucket, che verrà distribuito su più server esterni.

Dato che il repository è privato, ho bisogno che questi server siano in grado di autenticarsi per clonare il repository e tirare quando ci sono aggiornamenti. Per questo, sembra che le chiavi di accesso siano la strada da percorrere.

La mia domanda è: è accettabile generare una chiave SSH e copiare la chiave privata su ciascun server che deve clonare il repository Git? La chiave pubblica verrà aggiunta a Bitbucket la prima volta, quindi ogni server con la chiave privata sarà in grado di accedere al repository di Bitbucket.

La mia logica è solo la convenienza: il processo di provisioning per questi server sarà in gran parte automatizzato, e sarebbe di grande aiuto se potessi copiare una chiave privata esistente come parte del processo, e quindi andare subito clonando il repository. Se devo creare una chiave privata per server, significa accedere manualmente al mio account Bitbucket per aggiungere ciascuna chiave.

Capisco che in generale, la risposta a "se condividi le chiavi private" è un "no" solido, ma non sono riuscito a trovare molte informazioni relative a questo particolare caso d'uso. Le chiavi sarebbero utilizzate solo per accedere a questo repository. Non ho bisogno di identificare quale server sta accedendo a cosa sul repository, perché tutti i server completeranno in gran parte le stesse azioni.

    
posta ev0lution 14.04.2017 - 17:59
fonte

1 risposta

2

Se i tuoi unici casi d'uso sono la clonazione e l'estrazione, il modo ideale per condividere un repository di bitbucket è in effetti con un chiave di accesso , precedentemente chiamata chiave di implementazione .

Queste chiavi forniscono accesso in sola lettura al repository, quindi un utente malintenzionato che si infiltra in uno qualsiasi dei tuoi server non ottiene l'accesso push al tuo repository (che potrebbe avere effetti gravi), ma ovviamente ottiene l'accesso al tuo codice, e una chiave per clonare e tirare il repository.

È meglio usare chiavi di accesso separate per server poiché condividere la chiave di accesso significherebbe cambiare la chiave di accesso su tutti i server se un server viene infiltrato. Al contrario, l'utilizzo di una chiave di accesso per server significa che se un server viene infiltrato, la disattivazione di tale chiave di accesso rimuove l'accesso al repository dal possibile aggressore.

    
risposta data 14.04.2017 - 18:17
fonte

Leggi altre domande sui tag