‫¿Qué opinas sobre las imágenes sin distro?
‫¿Es una buena compensación entre tamaño y seguridad?
‫Diría que si puedes hacer imágenes sin distro,
‫y lo que queremos decir con esto, el término
‫está en constante cambio.
‫Siento que las imágenes sin distro
‫son complicadas. Siento que solo decir imágenes scratch
‫podría ser una forma más fácil de decirlo. Pero, es correcto decir imagen
‫sin distorsiones, lo que significa que no hay un sistema de
‫paquete base. No hay apto. No hay mmm.
‫No hay todos esos comandos diferentes que
‫asumiría que están en un contenedor si usa una
‫de las imágenes oficiales. La cuestión es que las imágenes
‫sin distro no son muy comunes por dos razones.
‫Uno, la mayoría de los
‫programas necesitan todas esas cosas para funcionar.
‫Necesitan dependencias de paquetes aptos.
‫Necesitan sus
‫propias bibliotecas SSL abiertas. Necesitan todo tipo de cosas además del programa
‫que está allí, correcto.
‫Esa es la mayoría de las aplicaciones de hoy.
‫Golang, C, algunos otros lenguajes pueden construir binarios
‫únicos que básicamente tienen todo lo que
‫necesitan para ejecutarse, además
‫del núcleo. Esas cosas son
‫técnicamente capaces de eliminar todo lo que está debajo.
‫Todas las capas y su imagen podrían desaparecer.
‫Todavía no los veo mucho en la naturaleza porque no
‫trabajo con Google y Netflix, y con grandes equipos de
‫personas que son súper profesionales en esto.
‫Las dos razones aquí son: una, debe tener
‫un lenguaje que lo admita y debe tener un
‫equipo que comprenda cómo construirlos correctamente.
‫Entonces, debe ser realmente bueno para la resolución de problemas y cómo funcionan los
‫contenedores en los espacios de nombres.
‫Debido a que en el momento en que la imagen sin distribución
‫se ejecuta en un contenedor y tiene un problema, ni
‫siquiera puede usarlo.
‫No hay caparazón. No puedes meterte en eso.
‫No puedes mirarlo. Entonces, ahora sus herramientas
‫son limitadas y debe comenzar a buscar otras formas
‫de conectar sus herramientas a esos contenedores.
‫Eso existe. Existen esas cosas que harán
‫eso por usted, pero depende en gran medida de su conjunto de habilidades en
‫términos de cómo maneja los espacios de nombres.
‫¿Cómo puede saltar como un sidecar en un contenedor en
‫ejecución en su espacio de nombres desde la línea de comandos
‫sin usar Docker?
‫Esos son los problemas que surgen cuando se trata de
‫la resolución de problemas o el monitoreo y mantenimiento
‫del sistema cuando se tienen imágenes sin distorsiones.
‫Para todas las personas con las que trabajo
‫que comienzan con contenedores, sus primeros proyectos
‫en contenedores, no menciono estas cosas porque el tamaño es solo el tamaño.
‫Siempre puede agregar más espacio en disco a un servidor, a la derecha.
‫No hay razón para hacer que todo un equipo aprenda a
‫aprender todo tipo de nuevas herramientas y cosas para que pueda tener menos
‫espacio en disco utilizado en un servidor.
‫Personalmente no me importa el tamaño.
‫La seguridad es una cosa teórica.
‫En teoría, todas esas cosas que se eliminan
‫de una imagen de contenedor podrían
‫hacerlo más seguro. Sin embargo, hablemos de la naturaleza.
‫¿Cuántas oportunidades tiene alguien para jugar con
‫otras herramientas en su contenedor fuera
‫de su aplicación? Digamos que cURL tiene una vulnerabilidad, pero
‫su aplicación no usa cURL.
‫Simplemente sucede que está en la imagen.
‫¿Cómo va a tener acceso alguien a eso, verdad?
‫Tendrán que romper tu aplicación.
‫Entonces, tu aplicación tiene que tener un exploit.
‫Luego, en teoría, podrían ejecutar el comando cURL en el
‫contenedor, a la derecha. Entonces, eso es
‫realmente de lo que se trata este material introvertido, es de
‫los bonos de seguridad teóricos de no incluir otras aplicaciones.
‫Sin embargo, la realidad es que, una vez
‫que crea un binario estático, ya está incluyendo muchas de
‫esas bibliotecas que podrían ser vulnerables como
‫SSL abierto, que es una forma común de conectar aplicaciones con
‫seguridad SSL, ¿verdad?
‫Bueno, si eso tiene una vulnerabilidad y la construyes estáticamente en
‫tu aplicación, todavía está ahí.
‫Simplemente no es un archivo separado en el contenedor.
‫Está en su aplicación en un solo binario.
‫De hecho, en realidad dificulta el escaneo
‫de seguridad porque, ahora, cada escáner que conozco
‫no detectará ese binario SSL abierto si
‫está integrado. Entonces, muchas de estas cosas son teóricas.
‫No tiendo a empujar a los equipos hacia
‫características teóricas de seguridad. Miro más a ver qué
‫está pasando en la naturaleza, ¿verdad?
‫Los demonios Docker se están exponiendo.
‫Kubernetes no tiene la autenticación adecuada, por lo
‫que queda expuesto. Esos son los problemas reales
‫que veo, ya sabes, las cosas en las que nos enfocamos son
‫las cosas de las que seguimos escuchando en las noticias
‫que las personas están siendo pirateadas, ¿verdad? Este tipo de cosas con
‫seguridad teórica en la eliminación de archivos de imágenes.
‫Eso es solo más en el ámbito teórico.
‫No es una razón para no hacerlo.
‫Al igual que esta lista, todo en esta lista, lo
‫haría primero antes de comenzar a seguir ese camino
‫de cosas difíciles.
‫Considero que las imágenes sin distro son relativamente difíciles.
‫A menos que ya sea un programador de Go y que
‫todo su equipo sea realmente bueno en espacios de nombres y
‫comandos de Docker y cosas así.
‫No solo me refiero a los comandos regulares de Docker.
‫Me refiero a cosas complicadas que te ayudan a solucionar problemas
‫de contenedores que no tienen conchas, por ejemplo.
‫Entonces, es una gran pregunta.
‫Viene todo el tiempo.
‫Todos me preguntan sobre eso cuando tenemos discusiones de seguridad
‫porque es un tema popular. Pero, ni siquiera está entre
‫mis diez mejores.
‫Espero que eso ayude.