More Info:
Verifies that Kubernetes PKI private key files have permissions of 600. Exposure of these keys would let an attacker impersonate cluster components.Risk Level
MediumAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
Log in to each control plane node
Use SSH or your usual access method to connect to every control plane node where/etc/kubernetes/pkiexists. -
Review current key file permissions
On each control plane node, list all private key files and their permissions: -
Set private key permissions to 600
On each control plane node, restrict permissions on all Kubernetes PKI private keys: -
Confirm ownership is root:root (review and adjust if needed)
Still on each control plane node, check ownership:If any key is not owned by root:root, adjust as appropriate for your environment, for example: -
Verify final permissions match the benchmark
On each control plane node, re-run the audit to confirm all keys are now 600:Ensure every reportedpermissions=value is600.
Using kubectl
Using kubectl
kubectl cannot modify file permissions on control plane node files such as
/etc/kubernetes/pki/*.key; this must be fixed directly on every control plane node’s filesystem. Refer to the Manual Steps section for the exact commands to run over SSH on those nodes.Automation
Automation

