Wie Setuid es Benutzern ermöglicht, Dateien mit eskalierten Berechtigungen auszuführen

Wenn Sie eine ausführbare Datei unter Linux ausführen, wird diese normalerweise mit der aktuellen Benutzer- und Gruppen-ID ausgeführt. Es kann jedoch vorkommen, dass Sie diese Datei als anderer Benutzer (z. B. Root) ausführen müssen. Anstatt Ihr Benutzerkonto zu wechseln, können Sie setuid verwenden, um die ausführbare Datei als Dateieigentümer und nicht als aktueller Benutzer auszuführen. Hier erklären wir, wie setuid funktioniert und wie es Benutzern ermöglicht, ausführbare Dateien/Binärdateien mit erweiterten Berechtigungen auszuführen.

Wie funktioniert setuid?

Setuid steht für SETZEN Sie die Benutzer-ID bei der Ausführung. Nehmen wir an, wir haben eine ausführbare Datei namens „Identity“, die vom Root-Benutzer erstellt wurde. Wenn Sie es ausführen, wird es mit Ihrer Benutzer-ID, Gruppen-ID und Benutzerrechten ausgeführt. Wenn das setuid-Bit für die Datei „identity“ gesetzt ist, wird sie beim Ausführen als Root-Benutzer und mit seinen Benutzerrechten ausgeführt.

Zur Veranschaulichung können wir zunächst den Besitz der „Identity“-Datei überprüfen und sicherstellen, dass sie dem Root-Benutzer gehört. Die Berechtigungszeichenfolge zeigt auch die ausführbaren Bits (x), die für den Benutzer, die Gruppe und andere festgelegt sind.

Der Benutzer „john1“ führt die Datei „identity“ aus, die bei der Ausführung zu einem Prozess wird. Wie in der Prozessliste gezeigt, wird der Prozess unter dem Benutzernamen und der Benutzer-ID „john1“ erstellt und ausgeführt.

Als nächstes setzen wir als Root-Benutzer das Setuid-Bit der „Identity“-Datei:

chmod u+s /usr/bin/identity

„u“ bedeutet, dass das Setuid-Bit (+s) nur für den Benutzer gesetzt werden darf.

Für den Eigentümer können wir im ausführbaren Teil der Berechtigungszeichenfolge sehen, dass „x“ durch „s“ ersetzt wurde. Wenn Sie bei einer ausführbaren Datei auf „s“ stoßen, bedeutet dies, dass das Setuid-Bit darauf gesetzt wurde.

Die numerische Variante des chmod-Befehls kann auch wie unten gezeigt verwendet werden.

chmod 4755 /usr/bin/identity

Das Hinzufügen von 4 in der numerischen Berechtigungszeichenfolge bedeutet die Einbeziehung des setuid-Bits.

Folgendes passiert, wenn „john1“ die Datei „identity“ erneut ausführt. Wenn wir uns die Liste der laufenden Prozesse ansehen, können wir nun erkennen, dass der Prozess vom Benutzer „root“ und nicht von „john1“ erstellt und ausgeführt wird.

Wichtige Verwendung des Setuid-Bits

Meistens hören Sie von Experten, dass Sie Anwendungen nicht als Root-Benutzer ausführen sollten. Es gibt jedoch Fälle, in denen bestimmte Dateien mit Root-Berechtigung ausgeführt werden müssen. Beispielsweise ist auf dem Dienstprogramm passwd, das standardmäßig auf Linux-Systemen installiert ist, das Setuid-Bit gesetzt.

Der Grund ist einfach: Passwortinformationen für einen Benutzer werden in den Dateien „/etc/passwd“ und „/etc/shadow“ gespeichert, die nur von „root“ geändert werden können. Wenn „john1“ versucht, das Passwort für sich selbst zu ändern, benötigt er die Erlaubnis, die Informationen in den beiden oben genannten Dateien zu ändern. Wenn das setuid-Bit auf passwd gesetzt ist, erhält „john1“ vorübergehend Root-Berechtigungen zum Ändern des Benutzerkennworts und zum Aktualisieren der Informationen in den beiden Dateien.

Setuid-Sicherheitsrisiko

Wenn Sie nicht aufpassen, kann ein Angreifer Setuid-Binärdateien ausnutzen, um Ihr System zu kontrollieren. Benutzer sollten normalerweise keine setuid-Programme installiert haben, insbesondere setuid nicht für andere Benutzer als sie selbst. Am wichtigsten ist, dass Sie in Ihrem Home-Ordner keine setuid-aktivierte Binärdatei für den Root-Benutzer haben. Dabei handelt es sich in der Regel um Trojanische Pferde oder Malware.

Abschluss

Setuid kann nur für ausführbare Dateien festgelegt werden. Ebenso kann auch das setgid-Bit gesetzt werden, das es allen Mitgliedern einer Gruppe ermöglicht, eine ausführbare Datei mit Besitzerberechtigungen auszuführen.

Beachten Sie, dass die Bits setuid und setgid sicherheitsrelevant sind und nur von qualifizierten Systemadministratoren verwendet werden dürfen.

Lesen Sie weiter:

Index
  1. Wie funktioniert setuid?
  2. Wichtige Verwendung des Setuid-Bits
  3. Setuid-Sicherheitsrisiko
  4. Abschluss

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up