| name | cis-oke-v150-4.5.2 |
| description | Apply Security Context to Your Pods and Containers (Manual) |
| category | cis-oke |
| version | 1.5.0 |
| author | cyberstrike-official |
| tags | ["cis","oke","kubernetes","oci","policies","general-policies","security-context"] |
| cis_id | 4.5.2 |
| cis_benchmark | CIS Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) Benchmark v1.5.0 |
| tech_stack | ["kubernetes","oci","oke"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
CIS OKE Benchmark v1.5.0 - Control 4.5.2
Profile Applicability
Description
Apply Security Context to Your Pods and Containers.
A security context defines the operating system security settings (uid, gid, capabilities, SELinux role, etc.) applied to a container. When designing your containers and pods, make sure that you configure the security context for your pods, containers, and volumes. A security context is a property defined in the deployment yaml. It controls the security parameters that will be assigned to the pod/container/volume. There are two levels of security context: pod level security context and container level security context.
Rationale
A pod or container that runs with overly permissive security settings could compromise the host operating system, other containers in the pod, or other pods in the cluster. Using appropriately restrictive security contexts helps to enforce the principle of least privilege and reduce the attack surface.
Impact
If you incorrectly apply security contexts, you may have trouble running the pods.
Audit Procedure
Review the pod definitions in your cluster and verify that you have security contexts set as appropriate.
Check the security context settings for all pods and containers:
kubectl get pods --all-namespaces -o json | jq '.items[].spec.containers[].securityContext'
Also review pod-level security context:
kubectl get pods --all-namespaces -o json | jq '.items[].spec.securityContext'
Verify that pods and containers have appropriate security context settings including:
runAsNonRoot: true
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
- Dropped capabilities
Remediation
Follow the Kubernetes documentation and apply security contexts to your pods. For a suggested list of security contexts, you may refer to the CIS Security Benchmark for Docker Containers.
Example PodSecurityPolicy with restricted settings:
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: restricted