🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónContexto de seguridad del pod
5 tareas · 45 min · Principiante
Un contenedor no es una máquina virtual: comparte el núcleo del nodo, y lo que lo separa del resto son las opciones con las que el pod lo arranca. Un manifiesto que pide privilegios de más convierte cualquier fallo de la aplicación en un problema del nodo. En el repositorio de despliegue de Cardumen Pagos hay cuatro manifiestos con ajustes peligrosos y uno cuidado como contraste. Aprendes a leerlos con los dos niveles de Kubernetes para pods, Baseline y Restricted, y a redactar la corrección. Es lectura de manifiestos de ejemplo: nada se aplica a ningún clúster.
Objetivo de la sala
Un contenedor no es una máquina virtual: comparte el núcleo del nodo, y lo que lo separa del resto son las opciones con las que el pod lo arranca. Un manifiesto que pide privilegios de más convierte cualquier fallo de la aplicación en un problema del nodo. En el repositorio de despliegue de Cardumen Pagos hay cuatro manifiestos con ajustes peligrosos y uno cuidado como contraste. Aprendes a leerlos con los dos niveles de Kubernetes para pods, Baseline y Restricted, y a redactar la corrección. Es lectura de manifiestos de ejemplo: nada se aplica a ningún clúster.Kubernetes define tres estándares de seguridad de pods: Privileged (sin restricciones), Baseline y Restricted. Baseline impide las escaladas de privilegios más conocidas: no admite contenedores privilegiados, ni compartir las redes o los procesos del nodo (hostNetwork, hostPID, hostIPC), ni montar rutas del nodo con hostPath, y limita las capacidades que se pueden añadir a una lista corta. Restricted incluye todo eso y exige además runAsNonRoot, allowPrivilegeEscalation: false, un perfil seccomp definido y descartar todas las capacidades.
El sistema de archivos de solo lectura (readOnlyRootFilesystem) es una buena práctica, pero no forma parte de ninguno de los niveles.
Responde para continuar
¿Qué diferencia a Restricted de Baseline?
Ver pista de ayuda
Restricted es Baseline más requisitos extra, no menos.
Un contenedor privilegiado casi no tiene el aislamiento que ofrece el sistema operativo: accede a los dispositivos del nodo y casi nada lo contiene. Es la configuración que más vale la pena buscar primero, porque un solo contenedor así pone en juego al nodo entero y a lo que ejecuta en él. Casi siempre aparece porque «con eso arrancó» y nadie averiguó el permiso concreto que faltaba.
Responde para continuar
¿Qué despliegue tiene un contenedor con `privileged: true`? Escribe su nombre.
Ver pista de ayuda
`grep -r privileged .` dentro de la carpeta de manifiestos.
Linux divide el poder de root en capacidades (capabilities). Un contenedor puede correr como root y aun así tener pocas, o correr sin root y tener muchas. La buena práctica es el camino de Restricted: descartar todas y añadir solo la que la aplicación demuestre necesitar. Algunas capacidades equivalen casi a un root completo del nodo y no están en la lista corta de Baseline.
Revisa worker-conciliacion.yaml: además de correr como usuario 0 y permitir la escalada de privilegios, añade una capacidad.
Responde para continuar
¿Qué capacidad añade el worker de conciliación? Escribe su nombre tal como aparece.
Ver pista de ayuda
Busca la clave `add` dentro de `capabilities`.
Un volumen hostPath monta una ruta del nodo dentro del pod. Si esa ruta es el socket del motor de contenedores, quien controle ese contenedor puede hablar con el motor y manejar los demás contenedores del nodo. Baseline lo prohíbe por eso. La necesidad real del portal («listar contenedores para mostrar su estado») se resuelve con la API de Kubernetes y un permiso de lectura, no con el socket del nodo.
Responde para continuar
El portal monta una ruta del nodo con hostPath. ¿Cómo se llama el archivo de socket que monta? Escribe solo el nombre del archivo.
Ver pista de ayuda
`cat portal-web.yaml` y mira la ruta bajo `hostPath`; el nombre es lo último tras la última barra.
El agente de métricas corre sin root, sin escalar privilegios y descarta todas las capacidades, pero comparte la red y los procesos del nodo. Con Baseline como objetivo, lo que hay que atender es lo que Baseline prohíbe, no lo que solo Restricted exige. Revisa agente-metricas.yaml y niveles.txt.
Responde para continuar
¿Qué cambio deja al agente de métricas dentro de Baseline?
Ver pista de ayuda
Baseline prohíbe los espacios de nombres del host; compara con lo que el manifiesto ya cumple.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.