Saltar al contenido principal

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

DominioPesoCapítulos del curso
Cluster setup15%401, 403, 112, 203
Cluster hardening15%120, 121, 203, 204, 201 (upgrades)
System hardening10%405, 402, 403
Minimizar vulnerabilidades de microservicios20%119, 404, 407, 115, 305 (mTLS)
Seguridad de la cadena de suministro20%401 y este capítulo (trivy, validación de imágenes, SBOM)
Monitorización, logging y seguridad en runtime20%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

  1. kube-bench: ejecutar, interpretar y remediar (API server, kubelet) (401).
  2. RBAC de mínimo privilegio: recortar un rol excesivo, service accounts sin automount (121, 120).
  3. NetworkPolicies: default-deny + excepciones, metadata service bloqueado (403).
  4. Pod Security Standards: etiquetar namespaces con enforce/warn/audit (119).
  5. SecurityContext completo: runAsNonRoot, readOnlyRootFilesystem, drop ALL (119).
  6. RuntimeClass con gVisor y verificación con uname (402).
  7. AppArmor/seccomp: cargar perfil y aplicarlo a un pod (405).
  8. Falco: identificar el pod ruidoso y ajustar el output de una regla (406).
  9. Trivy: escanear y eliminar/actualizar lo vulnerable (este capítulo).
  10. Audit policy: configurarla de cero (este capítulo).
  11. Secrets: leerlos/decodificarlos, cifrado en reposo con EncryptionConfiguration (115, 203).
  12. ImagePolicyWebhook: la cadena completa de ficheros (404).
  13. Actualizar el cluster a una versión parcheada (201).
  14. 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 ps hasta 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

  1. Repasa la especialización entera ejecutando: cada herramienta (kube-bench, trivy, falco, gatekeeper) instalada y usada al menos dos veces en tu laboratorio.
  2. Killercoda CKS: escenarios gratuitos por tema, imprescindibles aquí porque montan las herramientas por ti.
  3. killer.sh CKS: las dos sesiones incluidas. En el CKS es especialmente valioso porque reproduce los ejercicios de nodos.
  4. 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. ⚓


Volver al índice