Risiken
User-Kontext erzwingen für erhöhte Kubernetes-Container-Sicherheit
Selbst-spezifizierte UID in Kubernetes-Containern erstellen
Es wird empfohlen, eine selbst-spezifizierte UID in die Container-Datei zu integrieren. Diese sollte nicht mit UID der Host-VM in Konflikt geraten. Sollte ein Angreifer beispielsweise einen der Container mithilfe des Nutzer-Accounts mit der UID 1000 übernommen und ausbrechen, sind ihm lediglich die Rechte des Nutzers mit dieser UID vorbehalten.
Im schlimmsten Fall bricht ein Angreifer aus einem Container aus, der mit der Standard-Root-UID ausgeführt wird. Dadurch erhält er Zugriff auf das Root-Verzeichnis und die damit verbundenen Root-Rechte auf der Host-VM.
Um dieses Risiko zu vermeiden, sollten speziell ausgewählte UIDs zugewiesen werden, die im normalen Gebrauch weniger wahrscheinlich sind. Allerdings muss darauf geachtet werden, dass die UID nicht am Ende des verwendeten Bereichs liegt. Wir empfehlen, die UID im oberen Drittel zu wählen. Für nachfolgende Kontexte gelten die gleichen Ausgangssituationen und Risiken.
Erhöhte Sicherheit mit selbst spezifizierten UIDs
Selbst spezifizierte UIDs verbessern die Sicherheit, indem sie eine zusätzliche Isolationsebene zwischen dem Container und dem Host hinzufügen. Wenn ein Container mit einer eindeutigen UID läuft, die sich mit keiner Host-UID überschneidet, wird das Risiko einer Privilegienerweiterung minimiert. So geht's:
Isolierung von Benutzerkontexten: Indem jedem Container eine eindeutige UID zugewiesen wird, wird sichergestellt, dass ein Angreifer, selbst wenn er Zugriff auf den Container erhält, auf die mit dieser spezifischen UID verbundenen Berechtigungen beschränkt ist. Diese Trennung verhindert, dass der Angreifer Privilegien auf Host-Ebene erbt.
Abschwächung der Privilegieneskalation: Sich überschneidende UIDs zwischen dem Host und dem Container können zu einer Privilegienerweiterung führen. Wenn zum Beispiel ein Container-Benutzer dieselbe UID hat wie ein Host-Benutzer mit erhöhten Rechten, könnte ein Ausbruch aus dem Container dem Angreifer dieselben erhöhten Rechte auf dem Host gewähren. Indem sichergestellt wird, dass sich Container-UIDs nicht mit Host-UIDs überschneiden, wird dieses Risiko gemindert.
Reduzierte Angriffsfläche: Durch die Zuweisung von UIDs aus dem oberen Drittel des Bereichs wird sichergestellt, dass sie mit geringerer Wahrscheinlichkeit von Standard-Systemprozessen oder allgemeinen Benutzerkonten verwendet werden. Dadurch verringert sich die Wahrscheinlichkeit, dass ein Angreifer auf eine vertraute oder vorhersehbare Umgebung trifft, die er ausnutzen könnte.
Zusammenfassend lässt sich sagen, dass sorgfältig ausgewählte, selbst spezifizierte UIDs die Sicherheit erhöhen, indem sie eine strikte Isolierung zwischen Container- und Host-Umgebungen aufrechterhalten und so das Potenzial für böswillige Akteure verringern, UID-Überschneidungen für unberechtigten Zugriff oder die Ausweitung von Privilegien auszunutzen.