More Info:
The kubelet —rotate-certificates argument should not be false so that client certificates are automatically rotated before expiry, avoiding authentication outages.Risk Level
HighAddress
SecurityCompliance Standards
- CIS AKS
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every worker node, inspect current kubelet process arguments to see if
--rotate-certificatesis explicitly set tofalse: -
On every worker node, edit the kubelet configuration file and ensure certificate rotation is enabled:
Then open the file to confirm or add the setting if missing:Make sure it contains:
-
On every worker node, check for a systemd drop-in that might override this setting and remove any
--rotate-certificates=falseargument:In the10-kubelet-args.conffile, remove--rotate-certificates=falseif present, or change it to: -
If your environment also uses
/etc/kubernetes/kubelet/kubelet-config.json(per the benchmark guidance), ensure it has rotation enabled:Confirm it contains: -
On every worker node, reload systemd and restart kubelet (this will restart the kubelet and may briefly impact node status):
-
Verification on every worker node: confirm kubelet is running without
--rotate-certificates=false:Ensure there is no--rotate-certificates=falsein the command line, and the configuration files still showrotateCertificates: true/"rotateCertificates": true.
Using kubectl
Using kubectl
kubectl cannot change kubelet process flags or its config file on the node. This finding must be fixed directly on every worker node via host-level configuration (for example
/etc/kubernetes/kubelet/kubelet-config.json, /etc/systemd/system/kubelet.service.d/10-kubelet-args.conf, or the kubelet arguments); see the Manual Steps section for how to do this.Automation
Automation

