Profilanwendbarkeit: Stufe 1 - Cluster / Steuerungsebene
Kubernetes-Rollen und ClusterRoles gewähren Zugriff auf Ressourcen, indem sie zulässige
Mengen von Objekten und Aktionen definieren. Das Setzen dieser Rollen auf das Platzhalterzeichen
"*", das alle Elemente abdeckt, kann zu Sicherheits-Schwachstellen führen, indem versehentlich
Zugriff auf neue Ressourcen gewährt wird, die der Kubernetes-API hinzugefügt werden,
sei es durch benutzerdefinierte Ressourcendefinitionen (CRDs) oder zukünftige Versionen
der Plattform. Aus Sicherheitssicht wird diese Praxis nicht empfohlen, da sie dem
Prinzip der minimalen Rechtevergabe widerspricht, das vorschreibt, den Benutzerzugriff
strikt auf das Notwendige für ihre Rollen zu beschränken, um die Gewährung übermäßiger
Rechte innerhalb der Kubernetes-API zu vermeiden.
Prüfung
Rufen Sie die in jedem Namespace im Cluster definierten Rollen ab und überprüfen Sie
sie auf Platzhalter:
kubectl get roles --all-namespaces -o yaml
Rufen Sie die im Cluster definierten Clusterrollen ab und überprüfen Sie auf Platzhalter:
kubectl get clusterroles -o yaml
Wiederherstellung
Wo möglich, ersetzen Sie die Verwendung von Platzhaltern in Clusterrollen und Rollen
durch spezifische Objekte oder Aktionen.