Training Module

Docker Sicherheit & Orchestrierung mit Swarm

In diesem 2¼-Stunden-Modul geht es zunächst um sichere Software-Bezugswege: das Risiko von curl | sh, die Herkunft von Images und warum ein –insecure-Flag nie dauerhaft in einem Skript landen sollte. Der inhaltliche Kern – Container-Härtung und Rechte-Eskalation, inklusive einer Hands-on-Übung, in der ihr einen absichtlich unsicheren Stack gegen eine Musterlösung abgleicht. Danach der Einstieg in Orchestrierung: die Swarm-Architektur, eine ehrliche Einordnung Swarm vs. Kubernetes, und zum Abschluss – als konzeptioneller Ausblick, nicht als eigenes Hands-on – Stateful- vs. Stateless-Services, Placement Constraints und eine Referenzarchitektur über einen Fünf-Node-Cluster. Die Härtungs-Übung läuft komplett lokal und rein skriptbasiert, ganz ohne Cloud-Account und ohne Kostenwirkung.

Format

Ca. 2 Stunden 15 Minuten, live (remote oder vor Ort), Input, Live-Demo & Hands-on

Teilnehmende

Absolvent:innen von “Docker Fortgeschritten” und “Docker Betrieb” oder gleichwertige Vorkenntnisse

Voraussetzungen

Sicherer Umgang mit compose.yaml und Dauerbetrieb-Grundlagen (Restart-Policies, Ressourcenlimits, Registries) aus den beiden Vorgängermodulen. Keine Cloud-/AWS-Kostenwirkung – die Härtungs-Übung läuft rein skriptbasiert.

Warum dieses Training für deine Organisation wirkt

Vertrauen ist keine Kontrolle

Ein Installer-Skript per curl | sh auszuführen oder ein Image aus unbekannter Quelle zu pullen, fühlt sich schnell und harmlos an – bis es das nicht mehr ist. Dieses Training macht sichere Bezugswege zur Routine, nicht zur Ausnahme.

Vom Container zum Rechte-Eskalationspfad

Der Kern des Trainings: welche einzelnen, unscheinbaren Konfigurationsentscheidungen – ein gemountetes docker.sock, ein fehlendes read_only, ein Klartext-Passwort – aus einem kompromittierten Container einen kompromittierten Host machen, und wie ihr das per Skript statt durch Zufall findet.

Orchestrierung ehrlich eingeordnet

Swarm-Architektur und eine nüchterne Swarm-vs.-Kubernetes-Einordnung, ohne Verkaufsargument in die eine oder andere Richtung – plus ein konzeptioneller Blick auf Stateful/Stateless-Placement anhand einer echten Referenzarchitektur.

Was Teilnehmende mitnehmen

  • Das Risiko von curl | sh-Installern einordnen und eine sicherere Alternative (Skript erst herunterladen, prüfen, dann ausführen; signierte Paketquellen) anwenden.
  • Image-Herkunft bewerten: offizielle Images, Verified-Publisher-Kennzeichnung, gepinnte Digests statt :latest oder loser Tags.
  • Warum ein –insecure-Flag (curl -k, –no-check-certificate, insecure-registries) nie dauerhaft in einem Skript oder einer Pipeline landen sollte.
  • Container härten: Capabilities droppen, no-new-privileges, read_only-Root-Dateisystem mit tmpfs, ein fester Non-Root-user:.
  • Den docker.sock-Mount als Rechte-Eskalationspfad erkennen und in einer Hands-on-Übung einen unsicheren Stack gegen eine Musterlösung abgleichen – rein skriptbasiert per check_stack_security.py.
  • Die Swarm-Architektur einordnen: Manager-/Worker-Nodes, Raft-Konsens, Services/Tasks, Overlay-Netzwerk, Routing-Mesh – und eine ehrliche Swarm-vs.-Kubernetes-Abwägung.
  • Stateful- vs. Stateless-Services und Placement Constraints konzeptionell verstehen, anhand einer Referenzarchitektur (Live-Demo, kein eigenes Hands-on in diesem Modul).

Für wen dieses Modul ideal ist

  • • Absolvent:innen von “Docker Fortgeschritten” und “Docker Betrieb” oder Teams mit gleichwertigen Vorkenntnissen im Dauerbetrieb
  • • Teams, die einzelne Container bereits sicher betreiben, aber Härtung und Rechte-Eskalation bisher nicht strukturiert angefasst haben
  • • Alle, die den ersten Schritt Richtung Orchestrierung einordnen wollen, bevor sie sich für Swarm oder Kubernetes entscheiden

Rahmendaten

  • • Dauer: ca. 2 Stunden 15 Minuten live (remote oder vor Ort)
  • • Format: Input, Live-Demo, skriptbasierte Härtungs-Übung mit Musterlösungs-Abgleich
  • • Voraussetzungen: abgeschlossene Module “Docker Fortgeschritten” und “Docker Betrieb” oder gleichwertige Vorkenntnisse, lauffähige Docker-Umgebung, keine Cloud-Kostenwirkung

Modulaufbau & Agenda

  1. Begrüßung & Format (5 min): Rückblick auf “Docker Fortgeschritten” und “Docker Betrieb”, Ausblick auf die vier Module.

  2. Sichere Software-Bezugswege (20 min): das Risiko von curl | sh, Image-Herkunft (offizielle Images, Verified Publisher, gepinnte Digests), warum –insecure kein Dauerzustand sein darf.

  3. Container-Härtung & Rechte-Eskalation (40 min, Kern, inkl. Hands-on): Capabilities, no-new-privileges, read_only/tmpfs, Non-Root-user:, der docker.sock-Mount als Eskalationspfad – Hands-on-Abgleich stack-insecure.yml gegen stack-fixed.yml.

  4. Warum Orchestrierung? Swarm-Architektur, Swarm vs. Kubernetes (30 min): Manager-/Worker-Nodes, Raft-Konsens, Services/Tasks, Overlay-Netzwerk, Routing-Mesh, ehrliche Einordnung gegenüber Kubernetes.

  5. Orchestrierung in der Praxis (40 min, konzeptionell/Live-Demo): Stateful vs. Stateless, Placement Constraints, eine Photo-Diary-Referenzarchitektur über einen Fünf-Node-Cluster – als Live-Demo eingeordnet, kein eigenes Teilnehmenden-Hands-on in diesem Modul.

Die hier nur konzeptionelle Swarm-vs.-Kubernetes-Einordnung wird im Modul Docker & Kubernetes: Vom Compose-Stack zum lokalen Cluster zum eigenen Hands-on: Control Plane/Worker-Architektur, ein erstes Deployment mit Minikube und die Migration eines Monitoring-Stacks per kompose convert.

Die hier nur konzeptionell/als Live-Demo gezeigte Swarm-Praxis – Cluster-Aufbau, Stack-Deployment, Skalierung und Placement Constraints – wird im Modul Docker Swarm Hands-on: Vom Cluster-Aufbau zum produktiven Stack zum eigenen Hands-on: ein selbst aufgebauter Swarm-Cluster, ein Mehrdienste-Stack mit MongoDB-Replica-Set per docker stack deploy, Skalierung im laufenden Betrieb und eine Placement Constraint an einer echten Datenbank-Instanz.

Hands-on Inhalte (Auszug)

Sichere Bezugswege

  • Ein Installer-Skript erst herunterladen und prüfen, statt es direkt per Pipe an die Shell zu übergeben
  • Image-Digests statt loser Tags referenzieren
  • –insecure-Flags als bewussten, befristeten Kompromiss statt Dauerzustand behandeln

Container-Härtung (Kern-Hands-on)

  • Fünf eingebaute Sicherheitsfehler in stack-insecure.yml per Skript statt durch Hochstarten finden
  • check_stack_security.py gegen die Musterlösung stack-fixed.yml laufen lassen – funktioniert komplett ohne laufenden Docker-Daemon
  • docker.sock-Mount, Klartext-Secrets, fehlendes read_only/user, offener DB-Port, Netzwerk ohne internal: true im Detail durchgehen

Swarm-Architektur

  • Manager- und Worker-Nodes, Raft-Konsens für die Cluster-Verwaltung
  • Services und Tasks als Swarms Grundbausteine, docker stack deploy
  • Overlay-Netzwerk und Routing-Mesh im Zusammenspiel

Orchestrierung in der Praxis

  • Stateful- vs. Stateless-Services und was das für Placement bedeutet
  • Placement Constraints anhand von Node-Labels
  • Photo-Diary-Referenzarchitektur über fünf Nodes – konzeptionell/Live-Demo, nicht selbst hochgefahren

Dieses Modul ist Teil unserer Pilotphase. Gemeinsam mit euch definieren wir passende Metriken (z. B. Zeit bis zur gefundenen Härtungslücke, Ergebnis der Hands-on-Übung) und werten sie im Anschluss transparent aus. Ergebnisse veröffentlichen wir, sobald sie belastbar sind.

Bereit, das Modul zu buchen?

Wir passen die Hands-on-Übung auf euren Erfahrungsstand und eure Zielumgebung an.

Academy Briefing anfragen