Saltar al contenido
Lectura5 minPreview

Bienvenida al curso

Bienvenido a OWASP Kubernetes Top 10. Dos preguntas a un clúster de pruebas de una tienda ficticia, hechas en nombre de la cuenta de servicio que usa su pod de catálogo:

kubectl auth can-i get secrets --all-namespaces --as=system:serviceaccount:tienda:default
kubectl auth can-i '*' '*' --as=system:serviceaccount:tienda:default
yes
yes

El catálogo solo necesita leer un ConfigMap. Pero hace meses, para quitarse de encima un error forbidden, alguien ejecutó un kubectl create clusterrolebinding que le dio cluster-admin a la cuenta default de ese namespace. Desde entonces, quien logre ejecutar código en ese pod puede leer todos los Secrets del clúster y crear lo que quiera, porque el token de la cuenta viene montado dentro del contenedor. Es K03, RBAC permisivo, y es de los hallazgos que más se repiten.

Qué va a lograr

  • Explicar qué es el OWASP Kubernetes Top 10 y clasificar un hallazgo con su identificador, de K01 a K10.
  • Endurecer cargas de trabajo con securityContext, Pod Security Admission y escaneos de Trivy.
  • Reducir permisos con RBAC mínimo, revisar identidades con kubectl auth y sacar los secretos de las variables de entorno.
  • Imponer reglas con Kyverno y cerrar la red con NetworkPolicy, empezando siempre por el modo auditoría.
  • Auditar componentes con kube-bench y activar los registros que permiten investigar un incidente.
  • Redactar un informe de hallazgos con evidencia reproducible, impacto y remediación.

Para quién es y qué necesita

Para quien desarrolla, para equipos de plataforma o DevOps y para analistas que ya usan Kubernetes. Conviene haber hecho Kubernetes: fundamentos y seguridad: aquí se da por sabido qué es un pod, un Deployment o un namespace. Si viene de cero, la píldora Kubernetes en 40 minutos sirve de calentamiento. Necesita una computadora con Docker y unos 8 GB de RAM, con kubectl, kind y Trivy instalados; Kyverno y kube-bench se instalan durante el curso.

Cómo está organizado

MóduloQué aprendeLaboratorio
1. Qué corre en el clúster: K01, K02 y K10Qué es la lista, pods endurecidos, Pod Security Admission, Trivy y versiones con soporteCorregir un manifiesto inseguro con Trivy y Pod Security
2. Quién puede hacer qué: K03, K06 y K08RBAC mínimo, kubectl auth can-i y whoami, identidades y secretosRBAC mínimo y secretos fuera del entorno
3. Reglas y visibilidad: K04, K07, K09 y K05Kyverno, NetworkPolicy, kube-bench y auditoría del API serverPolíticas con Kyverno y segmentación de salida
4. Llevarlo al trabajoLista de revisión, herramientas en el pipeline, cómo reportar y la conclusiónAuditoría completa e informe de hallazgos
Evaluación6 preguntas sobre todo el cursoAprueba con 70 %

Cómo aprovecharlo

Los cuatro laboratorios usan el mismo clúster kind, owasp-k8s: no lo borre entre sesiones. El que más se traba es el del módulo 3. Kyverno pide alrededor de 1 GB de RAM adicional, y la red por defecto de kind puede no aplicar NetworkPolicy; si en el paso de segmentación el pod cliente sigue llegando al servicio, el laboratorio le explica cómo recrear el clúster con Calico. No es un error suyo, y conviene saberlo antes de confiar en una NetworkPolicy en producción.

Escriba los manifiestos usted: la sangría mal puesta y el rechazo del API server enseñan a leer errores. Al aprobar la evaluación final con 70 % recibe el certificado y la insignia.

Tiempo estimado

Unas 4 horas y media. Haga cada laboratorio de corrido; el siguiente parte de lo que dejó el anterior.