DEV Community

Uhltak Therestismysecret
Uhltak Therestismysecret

Posted on

Landlock LSM: Der ultimative Schutz vor Root-Privilegien

Intro

Viele haben es vielleicht schon einmal erlebt: Ihr wollt sichergehen, dass ein bestimmtes Programm nur bestimmte Funktionen ausführen kann, ohne dass es auf Ihre gesamte Systemkonfiguration zugreifen kann. Hierfür bietet Linux seit einigen Jahren eine einzigartige Lösung an: Landlock LSM. In diesem Artikel erfahrt ihr, wie es ohne Root-Berechtigungen geht.

Was ist Landlock LSM?

Landlock LSM ist ein Modul im Linux-Kernel, das es ermöglicht, Anwendungen in Sandboxes zu unterbringen. Eine Sandbox ist ein virtuelles Betriebsystem, das es einem Programm ermöglicht, mit begrenzten Rechten auf ein System zuzugreifen. In anderen Worten: Landlock LSM trennt ein Programm von den systemweiten Einstellungen und verhindert somit, dass es ungewollte Schäden anrichten kann.

Landlock LSM wurde speziell für Anwendungen entwickelt, die nicht alle ihre Funktionen ausführen müssen. Ein klassisches Beispiel dafür ist ein Texteditor oder ein Code-Hersteller. Beide Programme benötigen keinen unbeschränkten Zugriff auf die Dateisysteme, um zu funktionieren. Landlock LSM schafft es, dass ein Anwender ein Programm einsetzen kann, ohne dass es Zugriff auf kritische Systemkomponenten erhält.

Wie Landlock LSM aufsetzt?

Damit ihr Landlock LSM einrichten könnt, benötigt ihr als Erstes ein Kernel, der diese Funktion unterstützt. Aktuell ist dies praktisch jeder Kernel ab Version 5.11. Das bedeutet, dass ihr bei einem update Ihres Linux-Distributions, die Landlock-Einbindung auch bekommen würdet.

Als nächstes müsst ihr dann eine Policy erstellen, die Anweisungen darstellt, wie das Programm aufzurufen ist und wie die Access-Control Rules gelten. Um das ganze zu testen, verwende den komfortablen Beispieldirektiven, die dir die Installation und den Einsatz von Landlock LSM erklärt.

Wir nutzen die Beispieldirektive aus diesem Tutorial:


bash
echo 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)