Skip to main content

More Info:

Verifies that the scheduler.conf kubeconfig file is owned by root:root so only privileged users can read the schedulers client credentials.

Risk Level

Medium

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. Log in to each control plane node over SSH as a user with sudo privileges.
  2. On each control plane node, set the correct ownership on the scheduler kubeconfig file:
  3. (Optional) Confirm the permissions look reasonable (typically 600 or 644, adjust only if required by your hardening policy):
  4. Verify the ownership is now set to root:root using the audit command on each control plane node:
    The output must be:
kubectl cannot modify host-level file ownership, including /etc/kubernetes/scheduler.conf on control plane nodes. This must be fixed directly on each control plane node’s filesystem; see the Manual Steps section for the exact commands to run over SSH.
Usage (run on every control plane node):
  1. Copy the script to each control plane node, for example:
  2. SSH to each control plane node and run:
  3. Optional explicit verification on each control plane node: