Home

Awesome

<p align="center"> <img width="360" src="kubernetes-security-specialist-logo.png"> </p> <p align="center"> <img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat"> <img src="https://img.shields.io/badge/status-preview-brightgreen?style=flat"> <img src="https://img.shields.io/github/issues-raw/ijelliti/CKSS-Certified-Kubernetes-Security-Specialist?style=flat"> <img src="https://img.shields.io/github/license/ijelliti/CKSS-Certified-Kubernetes-Security-Specialist?style=flat"> <img src="https://img.shields.io/github/stars/ijelliti/CKSS-Certified-Kubernetes-Security-Specialist?style=social"> <img src="https://img.shields.io/github/forks/ijelliti/CKSS-Certified-Kubernetes-Security-Specialist?style=social"> </p>

Certified Kubernetes Security Specialist - CKSS

This repository is a collection of resources to prepare for the Certified Kubernetes Security Specialist (CKSS) exam.

The given references and links below are just assumptions and ideas around the CKSS curriculum.

CKS Overview

The Kubernetes Security Specialist (CKS) certification ensure that the holder has the skills, knowledge, and competence on a broad range of best practices for securing container-based applications and Kubernetes platforms during build, deployment and runtime.

The certification is generally available to take from here as anounced during the KubeCon NA20

CKS Outline

The CKS test will be online, proctored and performance-based with 15-20 hands-on performance based tasks, and candidates have 2 hours to complete the exam tasks.

From the CKS Exam Curriculum repository, The exam will test domains and competencies including:

  1. Cluster Setup (10%): Best practice configuration to control the environment's access, rights and platform conformity.
  2. Cluster Hardening (15%): Protecting K8s API and utilize RBAC.
  3. System Hardening (15%): Improve the security of OS & Network; restrict access through IAM
  4. Minimize Microservice Vulnerabilities (20%): Utilizing on K8s various mechanisms to isolate, protect and control workload.
  5. Supply Chain Security (20%): Container oriented security, trusted resources, optimized container images, CVE scanning.
  6. Monitoring, Logging, and Runtime Security (20%): Analyse and detect threads.

CKS Exam Preparation

In order to take the CKS exam, you must have Valid CKA certification prior to attempting the CKS exam to demonstrate you possess sufficient Kubernetes expertise. A first good starting point for securing Kubernetes is the Task section Securing a Cluster of the official K8s documentation. The exam will be based on Kubernetes v1.19 documentation as of November general availability announcement.

Allowed resources to access during my CKS exam:

According to the LF docs, during the CKS exam the candidates may:

Cluster Setup (10%)

<details><summary>Use Network security policies to restrict cluster level access</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Use CIS benchmark to review the security configuration of Kubernetes components (etcd, kubelet, kubedns, kubeapi)</summary>

3rd Party Ressources

</summary> </details> <details><summary>Properly set up Ingress objects with security control</summary>

Allowed Ressources

</details> <details><summary>Protect node metadata and endpoints</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Minimize use of, and access to, GUI elements</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Verify platform binaries before deploying</summary>

Allowed Ressources

</details>

Cluster Hardening (15%)

<details><summary>Restrict access to Kubernetes API</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Use Role Based Access Controls to minimize exposure</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Exercise caution in using service accounts e.g. disable defaults, minimize permissions on newly created ones</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Update Cluster frequently</summary>

Allowed Ressources

</details>

System Hardening (15%)

<details><summary>Minimize host OS footprint (reduce attack surface)</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Minimize IAM roles</summary>

3rd Party Ressources

</details> <details><summary>Minimize external access to the network</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Appropriately use kernel hardening tools such as AppArmor, seccomp</summary>

Allowed Ressources

3rd Party Ressources

</details>

Minimize Microservice Vulnerabilities (20%)

<details><summary>Setup appropriate OS level security domains e.g. using PSP, OPA, security contexts</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Manage kubernetes secrets</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Use container runtime sandboxes in multi-tenant environments (e.g. gvisor, kata containers)</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Implement pod to pod encryption by use of mTLS</summary>

Allowed Ressources

3rd Party Ressources

</details>

Supply Chain Security (20%)

<details><summary>Minimize base image footprint</summary>

3rd Party Ressources

</details> <details><summary>Secure your supply chain: whitelist allowed image registries, sign and validate images</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Use static analysis of user workloads (e.g. kubernetes resources, docker files)</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Scan images for known vulnerabilities</summary>

3rd Party Ressources

</details>

Monitoring, Logging and Runtime Security (20%)

<details><summary>Perform behavioral analytics of syscall process and file activities at the host and container level to detect malicious activities</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Detect threats within physical infrastructure, apps, networks, data, users and workloads</summary>

3rd Party Ressources

</details> <details><summary>Detect all phases of attack regardless where it occurs and how it spreads</summary>

3rd Party Ressources

</details> <details><summary>Perform deep analytical investigation and identification of bad actors within environment</summary>

3rd Party Ressources

</details> <details><summary>Ensure immutability of containers at runtime</summary>

Allowed Ressources

3rd Party Ressources

</details> <details><summary>Use Audit Logs to monitor access</summary>

Allowed Ressources

3rd Party Ressources

</details>

Related Kubernetes security resources

White Papers

Keep Updating

Ibrahim Jelliti © 2020