Sto utilizzando un server di distribuzione continua basato su cloud per inviare codice di produzione per la mia applicazione.
Poiché si tratta di un server basato su cloud, questo mi richiede di fornire loro una chiave SSH privata che abbia accesso per inviare i file appropriati al mio server di produzione. Immagino con il principio del privilegio minimo, questa chiave SSH dovrebbe consentire il login ad un utente bloccato con privilegi di scrittura solo su alcune directory. Quindi il server di produzione può utilizzare upstart o altri tipi di script che rilevano le modifiche al codice e iniziano a eseguire il nuovo codice.
Supponiamo che il mio modello di minaccia sia che la chiave SSH privata trapelasse dalla loro fine. È possibile attenuare questo rischio? Anche se blocco l'utente il più possibile, il codice che viene spinto dall'utente verrà eseguito dall'utente del server web (che ha privilegi maggiori). Quindi sembra che qualsiasi perdita della chiave SSH che fornisco darà la possibilità di eseguire codice in modalità remota.
Ci sono delle best practice nella configurazione di un server CI / CD basato su cloud, o è solo un rischio che devo prendere?