Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

El aislamiento del contenedor y lo que lo rompe

5 tareas · 35 min · Principiante

Hasta aquí revisaste lo que lleva una imagen. Esta sala mira lo que pasa cuando esa imagen corre: un contenedor no es una máquina aparte, es un proceso del servidor al que el núcleo le pone paredes. Aprendes qué paredes son, cuáles se deciden en el momento de arrancar —permisos del núcleo, modo privilegiado, carpetas y sockets montados, puertos publicados— y cómo se ve cada una al leer la inspección de un contenedor. Todo se lee sobre configuraciones de ejemplo; no se ejecuta nada.

0 de 5 · 0%

Objetivo de la sala

Hasta aquí revisaste lo que lleva una imagen. Esta sala mira lo que pasa cuando esa imagen corre: un contenedor no es una máquina aparte, es un proceso del servidor al que el núcleo le pone paredes. Aprendes qué paredes son, cuáles se deciden en el momento de arrancar —permisos del núcleo, modo privilegiado, carpetas y sockets montados, puertos publicados— y cómo se ve cada una al leer la inspección de un contenedor. Todo se lee sobre configuraciones de ejemplo; no se ejecuta nada.

Una máquina virtual lleva su propio núcleo. Un contenedor no: es un proceso normal del servidor al que el núcleo le recorta lo que ve. Dos piezas hacen el recorte. Los espacios de nombres deciden qué ve el proceso (sus procesos, su red, sus carpetas, sus usuarios) y los grupos de control deciden cuánto puede gastar (memoria, procesador, número de procesos).

La consecuencia importa al auditar: como el núcleo es el mismo para todos, un fallo del núcleo o una pared mal puesta afecta al servidor entero, no solo al contenedor.

Para responder aquí hace falta una cuenta

Puedes leer toda la sala sin cuenta. Responder y guardar tu avance pide entrar; al volver aterrizas en esta misma sala.

Responde para continuar

¿Qué comparte un contenedor con los demás contenedores del mismo servidor?

Ver pista de ayuda

Piensa en qué se parece más a una habitación con tabiques: un edificio separado o un piso dividido.

Dentro de un contenedor, «ser root» no significa tener todo el poder de root en el servidor. El núcleo reparte el poder de root en piezas pequeñas llamadas capacidades: una para abrir sockets crudos, otra para cambiar el propietario de un archivo, otra para administrar el sistema. Un contenedor arranca con un conjunto reducido y quien lo lanza puede quitar o añadir piezas.

El patrón defensivo es quitarlas todas y devolver solo las que la aplicación demuestra necesitar. Cuando la lista de capacidades que hace falta se alarga, la pregunta útil no es «cuál añado» sino «por qué esta imagen necesita tanto».

Para responder aquí hace falta una cuenta

Puedes leer toda la sala sin cuenta. Responder y guardar tu avance pide entrar; al volver aterrizas en esta misma sala.

Responde para continuar

En la configuración de un servicio de Tagua Mensajería aparece «quitar todas las capacidades y devolver solo la de abrir puertos bajos». ¿Cómo se lee?

Ver pista de ayuda

Fíjate en el orden: primero se quita todo, después se devuelve algo, y solo lo que hace falta.

Existe un interruptor que apaga casi todas las paredes de golpe: el modo privilegiado. Con él el contenedor recibe casi todas las capacidades y acceso a los dispositivos del servidor. Se puede pedir «por comodidad» porque hace desaparecer errores de permisos, y por eso aparece en tutoriales y en archivos de despliegue copiados sin leer.

A efectos de auditoría, un contenedor privilegiado se trata como equivalente a root del servidor hasta que se demuestre lo contrario. En la inspección de un contenedor se ve de un vistazo.

Para responder aquí hace falta una cuenta

Puedes leer toda la sala sin cuenta. Responder y guardar tu avance pide entrar; al volver aterrizas en esta misma sala.

Responde para continuar

La inspección del contenedor «migrador-nocturno» muestra Privileged = true. ¿Qué haces con ese hallazgo?

Ver pista de ayuda

La pregunta que cierra el hallazgo no es «¿quién lo puso?» sino «¿qué hacía falta de verdad?».

Un contenedor puede ver carpetas del servidor si se le montan. Una carpeta dedicada y de solo lectura es razonable. Montar el directorio personal entero, o la raíz, deja el servidor a la vista de cualquier proceso comprometido.

El caso peor es el socket del motor de contenedores: es la puerta con la que se manda al motor crear y gestionar contenedores. Quien lo alcanza desde dentro puede lanzar uno nuevo con el disco del servidor montado: equivale a tener el control del servidor. Se ve en la lista de montajes de la inspección.

Para responder aquí hace falta una cuenta

Puedes leer toda la sala sin cuenta. Responder y guardar tu avance pide entrar; al volver aterrizas en esta misma sala.

Responde para continuar

Entre los montajes de un contenedor de la integración continua aparece la ruta del socket del motor de contenedores. ¿Qué implica?

Ver pista de ayuda

Piensa en qué se puede hacer con una puerta que da órdenes al propio motor de contenedores.

El último ajuste del arranque decide quién llega al contenedor. Publicar un puerto lo hace accesible desde la red del servidor; si se publica en todas las interfaces, también desde fuera. Una base de datos de pruebas con su puerto publicado en todas partes es de los hallazgos más comunes, y casi nunca se hizo a propósito: venía copiado de un ejemplo.

La revisión es la misma de siempre: qué puertos están publicados, en qué dirección escuchan y si alguien necesita de verdad llegar a ellos desde fuera.

Para responder aquí hace falta una cuenta

Puedes leer toda la sala sin cuenta. Responder y guardar tu avance pide entrar; al volver aterrizas en esta misma sala.

Responde para continuar

Una base de datos de pruebas aparece con su puerto publicado en todas las interfaces del servidor, y solo la usa otro contenedor del mismo equipo. ¿Cuál es la corrección más adecuada?

Ver pista de ayuda

Si solo lo necesita otro contenedor, ¿hace falta que alguien de fuera pueda llamar a esa puerta?

Entra para responder, guardar tu avance y ganar puntos.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio y la seguridad de tu sesión y, solo si lo autorizas, analítica. Puedes aceptar, rechazar o personalizar. Política de Cookies · Política de Privacidad