Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Hardware & Software Systemd-Alternative zu sudo soll Linux sicherer machen

1714689115645.png
run0 lässt reguläre Benutzer Programme mit root-Rechten ausführen. Es ähnelt sudo, nutzt aber andere Mechanismen zur Privilegienerhöhung und soll sicherer sein.

Systemd-Entwickler Lennart Poettering hat mit der neuen Version 256 von Systemd für Linux das Tool run0 inkludiert.
Mit run0 können reguläre Nutzer ein Kommando mit root-Rechten ausführen.
Poettering empfiehlt es als sichereren Ersatz für sudo.

Als wichtigsten Grund für seine moderne sudo-Alternative
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
.
sudo ist ein SUID-Binary, also ein Programm, dass aus einem Benutzerkontext heraus gestartet mit root-Rechten läuft.
Es erfragt dann das Passwort des Nutzers und prüft gegen die Regeln in der Datei /etc/sudoers, ob der Benutzer das angefragte Programm mit root-Rechten ausführen darf. Die Syntax dieser Regeln, so Poettering, sei kompliziert und fehleranfällig.

Auch OpenBSD geht eigene Wege​

sudo und der aus sudo gestartete Prozess übernehmen standardmäßig einen Großteil des Kontextes des Nutzerprozesses (geöffnete Dateien, Umgebungsvariablen, security contexts, cgroup-Zuordnungen etc.). sudo ist dabei selbst dafür verantwortlich, die Umgebung so zu säubern, dass sie sicher ist.
Auch das, so Poetterig, sei eine unsichere Angelegenheit.
OpenBSD nutze deswegen statt sudo das eigene, weniger anfällige doas.

Tatsächlich hält Poettering allerdings generell das Starten von privilegierten Prozessen aus dem Kontext eines regulären Benutzers heraus aus Sicherheitsgründen für eine schlechte Idee.
Das ganze SUID-Konzept sei nicht mehr zeitgemäß und gehöre "auf den Haufen schlechter Unix-Ideen".
Tatsächlich finden sich eine Menge CVEs zu Schwachstellen in sudo oder aufgrund fehlerhaft gesetzter SUID-Bits.

sudo ohne SUID​

Sein Vorschlag run0 kommt daher ohne SUID-Bit aus.
Stattdessen nutzt run0 Polkit (früher PolicyKit) zum Erlangen der root-Rechte, einen etablierten Linux-Dienst zur Steuerung der Berechtigungen von Software.
Der neue, privilegierte Prozess wird zudem aus dem Init-Prozess (PID 1) gestartet, sodass er keinerlei Benutzerkontext übernimmt.
Tatsächlich, so Poettering, sei run0 eher vergleichbar mit einem Zugang per ssh zur lokalen Maschine als mit sudo oder su.

Hinter run0 verbirgt sich übrigens systemd-run, ein schon länger existierender Systemd-Mechanismus zum Starten von transienten Prozessen.
Ab der Systemd-Version 256 verhält sich das Programm ähnlich wie sudo, wenn es über einen symbolischen Link als run0 aufgerufen, mit ein paar zusätzlichen Gimmicks:
So färbt run0 das Terminal rot ein, solange darin der Prozess mit root-Rechten läuft.

Quelle: heise online
 
Das Problem hier bleibt doch, wie schon beschrieben, dass der Nutzer ohne Privilegien einen Befehl als admin ausführen möchte. Egal auf welchem Weg das erreicht werden soll, eine Überwachung der Konsequenzen ist also weiterhin wichtig. Hier einen neuen Befehl unter Anwendung eines etablierten Dienstes als sicherheitsfördernde Maßnahme zu präsentieren halte ich zumindest für fragwürdig
 
Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!
Deshalb muss/soll ja auch ein root-Passwort vergeben werden, damit genau das nicht der Fall ist und entsprechende der Befehl, nicht ohne Identifikation ausgeführt wird.
Das ist m.A.n. der entscheidende Unterschied zu Windows.
 
Zurück
Oben