El examen Certified Kubernetes Security Specialist (CKS) es una evaluación basada en el desempeño y neutral respecto a proveedores, centrada en tareas de seguridad de Kubernetes realizadas desde la línea de comandos en clústeres de Kubernetes. Actualmente utiliza Kubernetes v1.35, pero la Linux Foundation alinea el entorno con una versión menor reciente de Kubernetes; por ello, verifique la versión actual y el temario antes de basarse en un comando, una funcionalidad o la ponderación de un dominio. Los seis dominios son: Configuración del clúster (15 %), Endurecimiento del clúster (15 %), Endurecimiento del sistema (10 %), Minimización de vulnerabilidades en microservicios (20 %), Seguridad de la cadena de suministro (20 %) y Monitoreo, registro y seguridad en tiempo de ejecución (20 %). El examen se basa en el desempeño y cuenta con supervisión en línea: se deben resolver múltiples tareas desde la línea de comandos en un plazo de dos horas, y es requisito previo haber aprobado el examen Certified Kubernetes Administrator (CKA).
A continuación, podemos examinar el flujo de tareas y la distribución actual de los dominios.
Una tarea de CKS se considera completa cuando existe el estado de seguridad solicitado y se dispone de evidencia de que el control de Kubernetes correspondiente lo aplica. Memorizar un comando puede permitir crear un objeto rápidamente, pero no garantiza que una carga de trabajo sea seleccionada por una política, que una identidad tenga únicamente el permiso de API previsto o que una regla de detección observe el comportamiento esperado en tiempo de ejecución. Antes de modificar la configuración, lea los requisitos relativos al recurso de destino, al límite de seguridad y a la señal de verificación necesaria.
Cuando el tiempo apremie, genere artefactos pequeños y fáciles de inspeccionar. Por lo general, estos incluyen un manifiesto que declara el estado deseado, un comando de alcance limitado que lo aplica o inspecciona, y una salida que muestra el objeto o el comportamiento tras el cambio. Un manifiesto acredita la configuración enviada a la API de Kubernetes. La salida de un comando solo demuestra el estado del recurso o la respuesta observada en ese momento concreto, dentro del clúster y el espacio de nombres seleccionados. Ninguno de los dos elementos demuestra por sí solo que todas las rutas sean seguras.
Utilice un ciclo de trabajo repetible. En primer lugar, identifique el contexto activo del clúster y el espacio de nombres de destino. A continuación, inspeccione los objetos y etiquetas existentes que determinan la selección de políticas o el alcance de la autorización. Aplique el cambio mínimo necesario para cumplir la condición establecida y, posteriormente, verifique el resultado mediante una observación acorde con dicha condición. Por último, conserve suficiente contexto para revertir cualquier cambio incorrecto, especialmente al modificar configuraciones de todo el clúster, archivos de los nodos o parámetros del servidor de API.
Regla operativa Priorice la evidencia vinculada al límite de seguridad solicitado frente a un comando conocido que modifique recursos no relacionados.
A lo largo de este curso, protegeremos una carga de trabajo ficticia del sector minorista situada en el espacio de nombres shop. Un espacio de nombres (namespace) es un ámbito de Kubernetes que agrupa recursos con nombre propio y puede constituir un límite para la autorización y las políticas. La carga de trabajo cuenta con una ruta de entrada (ingress) accesible desde el exterior que conecta con orders-api:1.0 a través del puerto 8080; dicha aplicación llama a payments-api:1.0 en el puerto 8443, y payments-api utiliza a su vez orders-db. En este modelo, ninguna carga de trabajo, salvo la de entrada, es accesible desde fuera del clúster.
Cada aplicación utiliza su propia ServiceAccount (cuenta de servicio), una identidad de Kubernetes que un Pod puede emplear al realizar llamadas a la API de Kubernetes. orders-api utiliza orders-sa, mientras que payments-api utiliza payments-sa. Mantener estas identidades separadas nos permite probar la autorización basada en el principio de menor privilegio independientemente de la accesibilidad de red, la procedencia de la imagen, las restricciones de los Pods y las señales de tiempo de ejecución. La regla reutilizable consiste en identificar la ruta de la carga de trabajo y el límite de identidad antes de seleccionar un control de seguridad.
Ahora podemos trazar el límite de la carga de trabajo que las defensas posteriores deberán preservar.