La CKS (Certified Kubernetes Security Specialist) est la certification avancée de la CNCF dédiée à la sécurité Kubernetes. C’est un examen 100% pratique de 2 heures où vous devez sécuriser des clusters et workloads dans un environnement réel. Ce guide vous donne un parcours structuré pour réussir.
Aperçu de l’examen
Section intitulée « Aperçu de l’examen »| Critère | Valeur |
|---|---|
| Durée | 2 heures |
| Format | 100% pratique (ligne de commande) |
| Score minimum | 67% |
| Validité | 2 ans |
| Repasse | 1 repasse gratuite incluse |
| Prérequis | CKA réussie |
| Prix | ~395 USD (incluant 1 killer.sh) |
Les 6 domaines d’examen
Section intitulée « Les 6 domaines d’examen »La CKS évalue vos compétences sur 6 domaines avec des pondérations différentes :
| Domaine | Poids | Ce qui est évalué |
|---|---|---|
| Cluster Setup | 10% | Network policies, CIS benchmarks, Ingress TLS |
| Cluster Hardening | 15% | RBAC, ServiceAccounts, API Server restrictions |
| System Hardening | 15% | Seccomp, AppArmor, réduction surface d’attaque |
| Minimize Microservice Vulnerabilities | 20% | SecurityContext, PSA, gestion secrets |
| Supply Chain Security | 20% | Scan images, signature, admission controllers |
| Monitoring, Logging, Runtime Security | 20% | Audit logs, Falco, détection runtime |
Parcours de préparation par domaine
Section intitulée « Parcours de préparation par domaine »Cluster Setup — 10%
Section intitulée « Cluster Setup — 10% »Compétences évaluées :
- Configurer les Network Policies pour isoler les pods
- Appliquer le CIS Kubernetes Benchmark
- Sécuriser les Ingress avec TLS
- Scanner le cluster avec kube-bench
Guides de préparation :
Commandes essentielles :
# Créer une NetworkPolicy deny-allkubectl create -f - <<EOFapiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: deny-all namespace: productionspec: podSelector: {} policyTypes: ["Ingress", "Egress"]EOF
# Scanner avec kube-benchkube-bench run --targets master,nodeCluster Hardening — 15%
Section intitulée « Cluster Hardening — 15% »Compétences évaluées :
- Configurer RBAC avec moindre privilège
- Gérer les ServiceAccounts et tokens
- Restreindre l’accès à l’API Server
- Désactiver les composants inutiles
Guides de préparation :
Commandes essentielles :
# Créer un Role avec permissions limitéeskubectl create role pod-reader \ --verb=get,list,watch \ --resource=pods \ -n production
# Lier à un ServiceAccountkubectl create rolebinding pod-reader-binding \ --role=pod-reader \ --serviceaccount=production:app-sa \ -n production
# Vérifier les permissionskubectl auth can-i list pods \ --as=system:serviceaccount:production:app-sa \ -n productionSystem Hardening — 15%
Section intitulée « System Hardening — 15% »Compétences évaluées :
- Appliquer des profils Seccomp
- Configurer AppArmor pour les conteneurs
- Réduire la surface d’attaque de l’OS
- Utiliser des RuntimeClass pour l’isolation
Guides de préparation :
Commandes essentielles :
# Vérifier les profils Seccomp disponiblesls /var/lib/kubelet/seccomp/
# Appliquer Seccomp RuntimeDefault dans un pod# (voir securityContext.seccompProfile)
# Lister les profils AppArmoraa-statusMinimize Microservice Vulnerabilities — 20%
Section intitulée « Minimize Microservice Vulnerabilities — 20% »Compétences évaluées :
- Configurer les SecurityContext correctement
- Appliquer les Pod Security Standards
- Gérer les Secrets de façon sécurisée
- Utiliser les RuntimeClass
Guides de préparation :
Commandes essentielles :
# Appliquer PSS Restricted sur un namespacekubectl label namespace production \ pod-security.kubernetes.io/enforce=restricted \ pod-security.kubernetes.io/warn=restricted
# Chiffrer les secrets dans etcd# (configuration EncryptionConfiguration)Supply Chain Security — 20%
Section intitulée « Supply Chain Security — 20% »Compétences évaluées :
- Scanner les images pour les vulnérabilités
- Configurer les ImagePolicyWebhook
- Signer et vérifier les images (Cosign)
- Bloquer les images non conformes
Guides de préparation :
Commandes essentielles :
# Scanner une image avec Trivytrivy image nginx:1.25
# Scanner un clustertrivy k8s --report summary
# Signer avec Cosign (keyless)cosign sign --yes $IMAGEMonitoring, Logging, Runtime Security — 20%
Section intitulée « Monitoring, Logging, Runtime Security — 20% »Compétences évaluées :
- Configurer les audit logs Kubernetes
- Installer et configurer Falco
- Analyser les comportements suspects
- Répondre aux incidents
Guides de préparation :
Commandes essentielles :
# Vérifier la config audit (API Server)cat /etc/kubernetes/audit-policy.yaml
# Lire les logs d'auditcat /var/log/kubernetes/audit.log | jq
# Falco : voir les alerteskubectl logs -n falco -l app=falcoPlan de préparation en 8 semaines
Section intitulée « Plan de préparation en 8 semaines »-
Semaines 1-2 : Fondamentaux
- Revoir RBAC et Network Policies (déjà vus en CKA)
- Lire la documentation officielle sur Pod Security Standards
- Installer un lab local (Kind + Falco + Trivy)
-
Semaines 3-4 : Hardening
- Pratiquer SecurityContext et PSA
- Configurer le chiffrement des Secrets
- Appliquer le CIS Benchmark avec kube-bench
-
Semaines 5-6 : Supply Chain + Runtime
- Scanner des images avec Trivy
- Configurer les audit logs
- Installer et pratiquer Falco
-
Semaines 7-8 : Simulation d’examen
- Passer les 2 sessions Killer.sh incluses
- Chronométrer vos exercices
- Revoir les points faibles identifiés
Conseils pour le jour J
Section intitulée « Conseils pour le jour J »Environnement d’examen
Section intitulée « Environnement d’examen »- Navigateur autorisé : uniquement la documentation kubernetes.io
- Terminal : vous travaillez en SSH sur des clusters réels
- Copier-coller : fonctionne entre le navigateur doc et le terminal
- Contextes : plusieurs clusters, attention à
kubectl config use-context
Raccourcis essentiels
Section intitulée « Raccourcis essentiels »# Alias recommandésalias k=kubectlalias kgp='kubectl get pods'alias kns='kubectl config set-context --current --namespace'
# Dry-run pour générer du YAMLexport do='--dry-run=client -o yaml'k run test --image=nginx $do > pod.yaml
# Copier depuis la doc officielle# kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/Stratégie d’examen
Section intitulée « Stratégie d’examen »- Lisez TOUTES les questions avant de commencer (5 min)
- Faites les questions faciles d’abord (RBAC, NetworkPolicy)
- Ne bloquez jamais plus de 10 minutes sur une question
- Vérifiez systématiquement avec
kubectl get/describe - Gardez 15 minutes à la fin pour relire
Ressources complémentaires
Section intitulée « Ressources complémentaires »Documentation officielle (autorisée)
Section intitulée « Documentation officielle (autorisée) »| Ressource | URL |
|---|---|
| Kubernetes Security | https://kubernetes.io/docs/concepts/security/ |
| Pod Security Standards | https://kubernetes.io/docs/concepts/security/pod-security-standards/ |
| Security Checklist | https://kubernetes.io/docs/concepts/security/security-checklist/ |
| Audit Logs | https://kubernetes.io/docs/tasks/debug/debug-cluster/audit/ |
Environnements de pratique
Section intitulée « Environnements de pratique »| Plateforme | Description |
|---|---|
| Killer.sh | 2 sessions incluses avec l’inscription (indispensable) |
| KodeKloud | Labs CKS interactifs |
| Kind | Cluster local pour expérimenter |
À retenir
Section intitulée « À retenir »- CKS = CKA + sécurité : consolidez vos bases avant de passer
- 60% = Supply Chain + Vulnerabilities + Runtime : priorité sur ces 3 domaines
- Pratique > Théorie : l’examen est 100% hands-on
- Killer.sh obligatoire : utilisez vos 2 sessions, elles simulent l’examen réel
- Documentation = votre alliée : apprenez à naviguer kubernetes.io efficacement