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
stattubuntu
- 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
unddocker 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.
Schreibe einen Kommentar