Skip to main content

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

Medium

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. Log in to each control plane node
    Use SSH or your usual access method to connect to every control plane node where /etc/kubernetes/pki exists.
  2. Review current key file permissions
    On each control plane node, list all private key files and their permissions:
  3. Set private key permissions to 600
    On each control plane node, restrict permissions on all Kubernetes PKI private keys:
  4. 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:
  5. Verify final permissions match the benchmark
    On each control plane node, re-run the audit to confirm all keys are now 600:
    Ensure every reported permissions= value is 600.
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.