Zugriff auf System-Ressourcen mit Docker

Abgeschottet

Docker bietet die Isolation von Anwendungen in bestimmten Laufzeitumgebungen. Das erinnert häufig an Virtualisierung und dort verwendete virtuelle Maschinen. Da Docker jedoch ein anderes Prinzip zur Virtualisierung verwendet, können insbesondere Security-Aspekte in vielen Fällen nicht ohne weiteres eingehalten werden und falls doch, führt dies zu einer Einschränkung der Funktionalität des Containers. In unserem Security-Tipp beschreiben wir, wie Capabilities und Policies den Zugriff auf System-Ressourcen erlauben.
Container sind derzeit in aller Munde, allen voran Docker. In der September-Ausgabe beleuchtet IT-Administrator, was die Technologie für Admins im Unternehmen ... (mehr)

Docker und andere Container-Virtualisierer isolieren Prozesse mittels Control-Groups (CGroups) und Namespaces. Die Basis dieser Funktionalität wurde Anfang 2008 in den Linux-Kernel 2.6 integriert und seitdem immer wieder aktualisiert und erweitert. CGroups erlauben das Einschränken von Prozessen hinsichtlich Betriebssystem-Ressourcen sowie CPU- und IO-Nutzung. Zusätzlich gibt es Userspace-Tools in der Bibliothek "libcgroup" für das Management der CGroups, die Accounting und Zustandskontrolle der Prozesse erlauben.

CGroups werden ergänzt durch die Fähigkeiten des Linux-Kernels, Prozessen in Namespaces Zugriff auf Gruppen von Ressourcen zu ermöglichen. Namespaces gibt es beispielsweise für Benutzer und Gruppen, Prozess-IDs, Netzwerkzugriff inklusive IPTables und Routing, Dateisysteme und Verzeichnisstrukturen sowie Interprozesskommunikation. Wie Namespaces grundsätzlich funktionieren, können Sie mit den folgenden Befehlen beispielsweise für PIDs ausprobieren:

$ sudo unshare --pid --fork --mount-proc bash
$ top

Die Ausgabe im Bild zeigt Ihnen, dass bash nun wie sonst init mit der PID 1 läuft und top darunter mit der PID 4. Die Argumente "--fork" und "--mount-proc" stellen sicher, dass die Prozesse bei Nutzung des PID-Namespaces auf dem Host dem unshare-Prozess zugeordnet werden und ein eigenes /proc-Dateisystem erhalten. Letzteres ist wichtig, da sonst das /proc-Dateisystem des Hosts und damit Prozesse außerhalb des Namespaces beeinträchtigt würden.

Zugriff auf Namespaces

Innerhalb des Namespaces ist es nun also nicht mehr ohne weiteres möglich, auf die anderen Prozesse zuzugreifen. Da Sie keinen Zugriff auf das /proc-Dateisystem des Hosts haben, können Sie auch mit root-Rechten nicht ohne weiteres auf deren Eigenschaften zugreifen. Andersherum funktioniert das jedoch, so können Sie vom Host

...

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

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Support-Ende von SMBv1

Mit dem aktuellen Update für Windows 10 und Windows Server 2016 steht eine Änderung ins Haus, die gerade für Benutzer älterer Linux-Distributionen große Auswirkungen hat. Nachdem Microsoft es über viele Jahre schon angekündigt hat, entfernt der Konzern mit dem aktuellen Update-Release den Support für das SMB-Protokoll 1. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Linux-Backup

Welche Backup-Lösung setzen Sie für Linux im professionellen Umfeld ein?

  • keine
  • eigene Scripts
  • rsnapshot
  • rdiff-backup
  • Bacula
  • Bareos
  • Borg
  • Duplicity
  • Amanda
  • Burp
  • Clonezilla
  • Acronis
  • Arkeia
  • SEP sesam
  • Veeam
  • Redo Backup
  • Relax-and-Recover
  • andere kommerzielle Software
  • andere Open-Source-Software

Google+

Ausgabe /2018

Microsite