Anwendungen in Container-Sandbox ausführen mit Firejail

Eingesperrt

Nicht nur Administratoren wünschen sich einfache und intuitive Sandbox- Umgebungen, um mit wenig Aufwand Anwendungen zu Isolations-, Test- oder Analysezwecken abgeschottet in eigenen Laufzeitumgebungen auszuführen. Klassische virtuelle Maschinen gelten in Zeiten von Container-Technologie als Schwergewichte und umständlich. Container sind flexibel, schnell aufgesetzt und auch schnell wieder entsorgt. Unser Security-Tipp zeigt Ihnen mit Firejail eine einfache Möglichkeit, beliebte Anwendungen mit derselben Technik zu isolieren, die im klassischen Container-Betrieb zum Einsatz kommt.
Das flexible Bereitstellen von Anwendungen und Software-Umgebungen ist dank der Container-Technologie kein Hexenwerk mehr. Dennoch gilt es für Admins, so ... (mehr)

Die Abschottung wichtiger Systemressourcen mit Prozessen in eigenen Namensräumen hat in der Betriebssystemwelt eine lange Historie. Mit chroot gibt es etwa im Linux-Kernel bereits seit jeher eine Möglichkeit zur Isolation von Anwendungen. Den Ursprung hat chroot aber bereits im Jahr 1979 als Teil der Unix- Version 7. Der Begriff "Isolation" bezieht sich dabei zunächst ausschließlich auf das Wurzeldateisystem. So lässt sich einem Programm ein anderes Dateisystem darstellen, etwa um zu verhindern, dass unberechtigt und ungewollt auf wichtige Systemressourcen oder -einstellungen zugegriffen werden kann. Das ist vor allem für Anwendungen interessant, die als root-Benutzer laufen und keine entsprechenden Berechtigungen auf dem Hostsystem erhalten sollen.

Die heute zum Betrieb von Containern genutzten Techniken zur Prozessisolation haben ihren Ursprung Anfang der 2000er Jahre. Seit 2002 gibt es im Linux-Kernel zusätzlich zu chroot Namensräume für das Dateisystem. Damit lassen sich in Prozessgruppen unterschiedliche Dateisysteminhalte darstellen, etwa für das ganze Wurzeldateisystem oder nur spezielle Pfade. Im Lauf der Zeit wurde neben dem Dateisystem die Nutzung weiterer Ressourcen in Namensräumen ermöglicht. Der Linux-Kernel unterstützt aktuell acht unterschiedliche Namensräume für Ressourcen zur Prozessisolation [1].

Prozessisolation

Linux-Namensräume ermöglichen die Isolation von Prozessen und die Abstraktion von Ressourcen, die diese Prozesse verwenden. Der bereits erwähnte Mount-Namensraum erlaubt die Auswahl der Mount- Punkte, die innerhalb der Prozessgruppe dargestellt werden. Mittels sogenannter Bind-Mounts lassen sich damit im Grunde beliebige Dateisysteminhalte realisieren. Der PID-Namensraum abstrahiert die Prozess- IDs und gibt innerhalb der Prozessgruppe dem ersten Prozess der Gruppe die ID 1 und damit die Funktionalität des Init- Prozesses. Die

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021