Guide complet7 min de lecture

Préparation examen CKS : guide complet et ressources

SFEIR Institute

Points clés

  • L'examen CKS dure 2 heures et exige 67% de réussite.
  • Une certification CKA valide est obligatoire pour s'inscrire au CKS.
  • Maîtrisez Network Policies, admission controllers et sécurité runtime.

La certification CKS (Certified Kubernetes Security Specialist) est l'examen de sécurité Kubernetes le plus exigeant de la Linux Foundation. En 2026, avec l'adoption massive de Kubernetes en production, cette certification valide votre capacité à sécuriser des clusters contre les menaces réelles.

TL;DR : L'examen CKS dure 2 heures, exige un score de 67% et requiert une certification CKA valide comme prérequis. Vous devez maîtriser les Network Policies, les admission controllers, la sécurité runtime et l'analyse de vulnérabilités. Ce guide vous accompagne étape par étape vers la réussite.

Pour maîtriser ces compétences de sécurité Kubernetes, découvrez la formation LFS460 Principes Fondamentaux de la Sécurité Kubernetes.


Quels sont les prérequis pour passer le CKS ?

Vous devez obligatoirement détenir une certification CKA valide avant de vous inscrire au CKS. Sans CKA actif, votre inscription sera refusée. Selon la Linux Foundation, les certifications obtenues après avril 2024 ont une validité de 2 ans.

Prérequis techniques

Avant de commencer votre préparation, vérifiez que vous maîtrisez ces compétences fondamentales :

# Vérifiez votre niveau avec ces commandes de base
kubectl auth can-i create pods --as=system:serviceaccount:default:default
# Résultat attendu : yes ou no (vous devez comprendre la réponse)

kubectl get networkpolicies -A
# Résultat attendu : liste des Network Policies existantes
PrérequisNiveau requisVérification
Certification CKAValide et non expiréePortal Linux Foundation
Expérience Kubernetes6+ mois en productionClusters multi-nœuds
Sécurité LinuxFondamentaux AppArmor/seccompProfils de sécurité
RéseauNetwork Policies, mTLSConfiguration Calico/Cilium
À retenir : Le CKS n'est pas un examen d'entrée de gamme. Vous devez avoir une expérience concrète de l'administration de clusters avant de vous lancer.

Pour une préparation complète aux Certifications Kubernetes CKA CKAD CKS, commencez par valider votre CKA si ce n'est pas déjà fait.


Étape 1 : Configurer votre environnement d'entraînement

Créez un cluster local dédié à la sécurité en utilisant kind ou kubeadm. Vous devez reproduire les conditions de l'examen pour vous entraîner efficacement.

Installation d'un cluster avec kind

# Créez un fichier de configuration multi-nœuds
cat <<EOF > kind-cks-cluster.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
EOF

# Lancez le cluster
kind create cluster --name cks-lab --config kind-cks-cluster.yaml
# Résultat attendu :
# Creating cluster "cks-lab" ...
# ✓ Ensuring node image (kindest/node:v1.29.0)
# ✓ Preparing nodes
# ✓ Writing configuration
# ✓ Starting control-plane
# ✓ Joining worker nodes
# Set kubectl context to "kind-cks-lab"

Installation des outils de sécurité

Installez les outils essentiels que vous utiliserez pendant l'examen :

# Trivy pour l'analyse de vulnérabilités
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin v0.50.0

# Vérification
trivy --version
# Résultat attendu : Version: 0.50.0

# Falco pour la détection runtime
helm repo add falcosecurity https://falcosecurity.github.io/charts
helm install falco falcosecurity/falco --namespace falco --create-namespace
À retenir : L'examen CKS se déroule dans un environnement contrôlé. Vous n'avez pas accès à Internet, mais la documentation Kubernetes officielle reste accessible.

Étape 2 : Maîtriser les Network Policies

Les Network Policies représentent 15 à 20% de l'examen CKS. Vous devez savoir créer des politiques restrictives en quelques minutes.

Créer une politique deny-all

# deny-all-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all-ingress
  namespace: production
spec:
  podSelector: {}
  policyTypes:
  - Ingress
# Appliquez la politique
kubectl apply -f deny-all-ingress.yaml
# Résultat attendu : networkpolicy.networking.k8s.io/deny-all-ingress created

# Vérifiez l'isolation
kubectl exec -it test-pod -n production -- curl backend-svc:8080 --max-time 3
# Résultat attendu : curl: (28) Connection timed out

Autoriser le trafic spécifique

# allow-frontend-to-backend.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-frontend
  namespace: production
spec:
  podSelector:
    matchLabels:
      app: backend
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend
    ports:
    - protocol: TCP
      port: 8080

Vérification : Testez que seul le frontend peut accéder au backend :

kubectl exec -it frontend-pod -n production -- curl backend-svc:8080
# Résultat attendu : HTTP/1.1 200 OK

Étape 3 : Configurer les admission controllers

Les admission controllers filtrent les requêtes avant qu'elles n'atteignent etcd. Vous devez savoir activer et configurer OPA Gatekeeper ou Kyverno.

Installer OPA Gatekeeper

kubectl apply -f https://raw.githubusercontent.com/open-policy-agent/gatekeeper/v3.15.0/deploy/gatekeeper.yaml

# Vérifiez l'installation
kubectl get pods -n gatekeeper-system
# Résultat attendu :
# NAME                                            READY   STATUS    RESTARTS   AGE
# gatekeeper-audit-xxx                            1/1     Running   0          30s
# gatekeeper-controller-manager-xxx               1/1     Running   0          30s

Créer une contrainte de sécurité

# require-readonly-rootfs.yaml
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sRequireReadOnlyRootFilesystem
metadata:
  name: require-readonly-rootfs
spec:
  match:
    kinds:
    - apiGroups: [""]
      kinds: ["Pod"]
    namespaces: ["production"]
À retenir : Gatekeeper et Kyverno sont les deux solutions principales d'admission control. Familiarisez-vous avec les deux avant l'examen.

Pour approfondir ces concepts, la Formation Kubernetes : Guide Complet couvre l'ensemble des compétences nécessaires.


Étape 4 : Analyser les vulnérabilités avec Trivy

Trivy est l'outil d'analyse de vulnérabilités le plus utilisé dans l'écosystème Kubernetes. Vous devez savoir scanner des images et interpréter les résultats rapidement.

Selon Orca Security 2025, 70% des organisations utilisent Kubernetes en environnement cloud, rendant l'analyse de vulnérabilités critique.

# Scanner une image
trivy image nginx:1.25
# Résultat attendu :
# nginx:1.25 (debian 12.4)
# Total: 142 (UNKNOWN: 0, LOW: 89, MEDIUM: 42, HIGH: 10, CRITICAL: 1)

# Scanner uniquement les vulnérabilités critiques et hautes
trivy image --severity HIGH,CRITICAL nginx:1.25

# Scanner le filesystem d'un pod en cours d'exécution
kubectl exec -it my-pod -- trivy filesystem /

Intégrer Trivy dans un pipeline

# trivy-scan-job.yaml
apiVersion: batch/v1
kind: Job
metadata:
  name: trivy-scan
spec:
  template:
    spec:
      containers:
      - name: trivy
        image: aquasec/trivy:0.50.0
        args: ["image", "--exit-code", "1", "--severity", "CRITICAL", "$(IMAGE)"]
        env:
        - name: IMAGE
          value: "myapp:latest"
      restartPolicy: Never

Étape 5 : Sécuriser le runtime avec Falco

Falco détecte les comportements suspects en temps réel. Vous devez comprendre ses règles et savoir interpréter les alertes.

# Vérifiez que Falco fonctionne
kubectl logs -n falco -l app.kubernetes.io/name=falco --tail=20

# Déclenchez une alerte de test (shell dans un conteneur)
kubectl exec -it test-pod -- /bin/sh

# Vérifiez l'alerte dans les logs Falco
kubectl logs -n falco -l app.kubernetes.io/name=falco | grep "shell"
# Résultat attendu : Notice A shell was spawned in a container...

Créer une règle Falco personnalisée

# custom-rules.yaml
customRules:
  rules-custom.yaml: |-
    - rule: Detect kubectl exec
      desc: Detect any kubectl exec command
      condition: spawned_process and container and proc.name = "kubectl" and proc.args contains "exec"
      output: "kubectl exec detected (user=%user.name command=%proc.cmdline)"
      priority: WARNING
À retenir : L'examen CKS teste votre capacité à configurer Falco, pas seulement à l'installer. Entraînez-vous à écrire des règles personnalisées.

Étape 6 : Configurer RBAC et les Service Accounts

Le RBAC mal configuré est la première cause de failles de sécurité Kubernetes. Vous devez appliquer le principe du moindre privilège systématiquement.

# Créez un ServiceAccount restrictif
kubectl create serviceaccount app-reader -n production

# Créez un Role avec permissions minimales
cat <<EOF | kubectl apply -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: pod-reader
  namespace: production
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list"]
EOF

# Liez le Role au ServiceAccount
kubectl create rolebinding app-reader-binding \
  --role=pod-reader \
  --serviceaccount=production:app-reader \
  -n production

# Vérification
kubectl auth can-i delete pods --as=system:serviceaccount:production:app-reader -n production
# Résultat attendu : no

Dépannage : erreurs fréquentes pendant l'examen

ErreurCause probableSolution
NetworkPolicy sans effetCNI ne supporte pas les policiesVérifiez Calico/Cilium installé
Admission webhook timeoutGatekeeper non readykubectl rollout restart deployment -n gatekeeper-system
Trivy scan échoueImage non accessibleUtilisez --skip-update en mode offline
Falco ne détecte rienModule kernel manquantVérifiez falco-driver-loader
# Diagnostic rapide du cluster
kubectl get nodes -o wide
kubectl get pods -A | grep -v Running
kubectl get events --sort-by='.lastTimestamp' | tail -20

Comme le rappelle Chris Aniszczyk dans le State of Cloud Native 2026 : "Kubernetes is no longer experimental but foundational. Soon, it will be essential to AI as well."


Ressources recommandées pour votre préparation CKS

Pour réussir l'examen CKS en 2026, combinez formation structurée et pratique intensive. La formation LFS460 Principes Fondamentaux de la Sécurité Kubernetes vous prépare en 4 jours (28h) avec des labs pratiques couvrant l'ensemble du curriculum.

À retenir : Selon la Linux Foundation, l'examen CKS requiert un score de 67% en 2 heures. Votre CKA doit rester valide pendant toute la durée de préparation.

Prochaines étapes pour vous :

  1. Validez votre CKA si ce n'est pas fait via les Certifications Kubernetes CKA CKAD CKS
  2. Suivez une formation structurée avec la LFS460 Sécurité Kubernetes
  3. Pratiquez quotidiennement sur des scénarios de sécurité réels
  4. Planifiez votre examen quand vous atteignez 80% de réussite sur les labs

Contactez nos conseillers pour planifier votre parcours de certification CKS.