6

Ho letto parecchi post riguardanti l'uso di PermitUserEnvironment e il file ~/.ssh/environment per passare le variabili di env a una shell ssh. Il sshd docs ufficiale e alcune altre risorse alludono ad alcuni rischi per la sicurezza di questo.Rischi per la sicurezza di PermitUserEnvironment in ssh

Enabling environment processing may enable users to bypass access restrictions in some configurations using mechanisms such as LD_PRELOAD. 

Quali sono il problema di sicurezza probabile di attivare PermitUserEnvironment? Stavo cercando di mantenere i dettagli della connessione DB in queste variabili di ambiente, è consigliabile?

grazie

risposta

3

E 'per i casi in cui si limita l'utente in qualche modo utilizzando una shell personalizzata - se l'utente è in grado di impostare LD_PRELOAD allora potrebbero eseguire codice come loro utente sulla macchina remota intercettando uno standard chiamata alla biblioteca.

Un semplice esempio di ciò potrebbe essere se si disabilita l'accesso per un utente solo SFTP impostando la propria shell su un collegamento dinamico/bin/false - se sono in grado di modificare ~/.ssh/environment o ~/.ssh/authorized_keys possono aggiungere LD_PRELOAD = nefarious.so

+0

Quindi non ha alcun impatto sugli accessi alla shell regolari in cui fornisco all'utente un account Bash regolare? (no sudo) –

+1

Corretto, è solo un problema se stai provando a limitare la loro shell. Se ti fidi già di eseguire codice arbitrario, lasciare che LD_PRELOAD sia impostato al momento del login non è un problema di sicurezza – Peter

Problemi correlati