Ensure that encryption providers are appropriately configured (API Server)
Where etcd encryption is used, appropriate providers should be configured..
Risk Level: High
Cloud Entity: Pods
CloudGuard Rule ID: D9.K8S.IAM.84
Covered by Spectral: No
Category: Compute
GSL LOGIC
KubernetesPod where labels contain [value='kube-apiserver'] and namespace = 'kube-system' should have spec.containers with [parsedArgs contain [key like 'encryption-provider-config' ]]
REMEDIATION
Follow the Kubernetes documentation and configure a EncryptionConfig file. In this file,
choose aescbc, kms or secretbox as the encryption provider.
References:
- https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/
- https://acotten.com/post/kube17-security
- https://kubernetes.io/docs/admin/kube-apiserver/
- https://github.com/kubernetes/features/issues/92
- https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/#providers
Pods
Pods are the smallest deployable units of computing that can be created and managed in Kubernetes.A Pod is a group of one or more containers (such as Docker containers), with shared storage/network, and a specification for how to run the containers.
Compliance Frameworks
- CIS Kubernetes Benchmark v1.20
- CIS Kubernetes Benchmark v1.23
- CIS Kubernetes Benchmark v1.24
- CIS Kubernetes Benchmark v1.5.1
- CIS Kubernetes Benchmark v1.6.1
Updated over 1 year ago