Google Kubernetes Engine (GKE)
TMA-GKE-3.1.2
Ensure that the kubelet kubeconfig file ownership is set to root:root
MediumLevel 1Automatedgke
Description
If kubelet is running, ensure that the file ownership of its kubeconfig file is set to root:root. Runs on each GKE node (path from the kubelet argument).
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 kubeconfig)
f=""; for x in ${p0:-} /var/lib/kubelet/kubeconfig; do if [ -e "$x" ]; then f=$x; break; fi; done
[ -n "$f" ] || exit 1
o=$(stat -Lc %U:%G "$f") || exit 1
if [ "$o" = "root:root" ]; then echo compliant; else echo "noncompliant: $f $o"; fi- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Run the below command (based on the file location on your system) on each worker node. For example, chown root:root <proxy kubeconfig file>
Properties
- Operating systems
- Any
- Tags
- gkeworker-nodekubeletfile-permissions
- Reference
- CIS Google Kubernetes Engine (GKE) Benchmark v2.0.0 - 3.1.2 Ensure that the kubelet kubeconfig file ownership is set to root:root
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target gke