Profilanwendbarkeit: Stufe 1
Die Kubernetes-API speichert Geheimnisse, bei denen es sich um Service-Account-Tokens
für die Kubernetes-API oder um Anmeldeinformationen handelt, die von Workloads im
Cluster verwendet werden. Der Zugriff auf diese Geheimnisse sollte auf die kleinstmögliche
Gruppe von Benutzern 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 folgenden Prinzipale Zugriffsrechte auf geheime 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.
