Skip to main content

More Info:

Allow Kubelet to manage iptables.

Risk Level

High

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every worker node, back up the existing kubelet config file and open it for editing:
  2. In /var/lib/kubelet/config.yaml, ensure the following key is set (add it if missing) under the top-level config (align with existing indentation):
    Save and exit the editor.
  3. On every worker node using a systemd unit override, open the kubelet systemd drop-in file (if it exists):
  4. In /etc/systemd/system/kubelet.service.d/10-kubeadm.conf, remove any occurrence of the --make-iptables-util-chains= flag from the kubelet arguments (for example, from KUBELET_SYSTEM_PODS_ARGS or any other KUBELET_* variable). Save and exit the editor.
  5. On every worker node, reload systemd and restart kubelet to apply the changes:
  6. On every worker node, verify that kubelet is running without an overriding --make-iptables-util-chains flag and that the effective setting is taken from the config file:
    Confirm in the output that there is no --make-iptables-util-chains= argument present for the kubelet process.
kubectl cannot modify kubelet process flags or its config file, so this finding cannot be fixed via the Kubernetes API. The change must be made on every worker node’s host-level kubelet configuration (for example /var/lib/kubelet/config.yaml or the kubelet systemd unit), as described in the Manual Steps section.

Additional Reading: