More Info:
A dedicated —trusted-ca-file should be used for etcd so it does not share a certificate authority with the wider cluster. Using a separate CA limits the blast radius if another components CA is compromised.Risk Level
HighAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every etcd (control plane) node, identify the current etcd manifest and TLS settings:
Note any existing
--trusted-ca-file=...flag under the etcd containercommand:section and any other TLS flags such as--cert-file,--key-file, and--peer-trusted-ca-file. -
On every etcd node, create a dedicated CA for etcd (do NOT reuse the cluster CA). Example using OpenSSL:
Adjust subject, key size, and duration to match your security policy.
-
On every etcd node, issue an etcd server certificate signed by this dedicated CA and restrict permissions:
command: list, ensure you add or update the following flags to point to the dedicated CA and certs:-
On every etcd node, confirm the etcd pod has restarted and is healthy:
Verify there are no TLS or CA-related errors in the logs.
-
Verification (on every etcd node): ensure the etcd process is running with the dedicated
--trusted-ca-fileflag and that it points to the etcd-specific CA path:Confirm the command line includes:and that this CA is not the general Kubernetes cluster CA used by other components.
Using kubectl
Using kubectl
kubectl cannot modify the etcd static pod manifest or its TLS configuration. This finding must be fixed directly on each etcd node by editing
/etc/kubernetes/manifests/etcd.yaml and the underlying CA files; follow the Manual Steps section for the required host-level changes.Automation
Automation

