Skip to content

Container-Sicherheit

Der Swiss AI Hub verwendet Containerisierung (Docker) für alle Services mit implementierter grundlegender Sicherheitshärtung.

Implementierungsstatus

SicherheitskontrolleStatus
Ausführung als Nicht-Root-BenutzerImplementiert
Multi-Stage-BuildsImplementiert
Minimale Basis-ImagesImplementiert
Seccomp-ProfileNicht konfiguriert
AppArmor/SELinuxNicht konfiguriert
Capability DroppingNicht konfiguriert
Nur-Lese-Root-DateisystemNicht konfiguriert
NetzwerksegmentierungGrundlegend (einzelnes Netzwerk)

Implementierte Kontrollen

Ausführung als Nicht-Root-Benutzer

Jeder Container läuft als nicht-privilegierter Benutzer (UID 1000, GID 1000). Alle Anwendungsprozesse laufen ohne Root-Berechtigungen ab, wodurch Schäden durch Container-Escape-Schwachstellen begrenzt und eine Privilegieneskalation verhindert werden.

Multi-Stage-Builds

Container verwenden Multi-Stage-Builds, die Build- und Laufzeitumgebungen trennen. Die Builder-Phase kompiliert Abhängigkeiten mit Build-Tools, während die Laufzeitphase nur notwendige Artefakte kopiert und Build-Tools aus dem finalen Image ausschließt. Dies reduziert die Angriffsfläche und die Image-Größe.

Minimale Basis-Images

Basis-Images verwenden die Slim-Variante (~150MB) anstelle des vollen Debian (~1GB). Dies bietet weniger Pakete, eine kleinere Angriffsfläche und eine reduzierte CVE-Exposition, während die Kompatibilität mit Python-Paketen erhalten bleibt.

Regelmäßige Updates der Basis-Images

Container-Images werden für jedes Release aus dem Quellcode neu erstellt, um sicherzustellen, dass die Basis-Images mit Sicherheits-Patches aktuell bleiben. Images folgen den Prinzipien der unveränderlichen Infrastruktur und werden niemals direkt (in place) gepatcht.

Verwandte Dokumentation

Gebaut mit ❤️ in der Schweiz 🇨🇭