Docker-Sicherheit ist ein entscheidender Faktor für den stabilen und geschützten Betrieb moderner Anwendungen. Container-Technologie bietet viele Vorteile – aber nur bei richtigem Umgang bleiben deine Container auch wirklich sicher. In diesem Artikel zeige ich dir die besten Docker Security Tipps, die sowohl Einsteiger als auch Fortgeschrittene kennen sollten.


🔐 Warum ist Docker-Sicherheit so wichtig?

Container laufen oft auf gemeinsam genutzter Infrastruktur. Ein unsicher konfigurierter Container kann nicht nur dein System kompromittieren, sondern auch Zugang zu anderen Diensten ermöglichen. Daher gilt: Sicherheit muss von Anfang an mitgedacht werden.


✅ 1. Verwende offizielle oder geprüfte Images

Nutze offizielle Docker-Images oder solche von vertrauenswürdigen Quellen (mit verifiziertem Badge). Prüfe regelmäßig auf Updates und Sicherheitspatches:

docker pull nginx:stable

Vermeide Images mit „latest“-Tag – sie sind nicht nachvollziehbar versioniert.


🧼 2. Halte Images schlank und aufgeräumt

Je kleiner das Image, desto geringer die Angriffsfläche. Tipps:

  • Nutze alpine statt ubuntu
  • Entferne unnötige Pakete
  • Verwende Multi-Stage Builds
FROM node:20-alpine

👤 3. Vermeide Root-Rechte im Container

Standardmäßig läuft ein Container als Root – das ist gefährlich. Besser:

RUN adduser -D appuser
USER appuser

⚠️ Auch in der Produktion niemals Root-Container laufen lassen!


🔍 4. Scanne deine Container auf Schwachstellen

Nutze Tools wie:

trivy image dein-image
docker scan dein-image

So erkennst du CVEs, veraltete Pakete und potenzielle Risiken – automatisiert im CI/CD-Prozess integrierbar.


🔐 5. Nutze Docker Secrets für vertrauliche Daten

Um Passwörter oder API-Keys zu schützen, verwende keine ENV-Variablen! Nutze stattdessen:

  • Docker Swarm Secrets
  • HashiCorp Vault
  • Kubernetes Secrets

Beispiel für Swarm:

echo "geheimes-passwort" | docker secret create db_password -

📁 6. Beschränke Mounts & Dateizugriffe

Vermeide globale Mounts (/) oder Schreibzugriffe, wo nicht nötig:

 /daten:/app/data:ro

Setze nur gezielte Volumes und nutze read-only, wo möglich.


📦 7. Nutze Sicherheits-Profile & Isolation

Aktiviere Sicherheitsfunktionen wie:

  • seccomp
  • AppArmor
  • SELinux
  • --cap-drop (Entzieht unnötige Linux-Capabilities)

Beispiel:

docker run --cap-drop=ALL --cap-add=NET_BIND_SERVICE ...

🌐 8. Öffne nur benötigte Ports

Nicht jeder Container braucht Internet oder 80/443 offen. Nutze:

docker run -p 127.0.0.1:8080:80 ...

➡️ Bind nur auf localhost und öffne nur benötigte Ports nach außen.


🔁 9. Automatisiere Sicherheits-Updates

Nutze Tools wie:

  • Watchtower – automatisiert Image-Updates
  • CI/CD Pipelines mit trivy und docker scan
  • GitHub Actions + Dependabot für Base-Image-Security

🚨 10. Logge & monitore deine Container

Verwende zentrale Logging-Systeme wie:

  • Loki
  • Elasticsearch + Kibana
  • Grafana + Prometheus

So erkennst du ungewöhnliches Verhalten frühzeitig.


🧠 Fazit

Docker-Sicherheit ist kein Add-on – sie muss Teil deiner Architektur sein. Mit diesen Tipps schützt du deine Container vor gängigen Angriffen und sorgst für eine stabile, skalierbare Infrastruktur.

✅ Nutze geprüfte Images
✅ Vermeide Root
✅ Scanne regelmäßig
✅ Nutze Secrets
✅ Schränke Berechtigungen ein

📌 Weitere Container-Sicherheitstipps, DevOps-Guides und Kubernetes-Strategien findest du auf howtonow.de.