Profile applicability: Level 1 - Master Node
Do not use token based authentication.
The token-based authentication utilizes static tokens to authenticate requests to
the apiserver. The tokens are stored in clear-text in a file on the apiserver, and
cannot be revoked or rotated without restarting the apiserver. Hence, do not use static
token- based authentication.
NoteBy default,
--token-auth-file argument is not set. |
Impact
You will have to configure and use alternate authentication mechanisms such as certificates.
Static token based authentication could not be used.
Audit
Run the following command on the Control Plane node:
ps -ef | grep kube-apiserver
Verify that the
--token-auth-file argument does not exist.Alternative Audit Method
kubectl get pod -nkube-system -lcomponent=kube-apiserver -o=jsonpath='{range
.items[]}{.spec.containers[].command} {"\n"}{end}' | grep '--token-auth-file' | grep -i false
If the exit code is '1', then the control isn't present / failed.
Remediation
Follow the documentation and configure alternate mechanisms for authentication. Then,
edit the API server pod specification file
/etc/kubernetes/manifests/kube-apiserver.yaml on the master node and remove the --token-auth-file=<filename> parameter.
