GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:le variabili d'ambiente sono visibili agli utenti non privilegiati su Linux?

Sto cercando di determinare se, in Linux, le variabili di ambiente per un processo sono osservabili da altri utenti (non root).

Il caso d'uso immediato è inserire i segreti nelle variabili di ambiente. Questo è discusso in molti luoghi del Web come insicuro, ma non sono stato in grado di concentrarmi sull'esatto punto di esposizione in Linux.

Nota che io non parlando di mettere segreti in chiaro nei file. Tieni inoltre presente che io non parlando di esposizione all'account di root (considero il tentativo di nascondere i segreti a un avversario con root come non principiante).

Questa domanda sembra rispondere alla mia, con commenti che classificano le variabili di ambiente come completamente prive di sicurezza o semplicemente offuscate, ma come si accede ad esse?

Nei miei test un utente senza privilegi non può osservare le variabili di ambiente per un altro utente attraverso la tabella dei processi ("ps auxwwe"). I comandi che impostano le variabili di ambiente (ad es. export) sono incorporati nella shell che non vengono inseriti nella tabella dei processi e per estensione non sono in /proc/$pid/cmdline. /proc/$pid/environ è leggibile solo dall'UID del proprietario del processo.

Forse la confusione è tra diversi sistemi operativi o versioni. Varie (recenti) fonti sul web denunciano l'insicurezza delle variabili d'ambiente, ma il mio controllo a campione di diverse versioni di Linux sembra indicare che questo non è possibile almeno fino al 2007 (probabilmente oltre ma non ho caselle su mano per testare).

In Linux, come può un utente non privilegiato osservare le variabili di ambiente per i processi di un altro?

Risposta accettata:

Come ha spiegato Gilles in una risposta molto esauriente a una domanda simile su security.stackexchange.com, gli ambienti di processo sono accessibili solo all'utente che possiede il processo (e ovviamente alla radice).


Linux
  1. Come impostare/creare variabili di ambiente e shell in Linux

  2. Linux:variabile d'ambiente permanente per tutti gli utenti?

  3. Linux – I diversi kernel Linux/unix sono intercambiabili?

  4. Fare riferimento a variabili d'ambiente *in* /etc/environment?

  5. Come impostare le variabili di ambiente Linux con Ansible

Come impostare ed elencare le variabili di ambiente in Linux

Come impostare ed elencare variabili ambientali in Linux

Come impostare/disimpostare le variabili d'ambiente in Linux

Come impostare e annullare l'impostazione delle variabili di ambiente su Linux

Guida dettagliata alle variabili d'ambiente Linux

Variabili d'ambiente Linux