KCSA β€” Kubernetes & Cloud Native Security Associate

Complete one-page study guide. Everything you need to read, revise, and pass the KCSA within a week β€” official exam structure, all six domains with detailed notes, cheat sheets, and 80 practice questions with explained answers. Built from the official CNCF/Linux Foundation curriculum (KCSA v1, domains current as of 2024–2026).
🎯 6 Domains ⏱️ 90 minutes βœ… 75% to pass πŸ“ ~60 MCQs πŸ’΅ $250 ❓ 286 practice Qs

⭐ Where to Start

If you only read one section first, read this. Here's the exact order to move through this guide and the wider material so a week is enough.

Step 0 β€” Right now (15 min)

  • Skim Exam Facts and memorize the six domain weights β€” they tell you where to spend time.
  • Read the Kubernetes Core Refresher. Nothing about security makes sense until the architecture is second nature. If control plane vs. node components feel fuzzy, pause and solidify this first β€” it's the foundation everything else builds on.

Step 1 β€” Start with the highest-value domains

Don't study in numerical order. Study in weight order, because Domains 2 + 3 alone are 44% of the exam:

  1. Domain 3 β€” Security Fundamentals (22%) ← best place to begin. RBAC, Pod Security, secrets, and NetworkPolicy are the core concepts every other domain references. Learn these and the rest gets easier.
  2. Domain 2 — Cluster Component Security (22%) — now that you know the pipeline (AuthN→AuthZ→Admission→etcd), securing each component clicks into place.
  3. Domain 4 β€” Threat Model (16%) & Domain 5 β€” Platform Security (16%) β€” these reuse D2/D3 concepts as attacks & defenses.
  4. Domain 1 β€” Cloud Native Overview (14%) β€” mostly conceptual (the 4Cs, isolation); quick to absorb once the rest is understood.
  5. Domain 6 β€” Compliance & Frameworks (10%) β€” mostly memorization of names/tools; save it for last.

Step 2 β€” Reinforce as you go

  • After each domain, use the Flashcards for that area to lock in recall.
  • Keep the Tools Cheat Sheet open β€” knowing what each tool does is heavily tested in D5/D6.

Step 3 β€” Test yourself

Step 4 β€” Confirm the source of truth

  • Download the official KCSA Curriculum.pdf from the CNCF curriculum repo and skim it β€” it's the authoritative sub-topic list.
  • For any topic that still feels shaky, read the matching page in the Resource Links (all official kubernetes.io / CNCF docs).
The one-line answer Begin with the Core Refresher, then study Domain 3 first (it's the conceptual backbone), work down the domains in weight order, drill flashcards after each, and finish with the practice questions.

πŸ“‹ Exam Facts & Logistics

90
minutes
75%
passing score
60
multiple-choice Qs
$250
exam fee (1 free retake)
2 yrs
certification validity
None
prerequisites
AttributeDetail
FormatOnline, remotely proctored, multiple-choice (not hands-on β€” unlike CKA/CKS)
Duration90 minutes
Passing score75% (per LF multiple-choice exam policy)
Question count60 multiple-choice questions (CNCF does not print this on the exam page, but it is widely and consistently reported)
LevelBeginner / Associate β€” conceptual knowledge, no live cluster
Price$250 standalone (or $495 bundled with a THRIVE annual subscription); includes one free retake
Eligibility window12 months to schedule after purchase
Validity2 years
PrerequisitesNone (KCNA knowledge strongly recommended)
ProctoringOnline, proctored via PSI "Bridge" platform with the PSI Secure Browser; government photo ID, clean workspace, webcam + mic required

Domain Weights (memorize these)

D2 Β· Cluster Component Security β€” 22%
D3 Β· Security Fundamentals β€” 22%
D4 Β· Threat Model β€” 16%
D5 Β· Platform Security β€” 16%
D1 Β· Cloud Native Security Overview β€” 14%
D6 Β· Compliance & Frameworks β€” 10%
Exam Strategy Domains 2 & 3 together are 44% of the exam β€” cluster component security and security fundamentals (RBAC, Pod Security, secrets, network policy). Prioritize them. It's a conceptual exam: know what each component does and how it's secured, not exact command syntax. Flag hard questions and move on β€” all questions are equally weighted.

πŸ—“οΈ 7-Day Study Plan

DayFocusDeliverable
1Kubernetes core refresher + Domain 1 (Cloud Native Overview, 4Cs)Understand architecture & the 4C model
2Domain 2 β€” Cluster Component Security (control plane, kubelet, etcd)Can name every component & its threat
3Domain 3 — Security Fundamentals (RBAC, Pod Security, secrets)Draw the AuthN→AuthZ→Admission flow
4Domain 4 β€” Threat Model + Domain 5 β€” Platform SecurityMap STRIDE + supply chain concepts
5Domain 6 β€” Compliance/Frameworks + Tools cheat sheetKnow each tool's purpose
6Practice questions (all 80) + review weak areasScore β‰₯80% on practice
7Quick-reference review, re-read callouts, light revisionTake exam confident

βš™οΈ Kubernetes Core Refresher

You must be fluent in the architecture before security makes sense. A Kubernetes cluster = Control Plane + Worker Nodes.

Control Plane components

  • kube-apiserver β€” front door; the only component that talks to etcd. All requests flow through it.
  • etcd β€” key-value store; holds all cluster state & secrets.
  • kube-scheduler β€” assigns Pods to nodes.
  • kube-controller-manager β€” runs control loops (node, replication, endpoints…).
  • cloud-controller-manager β€” integrates with cloud provider APIs.

Node components

  • kubelet β€” agent on each node; starts/stops containers, reports status.
  • kube-proxy β€” maintains network rules (iptables/IPVS) for Services.
  • Container runtime β€” containerd / CRI-O; runs containers via CRI.

Add-ons

  • CoreDNS, CNI plugin, metrics-server, ingress controller.
Mental model Everything goes through the API server. Secure the API server β†’ AuthN β†’ AuthZ β†’ Admission β†’ etcd. This chain is the spine of the entire exam.

Domain 1 β€” Overview of Cloud Native Security (14%)

The 4Cs of Cloud Native Security

Defense-in-depth layered model. Each outer layer's security depends on the layers inside it; you cannot secure inner layers by only securing outer ones.

LayerScopeExample controls
Cloud (outermost)The physical infra / cloud provider / datacenter / networkProvider IAM, network security, physical security, encryption at rest
ClusterKubernetes cluster componentsRBAC, network policies, authentication, component TLS, etcd encryption
ContainerContainer images & runtimeImage scanning, signed images, least-privilege, no root, trusted registries
Code (innermost)Your application codeTLS in app, secure coding, dependency scanning, static analysis (SAST/DAST)
Memory hook Cloud β†’ Cluster β†’ Container β†’ Code (outer to inner). If the Cloud layer is insecure, nothing inside it can be trusted. This is the single most-tested concept in Domain 1.

Cloud Provider & Infrastructure Security

Controls & Frameworks

Security controls are grouped as preventive, detective, and corrective/responsive. Kubernetes-relevant frameworks:

Isolation Techniques

TechniqueWhat it isolates
Namespaces (K8s)Logical grouping of resources; scope for RBAC, quotas, network policy β€” not a hard security boundary by itself
Linux namespaces (kernel)PID, net, mount, IPC, UTS, user β€” the basis of container isolation
cgroupsLimit/meter CPU, memory, I/O per container
Network policiesRestrict pod-to-pod / pod-to-external traffic (needs a supporting CNI)
RBACRestrict who can do what on which API resources
SandboxingStronger runtime isolation: gVisor (user-space kernel), Kata Containers (lightweight VMs), Firecracker microVMs
Node isolationDedicate nodes to workloads via taints/tolerations, node selectors
Common trap A Kubernetes namespace is not a security boundary on its own β€” it's a scoping mechanism. Real isolation between tenants needs RBAC + NetworkPolicy + quotas + possibly separate nodes/clusters.

Artifact Repository & Image Security

Workload & Application Code Security

Domain 2 β€” Kubernetes Cluster Component Security (22%)

The biggest domain (tied with D3). Know each component, the threat it faces, and how to harden it.

API Server

Controller Manager & Scheduler

Kubelet

Container Runtime & kube-proxy

Pod Security

etcd

Critical etcd stores the entire cluster state including all Secrets (base64, not encrypted by default). Anyone with etcd access effectively owns the cluster.

Container Networking, Client Security & Storage

Exam focus Know the default insecure states: anonymous auth, unencrypted etcd secrets, kubelet read-only port, and that the API server is the single gatekeeper. Questions often ask "which component stores secrets?" (etcd) or "how does a kubelet get restricted?" (NodeRestriction).

Domain 3 β€” Kubernetes Security Fundamentals (22%)

Pod Security Standards (PSS) & Pod Security Admission (PSA)

PSS replaced the deprecated PodSecurityPolicy (PSP) (removed in v1.25). Three cumulative profiles:

ProfileMeaning
PrivilegedUnrestricted β€” wide open; for trusted/system workloads
BaselineMinimally restrictive; blocks known privilege escalations (no hostNetwork, no privileged, etc.)
RestrictedHeavily restricted, hardening best-practice: runAsNonRoot, drop ALL caps, seccomp RuntimeDefault, no privilege escalation

Pod Security Admission is the built-in admission controller (v1.25+) that enforces PSS at the namespace level via labels, in three modes:

apiVersion: v1
kind: Namespace
metadata:
  name: my-app
  labels:
    pod-security.kubernetes.io/enforce: restricted
    pod-security.kubernetes.io/warn: restricted
    pod-security.kubernetes.io/audit: restricted
Remember PSP β†’ removed. Replaced by PSS (the policies) + PSA (the enforcer). Modes: enforce / audit / warn. Levels: privileged / baseline / restricted. For more complex policy, use Kyverno or OPA/Gatekeeper.

Authentication (AuthN)

"Who are you?" Kubernetes has no user objects β€” users are external. Methods:

ServiceAccounts = identity for Pods/processes. Every namespace has a default SA; disable auto-mount when not needed (automountServiceAccountToken: false). Modern tokens are short-lived & audience-bound (projected tokens).

Authorization (AuthZ)

"What are you allowed to do?" Modes: RBAC (default/most common), ABAC, Node, Webhook. Checked after AuthN.

RBAC objects

ObjectScopePurpose
RoleNamespaceSet of permissions (verbs on resources) within one namespace
ClusterRoleCluster-widePermissions across all namespaces or cluster-scoped resources
RoleBindingNamespaceGrants a Role (or ClusterRole) to subjects in a namespace
ClusterRoleBindingCluster-wideGrants a ClusterRole to subjects across the whole cluster

Subjects = Users, Groups, ServiceAccounts. Verbs = get, list, watch, create, update, patch, delete. RBAC is additive/allow-only β€” there are no deny rules; a request is denied unless explicitly allowed.

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata: { namespace: dev, name: pod-reader }
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch"]
Least privilege Avoid cluster-admin bindings and wildcard (*) verbs/resources. Never bind broad roles to the system:authenticated or default ServiceAccount. Auditing over-permissive RBAC is a favorite exam theme.

The full request pipeline

Request β†’ [Authentication] β†’ [Authorization (RBAC)] β†’ [Admission Controllers
             (Mutating β†’ Validating)] β†’ [Object persisted to etcd]
Order matters AuthN first, then AuthZ, then admission (mutating admission webhooks run before validating ones). PSA and quota checks happen in the admission phase.

Secrets

Isolation & Segmentation

Combine namespaces + RBAC + NetworkPolicy + ResourceQuota/LimitRange + node isolation (taints/tolerations) + runtime sandboxing for multi-tenancy.

Audit Logging

Network Policy

# Default deny all ingress in a namespace
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata: { name: default-deny-ingress, namespace: prod }
spec:
  podSelector: {}          # selects all pods
  policyTypes: ["Ingress"] # no ingress rules = deny all ingress
Exam focus Two most-tested facts: (1) K8s default networking is flat & allow-all; (2) an empty podSelector: {} selects all pods, and a policy with no rules for a direction denies that direction.

Domain 4 β€” Kubernetes Threat Model (16%)

Based on the CNCF/K8s threat model and STRIDE thinking. Know the trust boundaries and each attack category.

Trust Boundaries & Data Flow

Key boundaries: internet ↔ API server; API server ↔ etcd; control plane ↔ nodes; node ↔ pod; container ↔ host; pod ↔ pod. Data crossing a boundary is where controls (authN, TLS, RBAC, policy) must sit.

STRIDE mapped to Kubernetes

STRIDEThreatK8s example / mitigation
SpoofingImpersonating identityWeak/anonymous auth β†’ enforce strong AuthN, mTLS, disable anonymous
TamperingModifying data/configUnsigned images, mutable configs β†’ image signing, RBAC, admission control
RepudiationDenying an actionNo logs β†’ enable audit logging
Info disclosureLeaking sensitive dataUnencrypted etcd/secrets β†’ encrypt at rest, RBAC on secrets
Denial of ServiceExhausting resourcesNo limits β†’ ResourceQuota, LimitRange, rate limiting
Elevation of privilegeGaining more rightsprivileged pods, over-broad RBAC β†’ Pod Security, least-privilege RBAC

The main threat categories (from the K8s threat model)

Container escape chain A classic attack path: compromise app β†’ escape container (via privileged/hostPath/kernel bug) β†’ access node/kubelet β†’ steal SA tokens β†’ hit API server β†’ escalate to cluster-admin. Every mitigation above breaks a link in this chain.

Domain 5 β€” Platform Security (16%)

Supply Chain Security

Securing everything from source code β†’ build β†’ artifact β†’ deploy.

Image Repository

Use trusted, access-controlled registries; scan on push; sign images; enforce immutability; apply retention/quarantine policies for vulnerable images.

Observability

Service Mesh

PKI & Certificates

Connectivity

Encrypt all traffic (TLS/mTLS), use NetworkPolicy for segmentation, secure ingress (WAF, TLS termination), and control egress to prevent data exfiltration.

Admission Control

Exam focus Know the difference: Mutating webhooks change the object (e.g., inject sidecars); Validating webhooks only approve/deny. Mutating runs first. Kyverno & OPA/Gatekeeper are the two policy engines you must recognize.

Domain 6 β€” Compliance & Security Frameworks (10%)

Compliance Frameworks

FrameworkPurpose
CIS Kubernetes BenchmarkConsensus hardening config checklist; validated by kube-bench
NIST SP 800-190Application container security guide
NIST CSFIdentify Β· Protect Β· Detect Β· Respond Β· Recover
PCI-DSS / HIPAA / SOC 2 / GDPR / FedRAMP / ISO 27001Regulatory/industry compliance regimes your workloads may need to meet

Threat-Modelling Frameworks

Supply-Chain Compliance

SLSA levels, SBOM generation/verification, provenance attestations, and signing (Sigstore) demonstrate a trustworthy software supply chain β€” increasingly required for compliance.

Automation & Tooling

Compliance is enforced continuously, not manually:

🧰 Security Tools Cheat Sheet

ToolCategoryWhat it does
TrivyScanningAll-in-one vuln/misconfig/secret/SBOM scanner (images, IaC, filesystems)
Clair / GrypeScanningContainer image vulnerability scanners
SonarQubeCode (SAST)Static source-code analysis for quality & security defects
kube-benchComplianceChecks cluster against the CIS Kubernetes Benchmark
kube-hunterPen-testHunts for security weaknesses / attack surface in clusters
kubescape / kubeauditPostureScans manifests/clusters against frameworks (NSA, MITRE, CIS)
FalcoRuntime detectionDetects abnormal runtime behavior via syscalls/eBPF (CNCF)
TetragonRuntime detectioneBPF-based runtime security observability & enforcement
OPA / GatekeeperPolicyPolicy-as-code (Rego) enforced via validating admission webhook
KyvernoPolicyKubernetes-native policy engine (YAML policies; validate/mutate/generate)
cosign / SigstoreSupply chainSign & verify container images and artifacts
Notary / TUFSupply chainContent trust / signing framework
cert-managerPKIAutomates issuing/renewing TLS certificates in K8s
Vault / External Secrets OperatorSecretsExternal secret storage & injection
Calico / CiliumNetworkingCNIs that enforce NetworkPolicy (Cilium is eBPF-based)
gVisor / Kata / FirecrackerSandboxingStronger workload isolation (user-space kernel / microVMs)
Istio / LinkerdService meshmTLS, traffic policy, observability between services

πŸƒ Flashcards

How to use Tap any card to flip it. Read the term, recall the answer in your head, then flip to check. Use the buttons to shuffle or flip all. Great for spaced repetition β€” run through them after each domain and again on Day 7.
Keyboard: f flip all Β· r reset
D1The 4Cs of Cloud Native Security
Cloud β†’ Cluster β†’ Container β†’ Code (outer to inner). Each inner layer depends on the security of the ones around it.
D1Is a K8s namespace a security boundary?
No β€” it's a logical scoping mechanism. Real isolation needs RBAC + NetworkPolicy + quotas (+ sandboxing).
D1Kernel features behind container isolation
Linux namespaces (PID, net, mount, IPC, UTS, user) + cgroups (resource limits).
D1Stronger-than-container sandboxing options
gVisor (user-space kernel), Kata Containers (lightweight VMs), Firecracker (microVMs).
D1SAST vs DAST vs SCA
SAST=static source analysis Β· DAST=test running app Β· SCA=scan dependencies for CVEs.
D2Only component that talks to etcd?
The kube-apiserver. Everything else goes through it.
D2Where are Secrets stored + default protection?
In etcd, only base64-encoded (NOT encrypted) by default. Enable encryption at rest (KMS).
D2Plugin restricting a kubelet to its own node/pods
NodeRestriction admission plugin (used with Node authorization mode).
D2kubelet ports: read-only vs secure
10255 = read-only (disable it) Β· 10250 = authenticated secure API.
D2etcd ports + who may reach it
2379 client, 2380 peer. Only the API server should reach it; firewall + TLS both.
D2Recommended API server authorization mode
Node,RBAC (--authorization-mode=Node,RBAC).
D2Why is hostPath risky?
Gives a pod access to the host node's filesystem β†’ container escape / tampering.
D2Container runtimes implementing CRI
containerd and CRI-O (dockershim removed in v1.24).
D3What replaced PodSecurityPolicy + when removed?
Pod Security Standards (PSS) enforced by Pod Security Admission (PSA). PSP removed in v1.25.
D3Three PSS profiles
Privileged β†’ Baseline β†’ Restricted (least to most restrictive).
D3Three PSA modes
enforce (reject) Β· audit (log) Β· warn (warning). Applied via namespace labels.
D3Does RBAC support deny rules?
No β€” RBAC is allow-only/additive. Denied unless explicitly allowed.
D3Role vs ClusterRole
Role = namespaced Β· ClusterRole = cluster-wide (and cluster-scoped resources like nodes).
D3RBAC subjects
Users, Groups, ServiceAccounts.
D3API request pipeline order
AuthN β†’ AuthZ β†’ Admission (Mutating β†’ Validating) β†’ persist to etcd.
D3Does K8s have built-in User objects?
No β€” users are external (certs/OIDC/tokens). Only ServiceAccounts are in-cluster identities.
D3Default pod-to-pod network behavior
Flat & allow-all. A NetworkPolicy selecting a pod makes it default-deny for that direction.
D3What does podSelector: {} mean?
Selects all pods in the namespace.
D3NetworkPolicy enforcement requires…
A policy-capable CNI (Calico, Cilium). Otherwise policies are ignored.
D3Audit policy levels (least→most)
None β†’ Metadata β†’ Request β†’ RequestResponse.
D3Stop auto-mounting a SA token
automountServiceAccountToken: false on the SA or Pod spec.
D3What does a cert with O=system:masters grant?
Full cluster-admin access β€” that group is hard-wired to the superuser. Guard the cluster CA.
D3X.509 cert fields β†’ K8s identity
CN = username, O = group.
D2What does runAsUser: 0 mean?
Container runs as root (UID 0). Avoid β€” use non-zero UID or runAsNonRoot: true.
D5CNCF observability stack (metrics/logs/traces)
Prometheus (metrics) Β· Loki (logs) Β· Jaeger (traces) Β· Grafana (dashboards).
D4What does STRIDE stand for?
Spoofing, Tampering, Repudiation, Info disclosure, DoS, Elevation of privilege.
D4STRIDE category that audit logging addresses
Repudiation β€” logs stop actors denying their actions.
D4Six K8s threat model categories
Persistence Β· DoS Β· Malicious code/compromised container Β· Attacker on network Β· Sensitive data access Β· Privilege escalation.
D4Typical container-escape-to-cluster chain
App RCE β†’ escape container β†’ node/kubelet β†’ steal SA token β†’ API server β†’ cluster-admin.
D4Tool detecting malicious runtime behavior
Falco (syscalls/eBPF, CNCF). Tetragon is an eBPF alternative.
D5What is SLSA?
Supply-chain Levels for Software Artifacts β€” tiered build-integrity guarantees.
D5What is an SBOM?
Software Bill of Materials β€” dependency inventory (SPDX/CycloneDX) for CVE tracking.
D5Mutating vs Validating webhook
Mutating runs first & can modify the object; Validating only approves/denies.
D5Service mesh security benefit
mTLS + identity-based authZ + observability via sidecars (Istio/Linkerd) β€” zero-trust.
D5What is cosign / Sigstore for?
Signing & verifying container images/artifacts to prove provenance.
D5Two K8s policy engines
OPA/Gatekeeper (Rego) and Kyverno (YAML-native).
D6Tool that checks CIS Kubernetes Benchmark
kube-bench.
D6What is kube-hunter?
Penetration-testing tool β€” finds attack surface/weaknesses in a cluster.
D6Five NIST CSF functions
Identify Β· Protect Β· Detect Β· Respond Β· Recover.
D6NIST publication for container security
NIST SP 800-190 (Application Container Security Guide).
D6All-in-one scanner (vuln/misconfig/secret/SBOM)
Trivy.

πŸ“ 80 Practice Questions

How to use Click a question to reveal the answer and explanation. Cover all six domains. Aim for β‰₯80% before sitting the real exam. Answers marked in green.

Domain 1 β€” Cloud Native Security Overview

1. What are the 4Cs of Cloud Native Security, from outermost to innermost?
Cloud β†’ Cluster β†’ Container β†’ Code. Each inner layer relies on the security of the layers around it; you cannot secure inner layers by only hardening outer ones.
2. In the shared responsibility model, who secures the underlying cloud infrastructure?
The cloud provider. The customer remains responsible for their workloads, configuration, IAM, and data running in the cloud.
3. Is a Kubernetes namespace a strong security boundary?
No. A namespace is a logical scoping mechanism. Real isolation requires RBAC + NetworkPolicy + quotas, and possibly separate nodes/clusters or sandboxing.
4. Which technology provides stronger isolation than standard containers by running a user-space kernel?
gVisor. Kata Containers and Firecracker use lightweight VMs/microVMs for isolation instead.
5. Why pin container images by digest (@sha256:...) instead of a tag like :latest?
Tags are mutable β€” :latest can point to a different (possibly malicious) image over time. A digest is immutable and guarantees you run the exact image you vetted.
6. What does image signing (e.g., cosign) provide?
Provenance and integrity β€” proof the image came from a trusted source and wasn't tampered with. Verified at admission before deployment.
7. Which Linux kernel features underpin container isolation?
Namespaces (PID, net, mount, IPC, UTS, user) and cgroups. Namespaces isolate what a process sees; cgroups limit the resources it can use.
8. What is the difference between SAST and DAST?
SAST analyzes source code statically (not running); DAST tests a running application dynamically. SCA scans dependencies for known CVEs.
9. Which cloud metadata endpoint is a common credential-theft target and should be restricted?
169.254.169.254 β€” the instance metadata service. SSRF against it can leak node IAM credentials.
10. What benefit do distroless/minimal base images provide?
Smaller attack surface β€” fewer packages/binaries means fewer vulnerabilities and no shell for attackers to abuse.

Domain 2 β€” Cluster Component Security

11. Which component is the only one that communicates directly with etcd?
The kube-apiserver. All other components go through the API server, which is the single gateway to cluster state.
12. Where are Kubernetes Secrets stored, and are they encrypted by default?
In etcd, and by default they are only base64-encoded, NOT encrypted. Enable encryption at rest (EncryptionConfiguration, ideally KMS-backed).
13. What flag disables anonymous authentication on the API server?
--anonymous-auth=false. Anonymous access should be disabled to prevent unauthenticated requests.
14. Which admission plugin restricts a kubelet to only modifying its own node and pods?
NodeRestriction. Used together with the Node authorization mode.
15. Which kubelet port is the read-only port that should be disabled?
10255 (read-only, unauthenticated). The authenticated/secure kubelet API is on 10250.
16. Why is the kubelet a high-value attack target?
It can start/stop containers and expose pod data on a node. Compromising it can lead to running arbitrary workloads, reading secrets, and stealing service account tokens.
17. What ports does etcd use, and who should reach it?
2379 (client) and 2380 (peer); only the API server should reach it. Firewall it and enable TLS for both client and peer traffic.
18. What does kube-proxy do?
It maintains network rules (iptables/IPVS) that implement Kubernetes Services, enabling traffic routing to pod endpoints.
19. Which authorization mode should the kubelet use instead of AlwaysAllow?
Webhook (--authorization-mode=Webhook), so the API server authorizes kubelet requests. AlwaysAllow is insecure.
20. What is the recommended authorization mode combination for the API server?
Node,RBAC (--authorization-mode=Node,RBAC).
21. Why is hostPath volume mounting a security risk?
It grants a pod access to the host node's filesystem, which can enable container escape, tampering, or reading sensitive host files.
22. Which container runtimes implement the CRI?
containerd and CRI-O. (Docker's dockershim was removed in v1.24.)
23. How should the controller-manager and scheduler be exposed?
Bound to localhost / not exposed externally, using TLS and their own credentials. Disable profiling endpoints in production.
24. What securityContext settings harden a pod against escape?
runAsNonRoot: true, readOnlyRootFilesystem: true, allowPrivilegeEscalation: false, drop ALL capabilities, and a seccomp RuntimeDefault profile.
25. What is required for NetworkPolicy to actually be enforced?
A policy-capable CNI plugin such as Calico or Cilium. Without one, NetworkPolicy objects are accepted but not enforced.

Domain 3 β€” Security Fundamentals

26. What replaced PodSecurityPolicy (PSP), and in which version was PSP removed?
Pod Security Standards (PSS) enforced by Pod Security Admission (PSA); PSP was removed in v1.25.
27. Name the three Pod Security Standard profiles.
Privileged, Baseline, Restricted (least to most restrictive).
28. Name the three Pod Security Admission modes.
enforce (reject), audit (log), warn (warning message). Applied via namespace labels.
29. Does RBAC support deny rules?
No β€” RBAC is purely additive/allow-only. Anything not explicitly allowed is denied.
30. What is the difference between a Role and a ClusterRole?
A Role is namespaced; a ClusterRole is cluster-wide (and can also grant access to cluster-scoped resources like nodes).
31. What are the valid RBAC subjects?
Users, Groups, and ServiceAccounts.
32. What happens if you bind a ClusterRole with a RoleBinding?
The permissions are granted only within the RoleBinding's namespace, even though the ClusterRole itself is cluster-scoped.
33. Correct order of the API request pipeline?
Authentication β†’ Authorization β†’ Admission Control (Mutating then Validating) β†’ persist to etcd.
34. Does Kubernetes have built-in User objects?
No. Users are external identities (certs, OIDC, tokens). Only ServiceAccounts are first-class in-cluster identities.
35. What is a ServiceAccount used for?
It provides an identity for processes/pods to authenticate to the API server. Every namespace has a default SA.
36. How do you stop a pod from automatically mounting its ServiceAccount token?
automountServiceAccountToken: false on the ServiceAccount or Pod spec.
37. Is base64 encoding of a Secret the same as encryption?
No β€” base64 is encoding, trivially reversible. Enable encryption at rest for real protection.
38. Why prefer mounting secrets as files over environment variables?
Env vars can leak into logs, crash dumps, and child processes, and are visible via the API/inspection tools; file mounts reduce that exposure and support rotation.
39. What is the default network behavior between pods in Kubernetes?
Flat and allow-all β€” all pods can reach all other pods unless a NetworkPolicy restricts it.
40. What does an empty podSelector ({}) in a NetworkPolicy mean?
It selects all pods in the namespace. Combined with no ingress rules and policyTypes: [Ingress], it becomes default-deny-ingress.
41. What audit policy levels exist, from least to most detail?
None β†’ Metadata β†’ Request β†’ RequestResponse.
42. Which authorization modes does Kubernetes support?
RBAC, ABAC, Node, and Webhook. RBAC is the default and most widely used.
43. What tool would you use for policies more complex than PSS can express?
OPA/Gatekeeper or Kyverno (policy-as-code via admission webhooks).
44. Which RBAC binding should almost never be granted broadly?
cluster-admin (via ClusterRoleBinding), and never to system:authenticated or default ServiceAccounts.

Domain 4 β€” Threat Model

45. What does STRIDE stand for?
Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege.
46. Which STRIDE category maps to enabling audit logging?
Repudiation β€” audit logs prevent actors from denying their actions.
47. Which threat category covers backdoor DaemonSets and malicious admission webhooks?
Persistence β€” maintaining a foothold in the cluster.
48. Give an example of a Denial of Service mitigation in Kubernetes.
ResourceQuota and LimitRange (plus API Priority and Fairness) to prevent resource exhaustion.
49. Describe a typical container-escape-to-cluster attack chain.
Compromise app β†’ escape container (privileged/hostPath/kernel bug) β†’ access node/kubelet β†’ steal SA tokens β†’ call API server β†’ escalate to cluster-admin.
50. What mitigates "attacker on the network" / lateral movement?
Default-deny NetworkPolicy + mTLS/service mesh + encryption.
51. What is a trust boundary? Give a Kubernetes example.
A point where the level of trust changes and controls must be enforced β€” e.g., internet ↔ API server, container ↔ host, control plane ↔ node.
52. Which tool detects malicious runtime behavior via syscalls?
Falco (CNCF). Tetragon is an eBPF-based alternative.
53. What mitigates privilege escalation from a pod?
Pod Security Standards (Restricted), drop capabilities, runAsNonRoot, no privileged containers, allowPrivilegeEscalation:false, NodeRestriction.
54. Cryptomining inside a compromised container falls under which threat category?
Malicious code execution / compromised applications in containers.

Domain 5 β€” Platform Security

55. What is SLSA?
Supply-chain Levels for Software Artifacts β€” a framework of increasing integrity guarantees for the build/release pipeline.
56. What is an SBOM and why does it matter?
Software Bill of Materials β€” an inventory of all components/dependencies (SPDX/CycloneDX), enabling CVE tracking and supply-chain transparency.
57. What are the two types of admission webhooks and which runs first?
Mutating (runs first, can modify the object) then Validating (accept/reject only).
58. What does a service mesh provide for security?
mTLS encryption, identity-based authZ, and observability between services via sidecar proxies β€” enabling zero-trust networking. Examples: Istio, Linkerd.
59. Name three built-in admission controllers relevant to security.
NodeRestriction, PodSecurity, ResourceQuota (also AlwaysPullImages, LimitRanger).
60. What are the three pillars of observability?
Logs, metrics, and traces.
61. What manages Kubernetes component authentication certificates?
The cluster's PKI/CA; certs are X.509, issued via the CertificateSigningRequest (CSR) API. cert-manager can automate lifecycle.
62. What does the AlwaysPullImages admission controller do?
Forces images to be pulled (and re-authorized) on every pod start, preventing pods from reusing cached images they shouldn't have access to.
63. What is Kyverno?
A Kubernetes-native policy engine that validates, mutates, and generates resources using YAML policies (no Rego needed, unlike OPA).
64. How does a mutating webhook differ in effect from a validating one?
Mutating changes the object (e.g., inject a sidecar, add labels); validating only approves or denies it.
65. What is cosign used for?
Part of Sigstore β€” signing and verifying container images/artifacts to establish provenance.

Domain 6 β€” Compliance & Frameworks

66. Which tool checks a cluster against the CIS Kubernetes Benchmark?
kube-bench.
67. What is kube-hunter used for?
Penetration testing / discovering security weaknesses and attack surface in a Kubernetes cluster.
68. What are the five functions of the NIST Cybersecurity Framework?
Identify, Protect, Detect, Respond, Recover.
69. Which NIST publication specifically covers container security?
NIST SP 800-190 (Application Container Security Guide).
70. What is MITRE ATT&CK for Containers?
A knowledge base of real-world adversary tactics and techniques mapped to containers and Kubernetes.
71. Name three regulatory/industry compliance regimes.
PCI-DSS, HIPAA, SOC 2 (also GDPR, ISO 27001, FedRAMP).
72. What does policy-as-code enable for compliance?
Automated, continuous enforcement of security rules at admission (via OPA/Gatekeeper or Kyverno) rather than manual review.
73. Which tool provides all-in-one scanning for vulns, misconfig, secrets, and SBOM?
Trivy.

Mixed / Scenario

74. A pod needs to read secrets from the API. What's the least-privilege approach?
Create a dedicated ServiceAccount, a Role granting only get on the specific secret(s), and a RoleBinding β€” not cluster-admin or wildcard permissions.
75. You discover the kubelet allows anonymous authenticated requests. What's the fix?
Set --anonymous-auth=false and use --authorization-mode=Webhook on the kubelet.
76. How do you make a namespace enforce the Restricted Pod Security Standard?
Label it: pod-security.kubernetes.io/enforce: restricted (and optionally warn/audit labels).
77. Traffic between two microservices must be encrypted without changing app code. What do you use?
A service mesh (Istio/Linkerd) providing mTLS via sidecar proxies.
78. An image with :latest tag was replaced by a malicious version. Which two controls would have prevented this?
Pinning by digest (immutability) and image signing/verification at admission.
79. You must prevent any pod without resource limits from being created. What mechanism?
An admission policy (Kyverno/OPA/Gatekeeper) or LimitRanger that rejects/defaults pods lacking limits.
80. An attacker with etcd access β€” what's the impact?
Total cluster compromise β€” etcd holds all state and all secrets (base64). This is why etcd needs TLS, encryption at rest, and strict network isolation.

🏦 Mock Question Bank β€” 206 Questions (Interactive Quiz)

How to use Each question shows all four options. Click an option to answer β€” the correct one turns green, a wrong pick turns red (and the right one is still shown). Your running score is tracked at the top. Use the filter to focus on one domain, and Reveal answers if you just want to read through. This set complements the 80 teaching questions above.
Answered: 0 / 206 Correct: 0 Wrong: 0 Accuracy: –

⚑ Final Quick-Reference (last-minute cram)

  • 4Cs: Cloud β†’ Cluster β†’ Container β†’ Code.
  • API server = only thing that talks to etcd; pipeline = AuthN β†’ AuthZ β†’ Admission β†’ etcd.
  • etcd = all state + all secrets (base64, not encrypted by default). TLS + encryption at rest + isolate.
  • Secrets: base64 β‰  encryption. Encrypt at rest, RBAC-limit, prefer file mounts.
  • RBAC: allow-only, no deny. Role/RoleBinding (namespaced) vs ClusterRole/ClusterRoleBinding (cluster). Subjects = User/Group/ServiceAccount.
  • Certs: X.509 CN=user, O=group. O=system:masters = cluster-admin. runAsUser: 0 = root.
  • PSS profiles: Privileged / Baseline / Restricted. PSA modes: enforce / audit / warn. PSP removed in 1.25.
  • NetworkPolicy: default allow-all; selecting a pod β†’ default-deny for that direction; needs Calico/Cilium.
  • Admission: Mutating (first, modifies) β†’ Validating (approve/deny). Engines: OPA/Gatekeeper, Kyverno.
  • kubelet: disable anonymous, use Webhook authZ, rotate certs, NodeRestriction, kill port 10255.
  • STRIDE: Spoofing, Tampering, Repudiation, Info disclosure, DoS, Elevation of privilege.
  • Threats: Persistence Β· DoS Β· Malicious code/compromised container Β· Attacker on network Β· Sensitive data access Β· Privilege escalation.
  • Supply chain: SLSA (levels), SBOM (inventory), Sigstore/cosign (signing), scan images (Trivy).
  • Tools: kube-bench (CIS), kube-hunter (pentest), Falco (runtime), Trivy (scan), OPA/Kyverno (policy).
  • Isolation: namespaces (scoping, not a boundary) Β· RBAC Β· NetworkPolicy Β· sandboxing (gVisor/Kata).
  • Frameworks: CIS Benchmark, NIST 800-190 & CSF (Identify/Protect/Detect/Respond/Recover), MITRE ATT&CK.

πŸ”— Authoritative Resource Links

ResourceURL
Official KCSA exam page (Linux Foundation)training.linuxfoundation.org β€” KCSA
CNCF Curriculum repo (KCSA Curriculum.pdf)github.com/cncf/curriculum
Candidate Handbookdocs.linuxfoundation.org β€” Candidate Handbook
Kubernetes Security docs (Overview)kubernetes.io/docs/concepts/security
The 4Cs of Cloud Native Securitykubernetes.io β€” security overview
Pod Security Standardskubernetes.io β€” pod security standards
RBAC Authorizationkubernetes.io β€” RBAC
Controlling Access (AuthN/AuthZ/Admission)kubernetes.io β€” controlling access
Network Policieskubernetes.io β€” network policies
Kubernetes Admission Controllerskubernetes.io β€” admission controllers
CNCF Cloud Native Security Whitepapergithub.com/cncf/tag-security
Kubernetes Threat Model (Trail of Bits / CNCF)k8s community β€” security audit
CIS Kubernetes Benchmarkcisecurity.org β€” Kubernetes benchmark
NIST SP 800-190 (Container Security)csrc.nist.gov β€” SP 800-190
MITRE ATT&CK for Containersattack.mitre.org β€” containers matrix
SLSA frameworkslsa.dev
Sigstore / cosignsigstore.dev
Falco runtime securityfalco.org
OWASP Kubernetes Top Tenowasp.org β€” Kubernetes Top Ten
Free KCSA mock exam (community)kubernetes-security-kcsa-mock.vercel.app
DevOpsCube KCSA study guidedevopscube.com β€” KCSA guide
Disclaimer Exam facts (weights, 90 min, 75% pass, $250, 2-yr validity, PSI Bridge proctoring) were verified against the Linux Foundation KCSA page, the multiple-choice exam FAQ, and community study guides at build time. The 60-question count is consistently reported by prep sources but is not printed on CNCF's official exam page. Always confirm the latest details on the official page before your exam, and read the CNCF KCSA Curriculum.pdf directly. Study content here is a synthesized summary, not official CNCF exam material.

KCSA Study Guide Β· Single-file HTML Β· Good luck on your exam! πŸš€
Save this file anywhere and open in any browser β€” works fully offline.