Ci sono implicazioni sulla sicurezza nella creazione di una chiave SSH per l'utente root?

2

Ho scritto uno script di installazione su un server per configurare rapidamente nuovi siti nella directory / srv. Ha bisogno di fare un git clone , e deve essere eseguito tramite sudo per avere i permessi per fare tutto ciò che deve fare (creare directory in / srv, creare un nuovo VirtualHost, riavviare Apache, ecc.) .

La domanda che ho è semplicemente questa: al momento l'utente root non ha la chiave SSH, ma ne avrò bisogno per avere git clone da BitBucket. Ci sono problemi di sicurezza con la generazione di uno? Cioè, se eseguo ssh-keygen come root in modo da avere le chiavi pubbliche e private per l'utente root, renderò il server meno sicuro in alcun modo?

Per inciso, questo è uno script che è già in uso e ha funzionato bene, ma fino ad ora il repository da cui sto clonando è stato uno locale, ospitato sullo stesso server. Recentemente ho passato a ospitarla da remoto (su BitBucket), quindi ho bisogno di una "chiave di distribuzione" per poterla clonare.

    
posta Nick F 18.05.2015 - 19:25
fonte

1 risposta

7

No, la presenza di chiavi per l'utente root non influisce sul profilo di sicurezza. È saggio però disabilitare l'accesso root in ssh e NON avere un authorized_keys nella cartella /root/.ssh/.

Tuttavia. Ho la sensazione che tu stia andando in questo modo sbagliato. Personalmente, non utilizzerei l'utente root in questo modo (ma un utente di sistema come www-data ) e creo diversi script di comando e controllo che ricaricano la configurazione di Apache per esempio che sono specificati nell'elenco sudoers (con le specifiche complete) quindi che il mio utente può semplicemente chiamare uno script che ha i diritti per fare le azioni "speciali" necessarie.

In questo modo avrai un registro di verifica di ciò che è successo. Questo limita ciò che può essere indotto dall'utente in caso di compromissione e non espone il tuo sistema completo.

Il file sudoers (e il comando sudo ) hanno un'opzione per farli funzionare senza immissione della password ( :nopasswd: ). Puoi anche limitare i comandi e chiamare gli utenti nel file. Come bonus, puoi avere un utente separato con diritti limitati per avere l'accesso alla distribuzione, limitando ulteriormente i potenziali danni.

    
risposta data 18.05.2015 - 20:26
fonte

Leggi altre domande sui tag