Capítulo 1. Detalles del examen y recursos
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Este capítulo introductorio aborda las preguntas más acuciantes que se plantean los candidatos cuando se preparan para el examen de Especialista Certificado en Seguridad de Kubernetes (CKS). Hablaremos del público al que va dirigida la certificación, del plan de estudios y del entorno del examen, así como de consejos y trucos y de recursos de aprendizaje adicionales. Si ya estás familiarizado con el programa de certificación, puedes saltar directamente a cualquiera de los capítulos que cubren los conceptos técnicos.
Ruta de aprendizaje de la Certificación Kubernetes
El CNCF ofrece cuatro certificaciones de Kubernetes diferentes. La Figura 1-1 clasifica cada una de ellas por público objetivo. Verás que la CKS es la certificación más avanzada que puedes adquirir. Es la única que tiene como requisito previo aprobar primero otra certificación; todas las demás son programas independientes.
Echemos un breve vistazo a los detalles de cada certificación para ver si el CKS es adecuado para ti.
Asociado de Kubernetes y Nube Nativa (KCNA)
KCNA es un programa de certificación de nivel básico para cualquier persona interesada en el desarrollo de aplicaciones nativas de la nube, entornos de ejecución y herramientas. Aunque el examen cubre Kubernetes, no espera que resuelvas problemas de forma práctica. Este examen es adecuado para candidatos interesados en el tema con una amplia exposición al ecosistema.
Asociado en Seguridad de Kubernetes y Nube Nativa (KCSA)
La certificación se centra en el conocimiento básico de los conceptos de seguridad y su aplicación en un clúster Kubernetes. La amplitud y profundidad del programa son comparables a las del KCNA, ya que no requiere resolver problemas de forma práctica.
Desarrollador certificado de aplicaciones Kubernetes (CKAD)
El examen CKAD se centra en verificar tu capacidad para crear, configurar e implementar una aplicación basada en microservicios en Kubernetes. No se espera que implementes realmente una aplicación; sin embargo, el examen es adecuado para desarrolladores familiarizados con temas como la arquitectura de aplicaciones, los tiempos de ejecución y los lenguajes de programación.
Administrador certificado de Kubernetes (CKA)
Los destinatarios del examen CKA son profesionales de DevOps, administradores de sistemas e ingenieros de fiabilidad de sitios. Este examen pone a prueba tu capacidad para desempeñar el papel de administrador de Kubernetes, que incluye tareas como la gestión de clústeres, redes, almacenamiento y seguridad a nivel de principiante, con un gran énfasis en la resolución de problemas.
Especialista certificado en seguridad de Kubernetes (CKS)
El examen CKS amplía los temas verificados por el examen CKA. Aprobar el CKA es un requisito previo antes de que puedas inscribirte en el examen CKS. Para esta certificación, se espera que tengas un conocimiento más profundo de los aspectos de seguridad de Kubernetes. El plan de estudios abarca temas como la aplicación de buenas prácticas para crear aplicaciones en contenedores y garantizar un entorno de ejecución de Kubernetes seguro.
Objetivos del examen
Las vulnerabilidades en el software y la infraestructura informática, si se explotan, pueden suponer una gran amenaza para las organizaciones. La Fundación de Computación Nativa en la Nube (CNCF) desarrolló la certificación Especialista Certificado en Seguridad de Kubernetes (CKS) para verificar la competencia de un administrador de Kubernetes para proteger un clúster de Kubernetes y el software nativo de la nube operado en él. Como parte del examen CKS, se espera que conozcas las principales características de seguridad de Kubernetes, así como las herramientas de terceros y las prácticas establecidas para proteger las aplicaciones y la infraestructura.
Versión de Kubernetes utilizada durante el examen
En el momento de escribir estas líneas, el examen se basa en Kubernetes 1.26. Todo el contenido de este libro seguirá las características, las API y la compatibilidad con la línea de comandos de esa versión específica. Es ciertamente posible que futuras versiones rompan la compatibilidad con versiones anteriores. Mientras te preparas para la certificación, revisa las notas de la versión de Kubernetes y practica con la versión de Kubernetes utilizada durante el examen para evitar sorpresas desagradables.
En este libro, voy a explicar cada una de las amenazas a la seguridad proporcionando un caso de uso concreto. Empezaremos hablando de un escenario que permita a un atacante acceder a un clúster, inyectar código malicioso o utilizar una vulnerabilidad para piratear el sistema. A continuación, abordaremos los conceptos, prácticas y/o herramientas que evitarán esa situación. Con este enfoque, podrás evaluar la gravedad de un riesgo de seguridad y la necesidad de aplicar medidas de seguridad.
Currículum
El siguiente resumen enumera las secciones de alto nivel, también llamadas dominios, del examen CKS y sus ponderaciones de puntuación:
-
10%: Configuración del clúster
-
15%: Endurecimiento de racimos
-
15%: Endurecimiento del sistema
-
20%: Minimizar las vulnerabilidades de los microservicios
-
20%: Seguridad de la cadena de suministro
-
20%: Monitoreo, registro y seguridad en tiempo de ejecución
Cómo funciona el libro
El esquema del libro sigue al pie de la letra el plan de estudios del CKS. Aunque podría haber una estructura de organización didáctica más natural para aprender Kubernetes en general, el esquema del plan de estudios ayudará a los examinandos a prepararse para el examen centrándose en temas específicos. Como resultado, te encontrarás haciendo referencias cruzadas a otros capítulos del libro en función de tu nivel de conocimientos actual.
Vamos a desglosar cada dominio en detalle en las siguientes secciones.
Configuración del clúster
Esta sección cubre conceptos de Kubernetes que ya se han tratado en el examen CKA; sin embargo, asumen que ya entiendes lo básico y esperan que seas capaz de profundizar. Aquí se te examinará sobre las políticas de red y sus efectos a la hora de denegar y conceder la comunicación de red entre Pods dentro del mismo espacio de nombres y a través de múltiples espacios de nombres. El objetivo principal será restringir la comunicación para minimizar la superficie de ataque. Además, el dominio "configuración del clúster" verificará tus conocimientos sobre la configuración de un objeto Ingress con terminación de Seguridad de la Capa de Transporte (TLS).
Se hace mucho hincapié en identificar y corregir las vulnerabilidades de seguridad inspeccionando la configuración del clúster. Herramientas externas como kube-bench pueden ayudar a automatizar el proceso. Como resultado de la ejecución de la herramienta contra tu clúster, recibirás una lista procesable de vulnerabilidades. Cambiar los ajustes de configuración de tu clúster de acuerdo con las recomendaciones puede ayudar a reducir significativamente el riesgo de seguridad.
Por último, bloquear los puntos finales de los nodos del clúster, los puertos y las interfaces gráficas de usuario (GUI) puede ayudar a dificultar que los atacantes se hagan con el control del clúster. Debes conocer la configuración predeterminada del clúster para poder limitar el acceso a ella en la medida de lo posible. Los binarios y ejecutables de Kubernetes como kubectl
, kubeadm
, y el kubelet deben comprobarse con su suma de comprobación para asegurarse de que no han sido manipulados por terceros. Debes saber cómo recuperar el archivo de suma de comprobación de los binarios y cómo utilizarlo para verificar la validez del ejecutable.
Endurecimiento del clúster
La mayoría de las organizaciones comienzan con un clúster que permite tanto a los desarrolladores como a los administradores gestionar la instalación de Kubernetes, la configuración y la gestión de cualquier objeto. Aunque éste es un enfoque conveniente para que los equipos se sientan cómodos con Kubernetes, no es una situación segura, ya que plantea la posibilidad de abrir las compuertas a los atacantes. Una vez que se ha obtenido acceso al clúster, se puede realizar cualquier operación maliciosa.
El control de acceso basado en roles (RBAC) asigna permisos a usuarios o procesos. El examen requiere un profundo conocimiento de los recursos API implicados. El dominio "endurecimiento del clúster" también se centra en el tema de mantener actualizada la versión del clúster para garantizar que se recogen las últimas correcciones de errores. Kubernetes expone el servidor API a través de endpoints. Debes conocer las estrategias para minimizar su exposición al mundo exterior.
Endurecimiento del sistema
En este ámbito se trata de entender cómo minimizar el acceso al sistema anfitrión y a la red externa para reducir la superficie de ataque. Aquí es donde entran en juego herramientas a nivel de SO como AppArmor y seccomp. Tendrás que demostrar su uso para cumplir el requisito. El dominio también aborda específicamente el uso de los roles IAM de AWS para los clústeres que se ejecutan en el entorno de la nube de Amazon.
Minimizar las vulnerabilidades de los microservicios
Los contextos de seguridad definen el control de privilegios y acceso a los contenedores. Los equipos de plataforma y seguridad pueden gobernar e imponer las medidas de seguridad deseadas a nivel organizativo. El examen requiere que comprendas las políticas de seguridad de los Pods y el Gatekeeper OPA para ello. Además, se te pedirá que demuestres cómo definir Secretos de distintos tipos y cómo consumirlos desde Pods para inyectar información sensible en tiempo de ejecución.
A veces, puede que quieras experimentar con imágenes de contenedor de una fuente no verificada o de un origen potencialmente inseguro. Las cajas de arena de tiempo de ejecución de contenedores, como gVisor y Kata Containers, pueden configurarse en Kubernetes para ejecutar una imagen de contenedor con permisos muy restringidos. Configurar y utilizar este tipo de sandbox de tiempo de ejecución de contenedores forma parte de este dominio. Además, debes conocer las ventajas del cifrado mTLS Pod-to-Pod y cómo configurarlo.
Seguridad de la cadena de suministro
La seguridad de los contenedores comienza con la imagen base. Debes conocer las buenas prácticas para crear imágenes de contenedores que minimicen el riesgo de introducir vulnerabilidades de seguridad desde el principio. En el mejor de los casos, sólo permitirás extraer imágenes de contenedores de confianza de un registro de contenedores interno de la organización que ya haya escaneado la imagen en busca de vulnerabilidades antes de que pueda utilizarse. Permitir sólo esos registros es primordial y será uno de los temas importantes en este ámbito. Herramientas como Trivy pueden ayudar en la tarea de escanear imágenes en busca de vulnerabilidades y figuran como requisito para aprobar el examen.
Monitoreo, registro y seguridad en tiempo de ejecución
Uno de los puntos centrales de este dominio es el análisis del comportamiento, el proceso de observación de sucesos anómalos y maliciosos. Falco es la herramienta principal con la que hay que familiarizarse en esta sección. Un contenedor no debe ser mutable una vez iniciado para evitar abrir puertas traseras adicionales a los atacantes. Deberás conocer las buenas prácticas y demostrar la capacidad de aplicarlas en la configuración de un contenedor.
El registro de auditoría puede ser útil para tener una visión en tiempo real de los eventos del clúster o con fines de depuración. Configurar el registro de auditoría para un clúster Kubernetes forma parte del examen.
Primitivas de Kubernetes implicadas
Algunos de los objetivos del examen pueden cubrirse comprendiendo las primitivas fundamentales de Kubernetes. Es de esperar que el examen combine varios conceptos en un solo problema. Consulta la Figura 1-2 como guía aproximada de los recursos Kubernetes aplicables y sus relaciones.
Además de las primitivas del núcleo de Kubernetes, también necesitarás conocer definiciones de recursos personalizadas (CRD) específicas proporcionadas por proyectos de código abierto. Por ejemplo, el Open Policy Agent (OPA) Gatekeeper proporciona el ConstraintTemplate de las primitivas.
Herramientas externas implicadas
Una parte importante del examen requiere que demuestres experiencia con herramientas externas relacionadas con la seguridad. Algunas de las herramientas se han detallado explícitamente en el plan de estudios, pero hay otras herramientas que entran en la misma categoría funcional. Como mínimo, tendrás que estar familiarizado con las siguientes herramientas:
Documentación
Durante el examen, se te permite abrir una lista bien definida de páginas web como referencia. Puedes navegar libremente por esas páginas y copiar y pegar código en el terminal del examen. Las Preguntas Frecuentes (FAQ) del CKS detallan una lista de URL permitidas.
La documentación oficial de Kubernetes incluye el manual de referencia, el sitio GitHub y el blog:
-
Manual de referencia: https: //kubernetes.io/docs
-
GitHub: https: //github.com/kubernetes
-
Blog: https: //kubernetes.io/blog
Para las herramientas externas, se te permite abrir y navegar por la siguiente URL:
Habilidades del candidato
La certificación CKS asume que ya tienes conocimientos de Kubernetes a nivel de administrador. El CNCF exige que adquieras el certificado CKA como requisito previo. Sin esas credenciales, no podrás inscribirte en el examen CKS. Si aún no has aprobado el examen CKA o si quieres repasar los temas, te recomiendo que eches un vistazo a mi libro Guía de estudio del Administrador Certificado de Kubernetes (CKA).
Para el resto del libro, simplemente asumiré que ya tienes los conocimientos necesarios para el CKA. Por lo tanto, ya no repetiré los conceptos básicos sobre temas que se solapan. Por razones de comodidad, te indicaré la información pertinente en el libro del CKA cuando sea necesario. Vuelve a consultar los apartados sobre el entorno del examen y la gestión del tiempo del libro del CKA. Se aplican igualmente al examen CKS.
Prácticas y exámenes prácticos
La práctica es muy importante para aprobar el examen. Para ello, necesitarás un entorno de clúster Kubernetes en funcionamiento. Destacan las siguientes opciones:
-
Me resultó útil ejecutar una o varias máquinas virtuales utilizando Vagrant y VirtualBox. Estas herramientas ayudan a crear un entorno aislado de Kubernetes que es fácil de arrancar y desechar bajo demanda. Algunos de los ejercicios prácticos de este libro utilizan esta configuración como punto de partida.
-
Es relativamente fácil instalar un clúster sencillo de Kubernetes en tu máquina de desarrollador. La documentación de Kubernetes proporciona varias opciones de instalación, dependiendo de tu sistema operativo. Minikube es útil cuando se trata de experimentar con funciones más avanzadas como Ingress o clases de almacenamiento, ya que proporciona la funcionalidad necesaria como complementos que pueden instalarse con un solo comando.
-
Si estás suscrito a la plataforma de aprendizaje de O'Reilly, tienes acceso ilimitado a laboratorios que ejecutan un entorno Kubernetes. Además, puedes poner a prueba tus conocimientos con la ayuda del examen práctico CKS en forma de laboratorios interactivos.
También puedes probar alguno de los siguientes recursos comerciales de aprendizaje y práctica:
-
El libro Guía de estudio del Administrador Certificado de Kubernetes (CKA) cubre el plan de estudios de la certificación CKA. Revisa los materiales del libro para refrescar los fundamentos.
-
Killer Shell es un simulador con ejercicios de muestra para todas las certificaciones de Kubernetes.
-
El examen práctico CKS de Study4exam ofrece un entorno de prueba comercial basado en la web para evaluar tu nivel de conocimientos.
Resumen
El examen CKS verifica tu conocimiento práctico de los aspectos relacionados con la seguridad en Kubernetes. Se espera que comprendas las primitivas y conceptos básicos de Kubernetes que pueden cumplir los requisitos de seguridad, como RBAC, políticas de red e Ingress. El examen también incluye útiles herramientas de seguridad de terceros. Tienes que demostrar cómo utilizar eficazmente esas herramientas. Aprobar el examen CKA es obligatorio para el CKS. Asegúrate de aprobar primero el CKA si aún no lo has hecho.
Los siguientes capítulos están alineados con el plan de estudios del examen para que puedas relacionar el contenido con los objetivos de aprendizaje. Al final de cada capítulo encontrarás ejercicios de muestra para practicar tus conocimientos. La discusión de cada dominio concluye con un breve resumen de los aspectos más importantes que debes aprender.
Get Guía de estudio del Especialista certificado en seguridad de Kubernetes (CKS) now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.