Red Hat OpenShift
TMA-OPENSHIFT-4.2.4
Ensure that the --client-ca-file argument is set as appropriate
HighLevel 1Automatedopenshift
Description
Enable Kubelet authentication using certificates. Reads every node's effective kubelet configuration with oc get --raw /api/v1/nodes/<node>/proxy/configz; requires a cluster-admin oc login. Every node must use /etc/kubernetes/kubelet-ca.crt.
How it is checked
Audit method: Shell command
shell
nodes=$(oc get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}') || exit 1
[ -n "$nodes" ] || exit 1
ok=1
for n in $nodes; do
c=$(oc get --raw "/api/v1/nodes/$n/proxy/configz") || exit 1
if ! { printf '%s' "$c" | grep -Eq '"clientCAFile":"/etc/kubernetes/kubelet-ca.crt"'; }; then echo "noncompliant: $n"; ok=0; fi
done
if [ "$ok" -eq 1 ]; then echo compliant; fi- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Set -client-ca-file argument to the appropriate location.
Properties
- Operating systems
- Any
- Tags
- openshiftworker-node
- Reference
- CIS Red Hat OpenShift Container Platform Benchmark v2.0.0 - 4.2.4 Ensure that the --client-ca-file argument is set as appropriate
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target openshift