Skip to main content

More Info:

Verifies that —authorization-mode includes Node. The Node authorizer restricts what kubelets can read and write, limiting the blast radius of a compromised node.

Risk Level

High

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every control plane node, back up the existing manifest before making changes:
  2. On every control plane node, open the API server static pod manifest for editing:
    (Use any text editor available if vi is not preferred.)
  3. In the command: section of the kube-apiserver container, locate any existing --authorization-mode= argument.
    • If present, ensure it includes Node (for example: --authorization-mode=Node,RBAC).
    • If not present, add a new line under the other -- flags, for example:
  4. Save the file and exit the editor. The kubelet will automatically detect the manifest change and restart the kube-apiserver static pod; expect a brief control plane interruption while it restarts.
  5. On every control plane node, verify that the running API server process includes --authorization-mode with Node:
    Confirm in the output that the kube-apiserver command line contains an argument similar to:
    (or another value that includes Node).
kubectl cannot modify the kube-apiserver static pod manifest or its process flags, so this setting cannot be fixed via the Kubernetes API. To remediate, you must edit /etc/kubernetes/manifests/kube-apiserver.yaml directly on every control plane node as described in the Manual Steps section.