Ensure that the RotateKubeletServerCertificate argument is set to true (Kubelet)
Enable kubelet server certificate rotation. RotateKubeletServerCertificate causes the kubelet to both request a serving certificate after bootstrapping its client credentials and rotate the certificate as its existing credentials expire. This automated periodic rotation ensures that the there are no downtimes due to expired certificates and thus addressing availability in the CIA security triad.
Risk Level: High
Cloud Entity: Node
CloudGuard Rule ID: D9.K8S.CRY.03
Covered by Spectral: Yes
Category: Compute
GSL LOGIC
KubernetesNode where not kubeletData isEmpty() should have kubeletData.kubeletconfig.featureGates.RotateKubeletServerCertificate = 'true'
REMEDIATION
Edit the kubelet service file $kubeletsvc
on each worker node and set the below parameter in KUBELET_CERTIFICATE_ARGS variable.
--feature-gates=RotateKubeletServerCertificate=true
Based on your system, restart the kubelet service. For example:
systemctl daemon-reload
systemctl restart kubelet.service
- If using the api configz endpoint consider searching for the status of
rotateKubeletServerCertificate by extracting the live configuration from the nodes
running kubelet.
**See detailed step-by-step configmap procedures in
https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/
References
- https://github.com/kubernetes/kubernetes/pull/45059
- https://kubernetes.io/docs/admin/kubelet-tls-bootstrapping/#kubelet-configuration
Node
A node is a worker machine in Kubernetes, previously known as a minion. A node may be a VM or physical machine, depending on the cluster. Each node contains the services necessary to run pods and is managed by the master components. The services on a node include the container runtime, kubelet and kube-proxy.
Compliance Frameworks
- CIS Amazon Elastic Kubernetes Service (EKS) Benchmark v1.0.1
- CIS Amazon Elastic Kubernetes Service (EKS) Benchmark v1.1.0
- CIS Amazon Elastic Kubernetes Service (EKS) Benchmark v1.2.0
- CIS Amazon Elastic Kubernetes Service (EKS) Benchmark v1.3.0
- CIS Google Kubernetes Engine (GKE) Benchmark v1.2.0
- CIS Google Kubernetes Engine (GKE) Benchmark v1.4.0
- CIS Kubernetes Benchmark v1.20
- CIS Kubernetes Benchmark v1.23
- CIS Kubernetes Benchmark v1.4.0
- CIS Kubernetes Benchmark v1.5.1
- CIS Kubernetes Benchmark v1.6.1
- CIS Microsoft Kubernetes Engine (AKS) Benchmark v1.3.0
- Kubernetes NIST.SP.800-190
- Kubernetes v.1.13 CloudGuard Best Practices
- Kubernetes v.1.14 CloudGuard Best Practices
Updated over 1 year ago