TMAegisBeta
More rules for gke

Google Kubernetes Engine (GKE)

TMA-GKE-3.1.3

Ensure that the kubelet configuration file has permissions set to 644

MediumLevel 1Automatedgke

Description

Ensure that if the kubelet refers to a configuration file with the --config argument, that file has permissions of 644 or more restrictive. Runs on each GKE node (path from the kubelet argument). 644 or more restrictive passes.

How it is checked

Audit method: Shell command

shell
set -f
psarg() { ps -eo args 2>/dev/null | grep -E "^([^ ]*/)?$1( |\$)" | head -n 1 | awk -v k="--$2" '{for(i=1;i<=NF;i++){if($i==k&&i<NF)v=$(i+1); else if(index($i,k"=")==1)v=substr($i,length(k)+2)}} END{if(v!="")print v}'; }
p0=$(psarg kubelet config)
f=""; for x in ${p0:-} /etc/kubernetes/kubelet-config.yaml; do if [ -e "$x" ]; then f=$x; break; fi; done
[ -n "$f" ] || exit 1
p=$(stat -Lc %a "$f") || exit 1
if [ $((0$p & 0133)) -eq 0 ]; then echo compliant; else echo "noncompliant: $f mode $p"; fi
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

Run the following command (using the kubelet config file location): chmod 644 <kubelet_config_file>

Properties

Operating systems
Any
Tags
gkeworker-nodekubeletfile-permissions
Reference
CIS Google Kubernetes Engine (GKE) Benchmark v2.0.0 - 3.1.3 Ensure that the kubelet configuration file has permissions set to 644

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target gke