‫El primero es básicamente leer un poco.
‫Al igual que esta parte superior se trata de darte la educación básica
‫de lo que ... ¿Cómo
‫funciona Docker? ¿Qué es la seguridad básica en Docker?
‫¿Cómo Docker incluso, ya sabes, protege
‫tu contenedor? Ese tipo de cosas.
‫Básicamente tengo una charla de producción que puedes ver
‫aquí. No vamos a ver eso ahora.
‫Tengo un enlace aquí a la guía de seguridad de Docker.
‫Ahora, lo interesante de la guía de seguridad de Docker aquí
‫es que realmente se
‫trata de cómo funciona la seguridad de Docker.
‫O, ¿cómo funciona Docker?
‫Hay muchos mejores videos en mi curso.
‫Puse enlaces allí a otros videos de referencia que son una hora
‫completa sobre los fundamentos de Docker.
‫Las dos cosas principales que debe tener en cuenta son los espacios de nombres
‫del kernel y los Cgroups.
‫Los espacios de nombres, revisan
‫una buena descripción de cómo funciona esto.
‫El resumen aquí es que hay dos
‫características principales en Linux que permiten que Docker
‫sea posible. Los espacios de nombres del núcleo
‫son una forma en que el núcleo puede tomar una aplicación,
‫o un conjunto de aplicaciones, y asignarles un espacio de nombres.
‫El espacio de nombres está esencialmente limitando
‫su vista, su acceso a cualquier recurso,
‫o lo que ven, ya sea redes, otros
‫programas en la memoria o archivos en el disco, limita ese
‫alcance por programa.
‫Por lo tanto, puede ser para cada programa individual, y ahora
‫los conocemos como contenedores. Porque los espacios de
‫nombres no son específicos de Docker. Fue mucho más tiempo
‫que Docker. En realidad, ha existido
‫como un concepto en diferentes distribuciones de Unix durante más de una década.
‫Es posible que hayamos escuchado esto en Solaris Jails u otros
‫tipos de tecnologías que esencialmente te
‫hicieron pensar que estabas en
‫tu propio servidor, pero realmente, estabas contenido dentro
‫de un servidor con muchas otras personas y muchas
‫otras aplicaciones, ¿verdad? Lo hemos hecho mucho en Linux
‫y plataformas de alojamiento.
‫Los espacios de nombres son esa característica. Le da a
‫su contenedor su propia NIC. Es una NIC virtual solo para ese contenedor.
‫Le da su propio espacio de
‫archivos donde no ve el resto del siguiente sistema
‫de archivos, y no le permite ver otros programas que se
‫ejecutan fuera de ese contenedor. Entonces, se trata de su acceso y vista, correcto.
‫Eso es espacios de nombres.
‫Eso simplemente funciona fuera de la caja.
‫Así es como Docker hace que un contenedor se ejecute sin ver todo
‫lo demás en el sistema.
‫La otra gran cosa son los grupos de control,
‫o los llamamos Cgroups para abreviar. Los grupos de
‫control tratan principalmente de limitar el uso de recursos.
‫Puedes decirle a un contenedor que solo tiene acceso a 1 GB
‫de RAM, una CPU, ese tipo de cosas.
‫También permite algunas métricas donde puedes medir cosas alrededor
‫de esas cosas, pero en realidad se trata
‫principalmente de limitar tu contenedor. Recuerde, sus contenedores, de manera predeterminada,
‫pueden tener acceso a todos los recursos en términos de que pueden ocupar
‫todo el espacio de archivos, pueden tomar todas las
‫CPU y pueden consumir toda la memoria.
‫Es solo un contenedor estándar, pero puede
‫establecer opciones en Docker Run, Swarm
‫o Kubernetes. Cualquiera de esas cosas tiene la capacidad
‫de controlar los recursos.
‫Pero, simplemente no es por defecto, ¿verdad? Por defecto, cualquier contenedor
‫obtiene todo.
‫Cuando va a la producción, esto definitivamente está en su
‫lista de tareas. No diría que
‫los grupos de control son necesariamente una característica de seguridad, excepto
‫que una aplicación en particular ocupa todo lo que
‫no debería, y luego hace que otras
‫cosas no puedan ejecutarse, correcto.
‫Eso no es... No veo eso como seguridad directa.
‫Considero eso como algo semi-relacionado con la seguridad, donde
‫alguien técnicamente podría hacer una denegación de servicio al permitir
‫que su aplicación consuma todos los
‫recursos en su servidor. Entonces, ya sabes, ese tipo de cosas.
‫Esos son los conceptos básicos.
‫Una vez que comprenda los conceptos básicos, hay
‫un par de buenos artículos de blog aquí sobre diferentes tipos
‫de herramientas de seguridad. Hay toneladas de herramientas,
‫correcto. No voy a mencionarlos a todos hoy.
‫Obviamente, hay muchas cosas por ahí, pero muchas
‫de ellas son complicadas y requieren proyectos.
‫Tienes que implementarlos o comprarlos, y luego dedicar servidores para
‫ellos, correcto.
‫Grandes productos relacionados con la auditoría, o asegurarse de pasar ciertas
‫credenciales como la seguridad de una tarjeta de
‫crédito PCI o la seguridad de la regulación
‫gubernamental, ese tipo de cosas.