lacework-global-336
Ensure that Service Account Tokens are only mounted where necessary (Automated)
This rule has been changed to automated, see Automated Policies for CIS Amazon EKS 1.1.0 for details.
Profile Applicability
• Level 1
Description
The default configuration of a pod causes it to automatically mount the service account token of the associated ServiceAccount within each of its containers. This account token provides the pod the ability to interact with the Kubernetes API server.
This is open to abuse by an attacker with access to just a single container, including privilege escalation through mounting of the node root volume.
Do not mount service account tokens in pods except where the workload running in the pod explicitly needs to communicate with the API server.
Rationale
Mounting service account tokens inside pods can provide an avenue for privilege escalation attacks where an attacker is able to compromise a single pod in the cluster.
Avoiding mounting these tokens removes this attack avenue.
Impact
Pods mounted without service account tokens will not be able to communicate with the API server, except where the resource is available to unauthenticated principals.
Audit
Review pod and service account objects in the cluster and ensure that the option below is set, unless the resource explicitly requires this access.
automountServiceAccountToken: false
Remediation
Modify the definition of pods and service accounts which do not need to mount service account tokens to disable it.
To disable the automatic mounting of the service account token, set spec.automountServiceAccountToken to False.
Note that it is not possible to patch this value on an existing pod directly.
- If deploying Pods directly then you need to destroy and recreate them with updated configuration.
- If deploying pods via a workload resource (such as a Deployment type resource) then update the workload directly with this setting.
References
https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
https://kubernetes.io/docs/concepts/workloads/pods/#working-with-pods
https://kubernetes.io/docs/concepts/workloads/