Profile applicability: Level 1
Ensure that if the kubelet refers to a configuration file with the
--config
argument, that file is owned by root:root
.The kubelet reads various parameters, including security settings, from a config file
specified by the
--config
argument. If this file is specified you should restrict its file permissions to maintain
the integrity of the file. The file should be owned by root:root
.
NoteBy default,
/var/lib/kubelet/config.json file is owned by root:root . |
Audit
In OpenShift 4, the kubelet configuration file is managed by the Machine Config Operator
and is found at
/var/lib/kubelet/config.json
or /var/data/kubelet/config.json
with file permissions set to root:root
.For OpenShift 4.13 and above, run the following command to check the permission:
for node in $(oc get nodes -o jsonpath='{.items[*].metadata.name}') do oc debug node/${node} -- chroot /host stat -c %a /var/data/kubelet/config.json done
For earlier versions of OpenShift, run the following command to check the permission:
for node in $(oc get nodes -o jsonpath='{.items[*].metadata.name}') do oc debug node/${node} -- chroot /host stat -c %a /var/lib/kubelet/config.json done
Verify that the ownership is set to
root:root
.