Profilanwendbarkeit: Stufe 1
Die Kubernetes-API speichert Geheimnisse, die Dienstkontotoken für die Kubernetes-API
oder Anmeldeinformationen sein können, die von Workloads im Cluster verwendet werden.
Der Zugriff auf diese Geheimnisse sollte auf die kleinstmögliche Benutzergruppe beschränkt
werden, um das Risiko einer Rechteausweitung zu verringern.
Unangemessener Zugriff auf Geheimnisse, die im Kubernetes-Cluster gespeichert sind,
kann einem Angreifer zusätzlichen Zugriff auf den Kubernetes-Cluster oder externe
Ressourcen ermöglichen, deren Anmeldedaten als Geheimnisse gespeichert sind.
HinweisStandardmäßig haben die folgende Liste von Hauptbenutzern
get-Berechtigungen für secret-Objekte.
CLUSTERROLEBINDING SUBJECT TYPE SA-NAMESPACE cluster-admin system:masters Group system:controller:clusterrole-aggregation-controller clusterroleaggregation- controller ServiceAccount kube-system system:controller:expand-controller expand-controller ServiceAccount kube-system system:controller:generic-garbage-collector generic-garbagecollector ServiceAccount kube-system system:controller:namespace-controller namespace-controller ServiceAccount kube-system system:controller:persistent-volume-binder persistent-volumebinder ServiceAccount kube-system system:kube-controller-manager system:kube-controllermanager User |
Auswirkung
Es sollte darauf geachtet werden, den Zugriff auf Geheimnisse für Systemkomponenten,
die diesen für ihren Betrieb benötigen, nicht zu entfernen.
Prüfung
Überprüfen Sie die Benutzer, die
get, list oder watch-Zugriff auf secrets-Objekte in der Kubernetes-API haben.Wiederherstellung
Wo möglich, entfernen Sie
get-, list- und watch-Zugriff auf secret-Objekte im Cluster.
