More Info:
Enable client authentication on etcd service.Risk Level
MediumAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every etcd (control plane) node, open the etcd static pod manifest for editing:
-
In the
spec.containers[0].command(orargs) list for theetcdcontainer, add or update the client auth flag so it is exactly:Ensure there is no conflicting--client-cert-authentry with a different value. -
Save and exit the editor. The kubelet will automatically detect the change to
/etc/kubernetes/manifests/etcd.yamland restart the etcd static pod; expect a brief etcd interruption while it restarts. -
Wait for etcd to come back up and confirm the etcd pod is running (on a control plane node that has
crictlordocker, as appropriate): -
Verify that the etcd process is now running with
--client-cert-auth=trueon each etcd node:Confirm the output includes--client-cert-auth=trueand no occurrence of--client-cert-auth=false.
Using kubectl
Using kubectl
kubectl cannot modify the etcd static pod manifest or its process flags; this setting must be changed directly on each etcd node by editing
/etc/kubernetes/manifests/etcd.yaml. Refer to the Manual Steps section for the required host-level changes and verification commands.Automation
Automation

