Dos tecnologías omnipresentes en las apps modernas: los contenedores (empaquetar una app) y Kubernetes (orquestar muchos). Traen comodidad y nuevos riesgos.
Contenedor
Un contenedor empaqueta una aplicación con todo lo que necesita (código, librerías, configuración) en un paquete portátil que corre igual en cualquier lado: laptop, servidor o nube. Adiós al "en mi máquina funcionaba". La herramienta más conocida es Docker.
Analogía: un contenedor de barco, estandarizado, que se carga en cualquier camión o buque.
Kubernetes
Cuando hay cientos o miles de contenedores, Kubernetes los orquesta: los arranca, detiene, reparte y reinicia si fallan, de forma automática. Es el director de orquesta de los contenedores. Muy potente, pero complejo, y la complejidad es enemiga de la seguridad.
Los riesgos principales
| Riesgo | Detalle |
|---|---|
| Imágenes vulnerables | Empaquetar sobre una base con fallos arrastra esos fallos |
| Secretos mal guardados | Claves dentro de la imagen del contenedor |
| Config de Kubernetes permisiva | Permisos excesivos en el clúster |
| Escape de contenedor | Un contenedor mal aislado alcanza el host |
Idea clave: cada capa nueva de tecnología trae comodidad, pero también nuevas superficies de ataque. Mitigaciones: escanear imágenes, usar imágenes mínimas y de confianza, gestionar secretos aparte y aplicar mínimo privilegio en el clúster.
Toda esta nube necesita conectarse de forma segura. Cómo se arman las redes en la nube (VPC) es el próximo tema.