Preparación del examen CKS
Fin de trayecto de la especialización de seguridad, y del curso completo. El CKS (Certified Kubernetes Security Specialist) tiene fama de ser el examen más duro de los tres, y la fama es merecida: presupone que ya eres administrador (la CKA en vigor es requisito para presentarse) y añade encima todo el arsenal de seguridad.
Cómo es el examen
- Formato: 100% práctico, ~15-16 ejercicios en 2 horas, sobre varios clusters.
- Aprobado: 67%. Incluye un retake y dos sesiones de killer.sh. Validez de 2 años.
- Requisito: certificación CKA activa en el momento de presentarse.
- Documentación permitida: kubernetes.io/docs y, además, la documentación oficial de las herramientas del temario: Trivy, Falco, etcd y el App Armor wiki (la lista exacta está en las instrucciones del examen; revísala porque cambia entre versiones).
La diferencia de carácter: el CKS mezcla ejercicios de Kubernetes con trabajo en los nodos (editar configs del kubelet, cargar perfiles AppArmor, ejecutar binarios como kube-bench o trivy). Si el CKAD era velocidad y el CKA administración, el CKS es amplitud: muchas herramientas distintas, cada una con su liturgia.
Temario oficial y dónde lo hemos cubierto
| Dominio | Peso | Capítulos del curso |
|---|---|---|
| Cluster setup | 15% | 401, 403, 112, 203 |
| Cluster hardening | 15% | 120, 121, 203, 204, 201 (upgrades) |
| System hardening | 10% | 405, 402, 403 |
| Minimizar vulnerabilidades de microservicios | 20% | 119, 404, 407, 115, 305 (mTLS) |
| Seguridad de la cadena de suministro | 20% | 401 y este capítulo (trivy, validación de imágenes, SBOM) |
| Monitorización, logging y seguridad en runtime | 20% | 406, 124, auditoría (este capítulo) |
Las dos piezas que faltan
Dos temas del examen que no tienen capítulo propio y cierran el temario:
Escaneo de imágenes con Trivy
Trivy, de Aqua Security, es el escáner de vulnerabilidades del examen. Lo que te pedirán: escanear imágenes y actuar según la severidad.
# Escanear una imagen buscando vulnerabilidades críticas y altas
trivy image --severity CRITICAL,HIGH nginx:1.19
# El ejercicio típico: de estos deployments, encuentra cuáles usan imágenes con CVEs críticos
kubectl get pods -A -o jsonpath='{range .items[*]}{.spec.containers[*].image}{"\n"}{end}' | sort -u
trivy image --severity CRITICAL <cada-imagen>
Completa la foto de cadena de suministro: imágenes mínimas y de registries de confianza (ImagePolicyWebhook, políticas de Gatekeeper), escaneadas (trivy) y, en entornos serios, firmadas (cosign/sigstore, de momento fuera del examen).
Audit logging del API server
El registro de auditoría graba quién hizo qué en la API. Se configura con una audit policy y flags del API server:
# /etc/kubernetes/audit/policy.yaml
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
- level: Metadata # None | Metadata | Request | RequestResponse
resources:
- group: ""
resources: ["secrets"]
- level: None
users: ["system:kube-proxy"]
# En kube-apiserver.yaml
- --audit-policy-file=/etc/kubernetes/audit/policy.yaml
- --audit-log-path=/var/log/kubernetes/audit/audit.log
- --audit-log-maxage=30
- --audit-log-maxbackup=10
Recuerda (¡static pod!) montar los paths con volúmenes hostPath, igual que en ImagePolicyWebhook. Y practica leer el log: es JSON por línea, jq es tu amigo.
Los clásicos que caen (casi) seguro
- kube-bench: ejecutar, interpretar y remediar (API server, kubelet) (401).
- RBAC de mínimo privilegio: recortar un rol excesivo, service accounts sin automount (121, 120).
- NetworkPolicies: default-deny + excepciones, metadata service bloqueado (403).
- Pod Security Standards: etiquetar namespaces con enforce/warn/audit (119).
- SecurityContext completo: runAsNonRoot, readOnlyRootFilesystem, drop ALL (119).
- RuntimeClass con gVisor y verificación con uname (402).
- AppArmor/seccomp: cargar perfil y aplicarlo a un pod (405).
- Falco: identificar el pod ruidoso y ajustar el output de una regla (406).
- Trivy: escanear y eliminar/actualizar lo vulnerable (este capítulo).
- Audit policy: configurarla de cero (este capítulo).
- Secrets: leerlos/decodificarlos, cifrado en reposo con EncryptionConfiguration (115, 203).
- ImagePolicyWebhook: la cadena completa de ficheros (404).
- Actualizar el cluster a una versión parcheada (201).
- Certificados y CSR: firmar usuarios, revisar caducidades (204).
Estrategia específica del CKS
- El tiempo aprieta más que en la CKA: los ejercicios tocan muchos ficheros del nodo. Memoriza las rutas:
/etc/kubernetes/manifests/,/var/lib/kubelet/config.yaml,/etc/falco/,/var/lib/kubelet/seccomp/,/etc/apparmor.d/. - Cuando toques el API server, verifica que vuelve: tras editar su manifiesto,
watch crictl pshasta verlo arriba. Un API server roto te bloquea el resto de la pregunta (y de las siguientes en ese cluster). - Copias de seguridad antes de editar:
cp kube-apiserver.yaml /tmp/te salva el examen cuando un cambio sale mal. Hábito innegociable. - No reinventes Rego ni perfiles: en el examen, las políticas de Gatekeeper y los perfiles AppArmor vienen casi hechos; tu trabajo es completarlos o aplicarlos. Aprende a leerlos con soltura.
- El resto de la liturgia (triaje, contextos,
$do) es la misma de CKA y CKAD.
Plan de entrenamiento
- Repasa la especialización entera ejecutando: cada herramienta (kube-bench, trivy, falco, gatekeeper) instalada y usada al menos dos veces en tu laboratorio.
- Killercoda CKS: escenarios gratuitos por tema, imprescindibles aquí porque montan las herramientas por ti.
- killer.sh CKS: las dos sesiones incluidas. En el CKS es especialmente valioso porque reproduce los ejercicios de nodos.
- Lee las guías oficiales: el CIS Benchmark, la guía de hardening de la NSA/CISA y los security checklists de kubernetes.io alimentan directamente las preguntas.
El día del examen
Misma logística que las anteriores (proctor, identificación, sala despejada). Específico del CKS: respira cuando entres en los nodos por SSH; medio examen ocurre fuera de kubectl y es donde los nervios pierden exámenes. Ficheros → backup → editar → verificar → siguiente.
Y ya está. Si has llegado hasta aquí con las tres certificaciones (o sin ellas, pero con todo el curso practicado), tienes un perfil que muy pocos equipos dejarían escapar: sabes desplegar, administrar y asegurar Kubernetes. Gracias por navegar hasta el final, almirante. ⚓
- Lista de vídeos en Youtube: Curso Kubernetes