Docker Desktop Konfiguration
Wie zuvor beschrieben, dient Docker Desktop in dieser Guideline als Container Runtime. Alle Container werden letztlich über Docker gestartet und ausgeführt.
Enhanced Container Isolation
Abschnitt betitelt „Enhanced Container Isolation“Wenn möglich sollte Enhanced Container Isolation aktiviert werden.
General → Use Enhanced Container IsolationDiese Funktion erhöht die Isolation zwischen Container und Host-System.
File Sharing / Mount-Pfade
Abschnitt betitelt „File Sharing / Mount-Pfade“Auf macOS startet Docker Desktop eine Linux-VM, in der alle Container ausgeführt werden.
Der Zugriff auf Host-Dateien ist standardmäßig auf definierte Verzeichnisse beschränkt. Diese Liste wirkt als zusätzliche Sicherheitsgrenze zwischen Container und Host-System.
In Docker Desktop kann definiert werden, welche Host-Verzeichnisse Container überhaupt mounten dürfen:
Resources → File Sharing → Virtual file sharesDiese sollten möglichst auf das Arbeitsverzeichnis beschränkt werden, zum Beispiel:
~/WorkDa in dieser Guideline außerdem bestimmte Konfigurationsdateien für Git und SSH in den Dev Container gemountet werden, müssen auch diese Verzeichnisse freigegeben werden.
~/Work~/.ssh/config.d/dev-container~/.ssh/known_hosts.d/dev-container~/.gitconfig.dWarum das sicherheitsrelevant ist
Abschnitt betitelt „Warum das sicherheitsrelevant ist“Wer Zugriff auf den Docker Daemon hat, kann indirekt auch auf Teile des Host-Systems zugreifen.
Negativ-Beispiel:
docker run -v <host-user-directory>:/host <image>Der Container hätte in diesem Fall Zugriff auf das gesamte Home-Verzeichnis des Nutzers. Durch die Einschränkung der File-Sharing-Pfade wird die mögliche Angriffsfläche reduziert.
Ressourcenbegrenzung
Abschnitt betitelt „Ressourcenbegrenzung“Die Ressourcenbegrenzung ist keine direkte Sicherheitsmaßnahme, kann jedoch DoS-artige Probleme verhindern.
Beispiel:
Resources → Advanced
CPU: 6Memory: 32GBSwap: 2GBDisk Usage Limit: 256GBTelemetry
Abschnitt betitelt „Telemetry“Optional können Telemetrie-Funktionen deaktiviert werden.
General → Send usage statisticsGeneral → Enable Scout image analyticsKubernetes deaktivieren
Abschnitt betitelt „Kubernetes deaktivieren“Docker Desktop kann optional ein lokales Kubernetes-Cluster starten. Wenn Kubernetes nicht benötigt wird, sollte es deaktiviert werden:
Settings → Kubernetes → disableDocker Extensions deaktivieren
Abschnitt betitelt „Docker Extensions deaktivieren“Docker Desktop unterstützt Erweiterungen, die als Container laufen und teilweise Zugriff auf Docker API, Dateien und Netzwerk erhalten. Wenn Extensions nicht benötigt werden, sollten sie deaktiviert werden:
Extensions → Enable Docker ExtensionsAI / Model Runner deaktivieren
Abschnitt betitelt „AI / Model Runner deaktivieren“Docker Desktop kann lokale AI- bzw. LLM-Modelle ausführen. Wenn diese Funktion nicht benötigt wird, sollte sie deaktiviert werden:
AI → Docker Model Runner → DisableBeta Features deaktivieren
Abschnitt betitelt „Beta Features deaktivieren“Beta-Features können experimentelle Funktionen enthalten. Wenn sie nicht benötigt werden, sollten sie deaktiviert bleiben.