Su Redhat, cosa significa "kernel.suid_dumpable = 1"?


9

Sto eseguendo uno script bash per copiare alcuni file di registro e quindi riavviare un servizio su una scatola di Red Hat. Ogni volta che eseguo lo script, ottengo quanto segue sulla mia console:

[root@servername ~]# sh /bin/restart_nss.sh
kernel.suid
_dumpable = 1
Stopping Service: [ OK ]
Starting Service: [ OK ]
[root@servername ~]#

Che cosa significa "kernel.suid_dumpable = 1" in questo caso?

Grazie, IVR Avenger

Risposte:


13

Alcuni retroscena:

Il bit setuid:
il bit setuid su un file eseguibile lo rende così eseguibili che vengono eseguiti da qualsiasi utente, vengono eseguiti come se fossero stati eseguiti dal proprietario dell'eseguibile. Pertanto, se setuid è impostato su un programma di proprietà di root, indipendentemente da chi lo esegue, verrà eseguito con i privilegi di root. Ovviamente non è così semplice, vedi questo articolo di Wikipedia , o ottieni una copia della programmazione di Steven nell'ambiente Unix.

Un dump principale:
un dump principale è un dump della memoria di lavoro del programma su un file. Vedi questo articolo di Wikipedia .

suid_dumpable :
controlla se il core può essere scaricato da un programma setuid come descritto sopra. Vedi sotto. Questo è un parametro sintonizzabile del kernel, puoi cambiarlo con:

sudo sysctl -w kernel.suid_dumpable=2

Scoprirai questo sintonizzabile nella documentazione per il tuo codice sorgente, che se installato, potresti trovare in una directory come: /usr/src/linux-source-2.6.27/Documentation/sysctl/. In questo caso, il riferimento di seguito è in fs.txt in quella directory. Usa il uname -acomando per scoprire la tua versione del kernel.

Perchè importa:

Potrebbe essere un rischio per la sicurezza:
quindi l'idea è che se ci sono core dump e un utente normale può leggerli, potrebbero scoprire informazioni privilegiate. Se il programma viene scaricato correttamente, conteneva informazioni privilegiate in memoria e l'utente può leggere il dump, potrebbe scoprire tali informazioni privilegiate.

Riferimento:

This value can be used to query and set the core dump mode for setuid
or otherwise protected/tainted binaries. The modes are

0 - (default) - traditional behaviour. Any process which has changed
   privilege levels or is execute only will not be dumped
1 - (debug) - all processes dump core when possible. The core dump is
   owned by the current user and no security is applied. This is
   intended for system debugging situations only.
2 - (suidsafe) - any binary which normally not be dumped is dumped
   readable by root only. This allows the end user to remove
   such a dump but not access it directly. For security reasons
   core dumps in this mode will not overwrite one another or 
   other files. This mode is appropriate when adminstrators are
   attempting to debug problems in a normal environment.


1

Determina se è possibile ottenere o meno i dump core dai processi setuid.

Alcune informazioni dalla patch originale

+suid_dumpable:
+
+This value can be used to query and set the core dump mode for setuid
+or otherwise protected/tainted binaries. The modes are
+
+0 - (default) - traditional behaviour. Any process which has changed
+   privilege levels or is execute only will not be dumped
+1 - (debug) - all processes dump core when possible. The core dump is
+   owned by the current user and no security is applied. This is
+   intended for system debugging situations only.
+2 - (suidsafe) - any binary which normally not be dumped is dumped
+   readable by root only. This allows the end user to remove
+   such a dump but not access it directly. For security reasons
+   core dumps in this mode will not overwrite one another or 
+   other files. This mode is appropriate when adminstrators are
+   attempting to debug problems in a normal environment.

Quindi, questo è strettamente informativo? Mi dice che tipo di discarica posso ottenere dal processo che sto iniziando?
IVR Avenger,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.