More Info:
Restricting tlsCipherSuites to strong ciphers prevents the kubelet from negotiating weak or deprecated cryptographic algorithms. This hardens the confidentiality of kubelet TLS connections.Risk Level
MediumAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every worker node, back up the existing kubelet config and (if present) the systemd drop-in:
-
On every worker node, edit
/var/lib/kubelet/config.yamlto define strong ciphers in the Kubelet config file (create or replace thetlsCipherSuitessection as needed):
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 EOF
-
On every worker node, reload systemd and restart the kubelet (this will disrupt kubelet on the node briefly, so do this node by node):
-
On every worker node, confirm the kubelet process is running with the desired cipher suites flag (if you use flags) and that it has restarted successfully:
-
Optionally, on every worker node, confirm that either the config file or the flag now specifies only strong ciphers:
Using kubectl
Using kubectl
kubectl cannot modify kubelet host-level configuration such as
/var/lib/kubelet/config.yaml or systemd units on worker nodes. To remediate this finding, you must change the kubelet configuration directly on each worker node; follow the guidance in the Manual Steps section.Automation
Automation

