DevOps Fortgeschritten
Docker Security Best Practices¶
DockerSecurityContainerizationDevSecOps 5 Min. Lesezeit
Absicherung von Docker-Containern. Image Scanning, Rootless Container, Read-Only-Dateisystem und Runtime-Sicherheit.
Image-Sicherheit¶
- Verwenden Sie minimale Base Images (Alpine, Distroless)
- Versionen pinnen:
node:20.11.1-alpine3.19(nicht:latest) - Images scannen:
trivy image myapp:latest - Multi-Stage Builds — keine Build-Tools in der Produktion
- Images signieren: Cosign / Notary
Rootless Container¶
# Dockerfile
FROM node:20-alpine
# Non-Root-Benutzer erstellen
RUN addgroup -g 1001 -S app && adduser -S app -u 1001 -G app
WORKDIR /app
COPY --chown=app:app . .
# Zu Non-Root wechseln
USER app
EXPOSE 3000
CMD ["node", "server.js"]
# Kubernetes
securityContext:
runAsNonRoot: true
runAsUser: 1001
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
capabilities:
drop: [ALL]
Runtime-Sicherheit¶
- Read-Only-Dateisystem:
readOnlyRootFilesystem: true - Capabilities entfernen:
capabilities: { drop: [ALL] } - Seccomp-Profile: Einschränkung von Syscalls
- AppArmor/SELinux: Mandatory Access Control
- Ressourcenlimits: Setzen Sie immer CPU- und Memory-Limits
Zusammenfassung¶
Docker-Sicherheit ist eine mehrschichtige Verteidigung: minimales Image, Non-Root-Benutzer, Read-Only-Dateisystem und Runtime-Einschränkungen. Scannen in CI, durchsetzen in K8s.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.