Advanced 28 min readModule: Module 15: Cloud Security Posture & Kubernetes Threat Modeling
Cloud & Kubernetes Security: CSPM & Threat Modeling
Harden multi-tenant cloud and container infrastructure: the MITRE ATT&CK Matrix for Kubernetes, detecting misconfigurations with Cloud Security Posture Management (CSPM), enforcing security guardrails with Validating Admission Controllers (Kyverno / OPA Gatekeeper), and container supply chain security (cosign / SBOMs).
What You Will Learn in This Lesson
- The MITRE ATT&CK Matrix for Kubernetes: Initial Access, Execution, Persistence, Privilege Escalation, and Egress
- Validating Admission Controllers: intercepting Kubernetes API requests before persisting to etcd
- Writing policy-as-code guardrails with Kyverno to disallow root containers and hostPath volume mounts
- Cryptographic container image signing and Software Bill of Materials (SBOM) verification using Sigstore `cosign`
Introduction & Core Concept
Modern cloud security breaches rarely stem from 0-day exploits; over 80% occur due to infrastructure misconfigurations (over-privileged IAM roles, public S3 buckets, privileged Kubernetes containers with host access). Cloud Security Posture Management (CSPM) continuously audits cloud resources against CIS Benchmarks, while Kubernetes Admission Controllers enforce immutable policy guardrails that prevent insecure workloads from ever running.
WHY DOES THIS MATTER IN THE REAL WORLD?
Attackers compromising a single pod can access the host root filesystem or the cloud provider instance metadata service if Admission Controllers and CSPM guardrails are not strictly enforced.
Syntax & Structure
yaml
apiVersion: kyverno.io/v1kind: ClusterPolicymetadata: name: disallow-root-userspec: validationFailureAction: EnforceKyverno Policy-as-Code Enforcing Non-Root Containers and Disallowing hostPath
yamlyaml
1234567891011121314151617181920212223242526272829303132333435363738394041# Kyverno Policy Guardrail: Prevent Privileged Containers & HostPath Volume MountsapiVersion: kyverno.io/v1kind: ClusterPolicymetadata:name: enforce-pod-security-standardsspec:validationFailureAction: Enforce # Rejects non-compliant pods immediately!background: truerules:# Rule 1: Disallow Root User Execution- name: require-run-as-non-rootmatch:any:- resources:kinds:- Podvalidate:message: "Running containers as root (UID 0) is strictly forbidden for security compliance."pattern:spec:securityContext:runAsNonRoot: truecontainers:- securityContext:allowPrivilegeEscalation: falsecapabilities:drop:- ALL# Rule 2: Disallow dangerous hostPath mounts (prevents host filesystem takeover)- name: disallow-host-pathmatch:any:- resources:kinds:- Podvalidate:message: "hostPath volume mounts are prohibited. Use CSI PersistentVolumes."pattern:spec:=(volumes):- X(hostPath): null
Line-by-Line Technical Breakdown
1Software Supply Chain Security (Sigstore & Cosign): Developers sign container images using ephemeral OIDC tokens (`cosign sign`). The Kubernetes admission controller verifies the signature and SBOM (CycloneDX / SPDX) before pulling the image, ensuring untrusted third-party images cannot execute.
Try It Yourself (Interactive Editor)
Modify the code in real-time and click Run to test live browser output and console logs.
Intelligent Code Runner & Live Sandbox[YAML]
YAML SOURCE EDITOR
Interactive Live CodeCommon Mistakes & How to Avoid Them
#1: Mounting the host Docker socket (`/var/run/docker.sock` or `containerd.sock`) inside application containers.
Mounting the container runtime socket gives container processes direct control over the host daemon, allowing instant root escape.
Incorrect / Antipattern
volumeMounts:
- mountPath: /var/run/docker.sock
name: docker-sock # Instant root host compromise!Correct / Professional Solution
// Use isolated rootless builders like Kaniko or Buildah without host socket mountsIndustry Best Practices & Professional Standards
- Enforce Kubernetes Pod Security Standards at the `restricted` profile level.
- Deploy Kyverno or OPA Gatekeeper to automate policy-as-code enforcement.
- Sign all production container images using Sigstore `cosign` and generate automated SBOMs.
Lesson Summary & Core Takeaways
- CSPM continuously audits cloud infrastructure against misconfigurations.
- Kubernetes Admission Controllers enforce zero-trust security guardrails before pod creation.
- Disallowing root execution, dropping capabilities, and signing container images harden the cloud supply chain.