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