Docker/Sicherheit: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „== Sicherheit == ; Kein Sicherheitsgewinn * Durch Container hat man allerdings im Gegensatz zu herkömmlichen VMs keinen Sicherheitsgewinn * da die im Container laufende Software ja direkt auf dem Host-Betriebssystem ausgeführt wird === Sicherheitsaspekte === ; Root-Rechte Docker-Container werden durch einen Daemon erzeugt, der in der Vergangenheit zwingend ''root''-Rechte haben musste, ab Version 19.03 unter bestimmten Umständen abe…“ |
|||
| (10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
== | '''{{BASEPAGENAME}}''' - Beschreibung | ||
== Beschreibung == | |||
; Kein Sicherheitsgewinn | ; Kein Sicherheitsgewinn | ||
Durch Container hat man im Gegensatz zu herkömmlichen VMs keinen Sicherheitsgewinn | |||
* | * die im Container laufende Software wird direkt auf dem Host-Betriebssystem ausgeführt | ||
=== Sicherheitsaspekte === | === Sicherheitsaspekte === | ||
| Zeile 30: | Zeile 32: | ||
* hat das Unternehmen [[Red Hat]] Unterstützung für die sicherheitsrelevante Kernel-Erweiterung [[SELinux]] implementiert | * hat das Unternehmen [[Red Hat]] Unterstützung für die sicherheitsrelevante Kernel-Erweiterung [[SELinux]] implementiert | ||
* welche die Container auf der Ebene des Host-Systems zusätzlich absichert | * welche die Container auf der Ebene des Host-Systems zusätzlich absichert | ||
== Anwendung == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
</syntaxhighlight> | |||
<!-- output --> | |||
<syntaxhighlight lang="bash" highlight="" line> | |||
</syntaxhighlight> | |||
=== Problembehebung === | |||
== Konfiguration == | |||
=== Dateien === | |||
{| class="wikitable options big" | |||
|- | |||
! Datei !! Beschreibung | |||
|- | |||
| || | |||
|- | |||
| || | |||
|} | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
<div style="column-count:2"> | |||
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | |||
</div> | |||
---- | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Dokumentation === | |||
<!-- | |||
; Man-Page | |||
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | |||
; Info-Pages | |||
--> | |||
=== Links === | |||
==== Projekt ==== | |||
==== Weblinks ==== | |||
# https://docs.docker.com/engine/security/ | |||
[[Kategorie:Docker/Sicherheit]] | |||
</noinclude> | |||
Aktuelle Version vom 13. November 2025, 13:52 Uhr
Docker/Sicherheit - Beschreibung
Beschreibung
- Kein Sicherheitsgewinn
Durch Container hat man im Gegensatz zu herkömmlichen VMs keinen Sicherheitsgewinn
- die im Container laufende Software wird direkt auf dem Host-Betriebssystem ausgeführt
Sicherheitsaspekte
- Root-Rechte
Docker-Container werden durch einen Daemon erzeugt, der in der Vergangenheit zwingend root-Rechte haben musste, ab Version 19.03 unter bestimmten Umständen aber auch unprivilegiert sein kann
- Läuft der Daemon mit root-Rechten, bedient man sich oft einer eigenen Nutzergruppe, um auch unprivilegierten Nutzern die Erzeugung neuer Docker-Container zu erlauben
- Unprivilegierten Nutzer
Ein möglicher Fallstrick besteht darin, dass alle unprivilegierten Nutzer, die Mitglied einer solchen Nutzergruppe sind, indirekt über volle root-Rechte auf dem Host-System verfügen
- Die alternative Software für Containervirtualisierung Podman verzichtet auf dieses Sicherheitsrisiko, ist zu Docker kompatibel und angepasst auf Kubernetes
- Format
Die Open Container Initiative spezifiziert ein Format zur Containervirtualisierung
- Da es sich um eine internationale und offene Spezifikation handelt, kann prinzipiell jeder diese implementieren
- So sind sicherere Alternativen zu Docker entstanden, zu denen man vorhandene Images oder Container migrieren kann – etwa containerd oder Podman
- Trotz Standardisierung gibt es kleinere Unterschiede, etwa im Speicherort von Container und Images
- Unterschiede zu Virtuellen Maschinen
Im Unterschied zu einer Virtuellen Maschine teilen sich Container und Host einen gemeinsamen Betriebssystem-Kernel
- Dies verbessert einerseits die Leistung erheblich, vergrößert andererseits aber auch das Risiko, dass erfolgreiche Angriffe gegen den Kernel auch den Host kompromittieren
Bei richtiger Konfiguration sind selbst root-Rechte innerhalb eines Docker-Containers nicht dazu geeignet, um den Host anzugreifen
- Insbesondere sollte dazu ein neuer User Namespace erzeugt und der root-Benutzer des Containers auf einen unprivilegierten Benutzer des Hosts abgebildet werden
Ressourcentrennung
Da die Ressourcentrennung alleine mit den Docker zugrunde liegenden Techniken wie Namespaces und Cgroups nicht völlig sicher ist
- hat das Unternehmen Red Hat Unterstützung für die sicherheitsrelevante Kernel-Erweiterung SELinux implementiert
- welche die Container auf der Ebene des Host-Systems zusätzlich absichert
Anwendung
Problembehebung
Konfiguration
Dateien
| Datei | Beschreibung |
|---|---|
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks