Per aïllar-se, s'utilitzen tecnologies tradicionals de virtualització de contenidors de Linux, basades en l'ús de cgroups, espais de noms, Seccomp i SELinux. Per dur a terme operacions amb privilegis per configurar un contenidor, Bubblewrap s'inicia amb drets d'arrel (un fitxer executable amb un indicador suid) i després restableix els privilegis un cop inicialitzat el contenidor.
Активация в системе пространств имён идентификаторов пользователя (user namespaces), позволяющих использовать в контейнерах собственный отдельный набор идентификаторов, для работы не требуется, так как по умолчанию не работает во многих дистрибутивах (Bubblewrap позиционируется как ограниченная suid-реализация подмножества возможностей user namespaces — для исключения всех идентификаторов пользователей и процессов из окружения, кроме текущего, используются режимы CLONE_NEWUSER и CLONE_NEWPID). Для дополнительной защиты исполняемые под управлением
Bubblewrap программы запускаются в режиме PR_SET_NO_NEW_PRIVS, запрещающем получение новых привилегий, например, при наличии флага setuid.
L'aïllament al nivell del sistema de fitxers s'aconsegueix creant un nou espai de noms de muntatge per defecte, en el qual es crea una partició arrel buida mitjançant tmpfs. Si cal, les particions externes FS s'adjunten a aquesta partició en el mode "muntatge —bind" (per exemple, quan s'inicia amb l'opció "bwrap —ro-bind /usr /usr", la partició /usr es reenvia des del sistema principal). en mode de només lectura). Les capacitats de xarxa es limiten a l'accés a la interfície de loopback amb aïllament de la pila de xarxa mitjançant els indicadors CLONE_NEWNET i CLONE_NEWUTS.
Diferència clau amb un projecte similar
Новый выпуск примечателен реализацией поддержки присоединения существующих пространств имён идентификаторов пользователей (user namespaces) и процессов (pid namespaces). Для управления подключением пространств имён добавлены флаги «—userns», «—userns2» и «—pidns».
Данная возможность не работает в режиме setuid и требует применения отдельного режима, который может работать без получения прав root, но требует активации
user namespaces в системе (по умолчанию отключены в Debian и RHEL/CentOS) и не исключает возможность
Font: opennet.ru