¿Cómo se aseguran las imágenes de contenedor?
Respuesta breve
Parte de una imagen base mínima y de confianza (distroless o slim) para reducir la superficie de ataque, escanea las imágenes en busca de CVE conocidas en la CI y en el registro, fija y verifica los digests de las imágenes, ejecuta con un usuario no-root y evita incrustar secretos. Firma las imágenes y aplica políticas de admisión para que solo se ejecuten imágenes escaneadas y firmadas. Reconstruye con regularidad para que las capas base parcheadas se propaguen.
Los contenedores parecen desechables, así que los equipos invierten poco en la seguridad de imágenes — pero una imagen vulnerable o envenenada se ejecuta en todas partes donde se despliega. La entrevista quiere un enfoque por capas, no un solo truco.
Construir una imagen pequeña y limpia
- Imágenes base mínimas. Una base
distrolesso slim elimina shells, gestores de paquetes y bibliotecas sin usar. Menos paquetes significa menos superficie de ataque y mucho menos ruido de escaneo — la mayoría de las CVE provienen de paquetes del SO que nunca usas. - Sin secretos en las capas. Cualquier cosa que se haga
COPYo se establezca como argumento de build persiste en el historial de capas aunque se elimine después; obtén los secretos en tiempo de ejecución en su lugar. - Ejecutar como no-root. Define un
USERpara que una fuga del contenedor no empiece con derechos equivalentes a root, y combínalo con sistemas de archivos de solo lectura y capacidades eliminadas.
Verificar y controlar
- Escanear en la CI y en el registro. Herramientas como Trivy o Grype detectan CVE conocidas tanto en paquetes del SO como en dependencias de lenguaje. Haz que el build falle ante hallazgos críticos, y vuelve a escanear en el registro porque se divulgan nuevas CVE después del build.
- Fijar por digest, no por tags flotantes.
:latestno es determinista; fijar por digest garantiza que ejecutas exactamente lo que escaneaste. - Firmar y aplicar. Firma las imágenes (Sigstore/cosign) y usa control de admisión (p. ej. una política OPA/Kyverno o verificación de firma) para que el clúster solo ejecute imágenes escaneadas y firmadas.
Mantenerla al día
Una CVE parcheada en la imagen base solo ayuda si reconstruyes y redespliegas. Automatiza reconstrucciones periódicas para que las correcciones upstream lleguen a las cargas de trabajo en ejecución.
Qué buscan los entrevistadores
Mencionar primero las imágenes base mínimas y el escaneo, luego no-root, firma más control de admisión, y el punto operativo de que las imágenes deben reconstruirse para heredar los parches.
Posibles preguntas de seguimiento
- ¿Por qué una imagen base más pequeña reduce tanto la superficie de ataque como el ruido del escaneo?
- ¿Qué es la firma de imágenes (p. ej. Sigstore/cosign) y cómo la usa el control de admisión?
- ¿Cómo te aseguras de que un parche de CVE de la imagen base llegue realmente a las cargas de trabajo en ejecución?