Skip to main content

More Info:

The kubelet makeIPTablesUtilChains should be true so the kubelet manages iptables rules, ensuring correct network traffic handling on the node.

Risk Level

Medium

Address

Security

Compliance Standards

  • CIS AKS

Triage and Remediation

Remediation

Manual Steps

  1. Check current kubelet configuration source (each worker node)
    • If you see --config=/var/lib/kubelet/config.yaml, it’s using the config file.
    • If you see --make-iptables-util-chains=... directly, it’s using command-line arguments.
  2. If using kubelet config file: set makeIPTablesUtilChains: true (each worker node)
    Edit the file:
    Under the top-level config (same level as kind: and apiVersion:), ensure:
    Save and exit.
  3. If using command-line flag: remove the explicit argument (each worker node)
    Edit the kubelet drop-in unit:
    In the line that contains --make-iptables-util-chains=..., remove only that argument (including the trailing space or line continuation), leaving the rest of the options unchanged. Save and exit.
  4. Reload systemd and restart kubelet (each worker node)
    Restarting kubelet will briefly disrupt node-local workloads that depend on it.
  5. Verify kubelet is running with desired setting (each worker node)
    • You should NOT see a --make-iptables-util-chains= flag in the output.
    • If using /var/lib/kubelet/config.yaml, confirm the file still contains makeIPTablesUtilChains: true:
kubectl cannot modify kubelet host-level settings such as makeIPTablesUtilChains in /var/lib/kubelet/config.yaml or systemd unit files on worker nodes. Apply the remediation directly on each worker node as described in the Manual Steps section.