• # Ce n'est qu'une première étape.

    Posté par . En réponse au journal Docker 1.10 et les user namespace.. Évalué à 10.

    Ceci n'est qu'une première étape puisque avec l'architecture actuelle de docker (daemon), le namespace user est le meme pour l'ensemble des conteneurs. Tu peux dire UID O du conteneur et l'UID 10049 à l'extérieur du conteneur mais ce mapping ce fera pour l'ensemble des conteneurs.

    Cette fonctionnalité arrive tard dans docker par rapport à LXC par exemple qui le gère depuis longtemps. Ceci est lié au fait que docker étant basé sur du Go (golang), il a fallut attendre que les syscalls permettant d'activer les usernamespace soit implémenté dans ce langage, ce qui est arrivé avec le version 1.4 de Go. Ensuite la limitation proposé par l'architecture daemon a pas mal fait réfléchir les dévellopeurs sur la meilleur stratégie à appliquer. Voir ici un excellent résumé : http://events.linuxfoundation.org/sites/events/files/slides/User%20Namespaces%20-%20ContainerCon%202015%20-%2016-9-final_0.pdf

    Il y a une deuxième feature de sécurité apporté par la version 1.10 qui j'attendais depuis très longtemps, c'est l'intégration par défaut de seccomp. Voir ici : https://github.com/docker/docker/blob/master/docs/security/seccomp.md
    La on a vraiment une "power feature" je trouve, les users namespace c'est sympa mais ça va pas changer grand chose à ma vie (mes conteneurs ont tous un utilisateur non root et les binaires à l'intérieur de mes conteneurs n'ont pas de setuid).