Was bedeutet auf Redhat "kernel.suid_dumpable = 1"?


9

Ich führe ein Bash-Skript aus, um einige Protokolldateien zu kopieren und dann einen Dienst auf einer Red Hat-Box neu zu starten. Jedes Mal, wenn ich das Skript ausführe, wird auf meiner Konsole Folgendes angezeigt:

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

Was bedeutet in diesem Fall "kernel.suid_dumpable = 1"?

Danke, IVR Avenger

Antworten:


13

Einige Hintergrundinformationen:

Das setuid-Bit:
Das setuid-Bit in einer ausführbaren Datei bewirkt, dass ausführbare Dateien, die von einem beliebigen Benutzer ausgeführt werden, so ausgeführt werden, als würden sie vom Eigentümer der ausführbaren Datei ausgeführt. Wenn setuid für ein Programm festgelegt ist, das root gehört, wird es mit Root-Rechten ausgeführt, unabhängig davon, wer es ausführt. Es ist natürlich nicht so einfach, lesen Sie diesen Wikipedia- Artikel oder holen Sie sich eine Kopie von Stevens Programmierung in der Unix-Umgebung.

Ein Core-Dump:
Ein Core-Dump ist ein Dump des Arbeitsspeichers des Programms in eine Datei. Siehe diesen Wikipedia-Artikel .

suid_dumpable :
Hiermit wird gesteuert, ob der Core wie oben beschrieben aus einem setuid-Programm ausgegeben werden kann. Siehe unten. Dies ist ein Kernel-Tunable, den Sie ändern können mit:

sudo sysctl -w kernel.suid_dumpable=2

Informationen dazu finden Sie in der Dokumentation zu Ihrem Sourcode. Wenn diese installiert ist, finden Sie sie möglicherweise in einem Verzeichnis wie: /usr/src/linux-source-2.6.27/Documentation/sysctl/. In diesem Fall befindet sich die folgende Referenz in fs.txt in diesem Verzeichnis. Verwenden Sie den uname -aBefehl, um Ihre Kernelversion herauszufinden.

Warum es wichtig ist:

Dies könnte ein Sicherheitsrisiko darstellen:
Wenn also Core-Dumps vorhanden sind und ein normaler Benutzer sie lesen kann, findet er möglicherweise privilegierte Informationen heraus. Wenn das Programm gut gesichert ist, hat es privilegierte Informationen im Speicher, und der Benutzer kann den Speicherauszug lesen, er kann diese privilegierten Informationen herausfinden.

Referenz:

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.

fs.txt ist auch hier online: kernel.org/doc/Documentation/sysctl/fs.txt
Sundae

1

Es bestimmt, ob Sie Core-Dumps von Setuid-Prozessen erhalten können oder nicht.

Einige Infos aus dem Original-Patch

+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.

Das ist also streng informativ? Es sagt mir, welche Art von Dump ich von dem Prozess bekommen kann, den ich beginne?
IVR Avenger
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.