Kubelet nodes should only read objects associated with them
Set up the kubernetes integration.
Description
Restrict kubelet nodes to reading only objects associated with them.
Rationale
The Node authorization mode only allows kubelets to read Secret, ConfigMap, PersistentVolume, and PersistentVolumeClaim objects associated with their nodes.
Audit
Run the following command on the master node:
ps -ef | grep kube-apiserver
Verify that the --authorization-mode
argument exists and is set to a value to include Node.
Edit the API server pod specification file /etc/kubernetes/manifests/kube-apiserver.yaml
on the master node and set the --authorization-mode
parameter to a value that includes Node. --authorization-mode=Node,RBAC
Impact
None
Default value
By default, Node authorization is not enabled.
References
- https://kubernetes.io/docs/admin/kube-apiserver/
- https://kubernetes.io/docs/admin/authorization/node/
- https://github.com/kubernetes/kubernetes/pull/46076
- https://acotten.com/post/kube17-security
CIS controls
Version 6.9.1 Limit Open Ports, Protocols, and Services - Ensure that only ports, protocols, and services with validated business needs are running on each system.
Version 7.9.2 Ensure Only Approved Ports, Protocols and Services Are Running - Ensure that only network ports, protocols, and services listening on a system with validated business needs, are running on each system.