Das Landrun-Projekt entwickelt ein System zur Isolierung von Anwendungen ohne Privilegien.

Das Landrun-Projekt hat die Entwicklung eines neuen Systems für die isolierte Ausführung einzelner Anwendungen begonnen. Zur Isolierung wird das LSM-Modul des Linux-Kernels Landlock verwendet, welches die Ausführung privilegierter Operationen bei der Erstellung einer Sandbox-Umgebung überflüssig macht. In seinen Funktionen ähnelt Landrun dem Tool Firejail, unterscheidet sich jedoch durch eine einfachere Implementierung, Leichtgewichtigkeit und die Möglichkeit, als normaler nicht privilegierter Benutzer ohne die Suid-Flagge zu arbeiten. Der Code des Projekts ist in Go geschrieben und wird unter der GPLv2-Lizenz vertrieben.

Der Landlock-Mechanismus ermöglicht es nicht privilegierten Programmen, die Nutzung von Objekten des Linux-Kernels einzuschränken, wie zum Beispiel Datei-Hierarchien, Netzwerksockets und ioctl. Im Gegensatz zu Namespaces und der Filterung von Systemaufrufen wird die isolierte Umgebung vom Linux-Kernel in Form einer zusätzlichen Schicht über den bestehenden Systemmechanismen zur Zugriffskontrolle gebildet. Zur Interaktion mit dem Landlock-Subsystem verwendet das Tool landrun die von den Entwicklern von LandLock bereitgestellte go-landlock-Bibliothek.

Landrun hilft, das Risiko der Kompromittierung der Hauptsysteme zu verringern, wenn man misstrauische oder potenziell anfällige Software ausführt. Zu den Funktionen gehört die Unterstützung selektiver Zugriffsbeschränkungen auf der Ebene einzelner Verzeichnisse, die Bindung von Berechtigungen an Dateipfade (Erlauben oder Verweigern von Lese-, Schreib- und Ausführungsrechten) sowie die Kontrolle über die Initiierung und den Empfang von TCP-Verbindungen.

Mit Landrun kann beispielsweise der Prozess das Ausführen von ausführbaren Dateien untersagen, die Schreibrechte nur in einem bestimmten Unterverzeichnis mit Daten erlauben, das Erstellen von Listening-Sockets für den Empfang von Netzwerkverbindungen verbieten und die Übermittlung von Netzwerkrequests nur an angegebene TCP-Ports gestatten. Im einfachsten Fall können Sie Schreib-, Ausführungs- und Netzwerkfähigkeiten mit dem Befehl «landrun —ro /» untersagen, und zur Isolation von nginx könnte man Folgendes verwenden: landrun —rox /usr/bin —ro /lib,/lib64,/var/www —rwx /var/log —bind-tcp 80,443 /usr/bin/nginx

Zukünftige Pläne beinhalten eine erweiterte Verwaltung des Zugriffs auf das Dateisystem, UDP-Unterstützung und das Management von Prozessressourcen. Für den Dateisystemzugriff ist mindestens der Linux-Kernel 5.13 erforderlich, während für Netzwerkbeschränkungen die Version 6.8 benötigt wird.

Zusätzlich ist erwähnenswert, dass Änderungen in den Quellcode von Firejail übernommen wurden, die die Nutzung des Landlock-Kernel-Subsystems zur Isolierung ohne SUID-Bit und Privilegiensteigerung ermöglichen. Eine Version mit dieser Unterstützung wurde jedoch noch nicht veröffentlicht.

Quelle: opennet.ru

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster