Online resources and study guide that will help preparing for Certified Kubernetes Security Specialist (CKS) exam. Please make pull request if you think there are better resources to be added. This is currently a work in progress. Inspired by awesome CKA study guide by @walidshaari.
This exam is coming soon in November 2020. CNCF provides us with CKS curriculum that we can follow:
10% - Cluster Setup
- Use Network security policies to restrict cluster level access
- Use CIS benchmark to review the security configuration of Kubernetes components (etcd, kubelet, kubedns, kubeapi)
- Properly set up Ingress objects with security control
- Protect node metadata and endpoints
- Minimize use of, and access to, GUI elements
- Verify platform binaries before deploying
15% - Cluster Hardening
- Restrict access to Kubernetes API
- Use Role Based Access Controls to minimize exposure
- Exercise caution in using service accounts e.g. disable defaults, minimize permissions on newly created ones
- Update Kubernetes frequently
15% - System Hardening
- Minimize host OS footprint (reduce attack surface)
- Minimize IAM roles
- Minimize external access to the network
- Appropriately use kernel hardening tools such as AppArmor, seccomp
- Setup appropriate OS level security domains e.g. using PSP, OPA, security contexts
- PSP (Pod Security Policy)
- OPA (Open Policy Agent)
- Youtube: Intro to Open Policy Agent (Kubecon 2019) - Torin Sandall
- Rego Policy Language Reference and Rego Playground
- Youtube: Intro to Gatekeeper (Kubecon 2019) - Rita Zhang & Max Smythe
- Gatekeeper tutorial - Katacoda
- Kubernetes Authorization via Open Policy Agent
- Security Contexts
- Manage kubernetes secrets
- Use container runtime sandboxes in multi-tenant environments (e.g. gvisor, kata containers)
- Implement pod to pod encryption by use of mTLS
20% - Supply Chain Security
- Minimize base image footprint
- Secure your supply chain: whitelist allowed image registries, sign and validate images
- Use static analysis of user workloads (e.g. kubernetes resources, docker files)
- Tools: Krane
- Scan images for known vulnerabilities
- Perform behavioral analytics of syscall process and file activities at the host and container level to detect malicious activities
- Detect threats within physical infrastructure, apps, networks, data, users and workloads
- Detect all phases of attack regardless where it occurs and how it spreads
- Perform deep analytical investigation and identification of bad actors within environment
- Ensure immutability of containers at runtime
- Use Audit Logs to monitor access