Entwicklung & Code
RootAsRole 4.0: Mehr Kontrolle als bei sudo
Mit RootAsRole 4.0 haben die Entwickler ihres Linux-/Unix-Werkzeugs zur Rechtevergabe eine neue Hauptversion veröffentlicht. RootAsRole versteht sich als Alternative zu sudo und delegiert Administratorrechte rollenbasiert, sodass Nutzer nur die für eine Aufgabe benötigten Berechtigungen erhalten. Version 4.0 bringt unter anderem ein neues Ausführungsmodell für privilegierte Programme, Richtlinien aus Verzeichnissen sowie Einschränkungen auf bestimmte Arbeitsverzeichnisse.
Weiterlesen nach der Anzeige
Obwohl der Versionssprung auf 4.0 eine neue Hauptversion markiert, soll das Update laut Projekt keine inkompatiblen Änderungen enthalten. Stattdessen begründen die Entwickler den Schritt in den Release Notes vor allem mit einer grundlegenden Überarbeitung der Programmausführung.
Neues Ausführungsmodell für privilegierte Programme
Die wichtigste technische Neuerung betrifft die Ausführung privilegierter Prozesse. RootAsRole orientiert sich dabei künftig am Modell von sudo statt an doas. Während doas das Zielprogramm direkt startet, schaltet sudo einen zusätzlichen Prozess dazwischen. Er überwacht die Programmausführung und kann Ein- und Ausgaben sowie administrative Interaktionen kontrollieren. Nach Ansicht der Entwickler erhöht dieses Modell trotz des größeren Codeumfangs die Sicherheit gegenüber einer direkten Ausführung.
Neu ist außerdem eine Option, Befehle nur aus einem bestimmten Arbeitsverzeichnis heraus zu erlauben. Administratoren können beispielsweise festlegen, dass ein Build- oder Deployment-Werkzeug ausschließlich innerhalb eines definierten Projektverzeichnisses gestartet werden darf. Das soll Fehlbedienungen erschweren und den möglichen Einsatzbereich privilegierter Befehle weiter einschränken. Die Entwickler weisen allerdings darauf hin, dass die Wirksamkeit dieser Funktion von einer korrekt abgesicherten Dateisystemkonfiguration abhängt.
Ebenfalls neu ist eine verzeichnisbasierte Richtlinienverwaltung. Anstatt sämtliche Regeln in einer Konfigurationsdatei zu sammeln, kann RootAsRole nun mehrere Policy-Dateien aus einem Verzeichnis einlesen. Das erleichtert etwa eine getrennte Richtlinienverwaltung pro Benutzer oder sorgt bei umfangreichen Installationen für eine übersichtlichere Organisation.
Außerdem haben die Entwickler die Build-Konfiguration erweitert, das Projekt auf die Rust Edition 2024 umgestellt und die interne Projektstruktur modernisiert. Auch Werkzeuge und Linting-Regeln wurden laut Release Notes überarbeitet.
Rollen statt Root-Rechte
Weiterlesen nach der Anzeige
RootAsRole verfolgt das Prinzip der geringsten Rechte (Principle of Least Privilege). Anders als klassische sudo-Konfigurationen, die Benutzern häufig weitreichende Root-Rechte übertragen, vergibt das Werkzeug nur die Rechte, die für eine konkrete Aufgabe erforderlich sind. Grundlage dafür ist ein rollenbasiertes Zugriffskontrollmodell (Role-Based Access Control, RBAC) mit Rollen und Aufgaben sowie der Unterstützung von Linux Capabilities, also feingranularen Kernel-Berechtigungen.
Dadurch lässt sich beispielsweise festlegen, dass ein Benutzer lediglich Netzwerkdiagnoseprogramme mit der Capability CAP_NET_RAW ausführen darf, ohne vollständige Root-Rechte zu erhalten. Ergänzend unterstützt RootAsRole Rollenhierarchien sowie statische und dynamische Trennung von Zuständigkeiten, um kritische Verwaltungsaufgaben auf mehrere Rollen aufzuteilen.
Hilfswerkzeuge für Administratoren
Zum Projekt gehören außerdem mehrere Werkzeuge für die Richtlinienverwaltung. Das Programm capable analysiert, welche Berechtigungen ein Befehl benötigt, während gensr aus Ansible-Playbooks passende Sicherheitsrichtlinien erzeugen kann. Laut Projekt soll das nicht nur die Erstellung feingranularer Regeln vereinfachen, sondern auch helfen, unerwartete Änderungen in Automatisierungsabläufen zu erkennen.
RootAsRole ist in Rust implementiert und unterstützt Linux-Kernel ab Version 4.3. Das Projekt entstand am französischen Informatikforschungsinstitut IRIT und wurde im Rahmen eines industriellen Promotionsprogramms gemeinsam mit Airbus Protect weiterentwickelt. Die Entwickler verweisen auf GitHub auf mehrere wissenschaftliche Veröffentlichungen, die RootAsRole von den ersten Konzepten bis zur produktionsreifen Umsetzung begleiten.
Lesen Sie auch
(fo)