¿Cuáles son los posibles problemas de seguridad al ejecutar código no confiable en un contenedor de Docker como usuario no root?

8

Ya he visto mucha tinta derramada acerca de cómo Docker no está lo suficientemente aislado para permitir que se ejecuten contenedores arbitrarios en un entorno de múltiples inquilinos, y eso tiene sentido. "Si es root en Docker, considérelo root en la máquina host". ¿Qué pasa con el no root aunque?

Si quiero tomar un código que no sea de confianza y ejecutarlo en un contenedor, ¿se puede hacer de manera segura siempre que el contenedor se ejecute como un usuario no sudo no root? ¿Cuáles son los peligros potenciales de la seguridad de hacer algo así?

Estoy bastante seguro de que hay aplicaciones de producción que hacen esto hoy (sistemas CI, pastebins ejecutables), pero ¿tienen la suerte de no tener un atacante determinado o es algo razonable en un sistema de producción?

    
pregunta Michael Bleigh 27.08.2015 - 22:25
fuente

1 respuesta

3

La tecnología Docker y LXC en sí misma todavía se encuentra en etapas muy tempranas cuando se trata de pruebas de explotación. drewbenn tiene razón al resaltar las dificultades de ejecutar los contenedores de Docker como usuarios que no son usuarios root: hay algunas cosas de muy bajo nivel que deben ocurrir para iniciar un contenedor LXC.

Sin embargo, algo interesante a considerar es el objetivo previsto de cualquier malware que esté intentando aislar en el contenedor.

Supongamos que el malware intentaba explotar una falla en una parte del software local para hacer una escalada de privilegios. Podría lograrlo dentro del contenedor, pero también tendría que haber sido escrito específicamente para intentar romper los contenedores de la ventana acoplable para hacer algo malicioso.

Entonces, la pregunta es: ¿sabrán las personas que están escribiendo este código que no es de confianza que lo van a ejecutar dentro de un contenedor? Si lo hacen (o si sospechan que usted lo hará), existe una probabilidad mucho mayor de que surja una vulnerabilidad que explote directamente un entorno acoplado.

    
respondido por el Nic Barker 28.08.2015 - 06:01
fuente

Lea otras preguntas en las etiquetas