Hoʻokuʻu i ka Bubblewrap 0.4.0, kahi papa no ka hana ʻana i nā kaiapuni kaʻawale

Loaʻa новый выпуск инструментария ʻO ka pōpō 0.4.0, предназначенного для организации работы изолированных окружений в Linux и функционирующий на уровне приложений непривилегированных пользователей. На практике Bubblewrap используется проектом Flatpak в качестве прослойки для изоляции запускаемых из пакетов приложений. Код проекта написан на языке Си и mahele ʻia e под лицензией LGPLv2+.

No ka hoʻokaʻawale ʻana, hoʻohana ʻia nā ʻenehana virtualization pahu Linux maʻamau, e pili ana i ka hoʻohana ʻana i nā cgroups, namespaces, Seccomp a me SELinux. No ka hana ʻana i nā hana pono e hoʻonohonoho i kahi pahu, hoʻomaka ʻia ʻo Bubblewrap me nā kuleana kumu (kahi faila me ka hae suid) a laila hoʻihoʻi i nā pono ma hope o ka hoʻomaka ʻana o ka ipu.

Активация в системе пространств имён идентификаторов пользователя (user namespaces), позволяющих использовать в контейнерах собственный отдельный набор идентификаторов, для работы не требуется, так как по умолчанию не работает во многих дистрибутивах (Bubblewrap позиционируется как ограниченная suid-реализация подмножества возможностей user namespaces — для исключения всех идентификаторов пользователей и процессов из окружения, кроме текущего, используются режимы CLONE_NEWUSER и CLONE_NEWPID). Для дополнительной защиты исполняемые под управлением
Bubblewrap программы запускаются в режиме PR_SET_NO_NEW_PRIVS, запрещающем получение новых привилегий, например, при наличии флага setuid.

Hoʻopau ʻia ka hoʻokaʻawale ʻana i ka pae ʻōnaehana faila ma ka hana ʻana i kahi inoa inoa mauna hou ma ke ʻano maʻamau, kahi i hana ʻia ai kahi ʻāpana kumu ʻole me ka hoʻohana ʻana i nā tmpfs. Inā pono, hoʻopili ʻia nā ʻāpana FS o waho i kēia ʻāpana ma ke ʻano "mauna -bind" (no ka laʻana, i ka wā i hoʻokuʻu ʻia me ka koho "bwrap -ro-bind /usr /usr", ua hoʻouna ʻia ka ʻāpana /usr mai ka ʻōnaehana nui. ma ke ʻano heluhelu-wale nō). Ua kaupalena ʻia nā mea hiki i ka pūnaewele ke komo i ka interface loopback me ka hoʻokaʻawale ʻana i ka hoʻopaʻa pūnaewele ma o nā hae CLONE_NEWNET a me CLONE_NEWUTS.

ʻOkoʻa koʻikoʻi mai kahi papahana like Hale ahi, который также использует модель запуска с применением setuid, является то, что в Bubblewrap прослойка для создания контейнеров включает только необходимый минимум возможностей, а все расширенные функции, необходимые для запуска графических приложений, взаимодействия с рабочим столом и фильтрации обращений к Pulseaudio, вынесены на сторону Flatpak и выполняются уже после сброса привилегий. Firejail же объединяет в одном исполняемом файле все сопутствующие функции, что усложняет его аудит и поддержание безопасности на должном уровне.

Новый выпуск примечателен реализацией поддержки присоединения существующих пространств имён идентификаторов пользователей (user namespaces) и процессов (pid namespaces). Для управления подключением пространств имён добавлены флаги «—userns», «—userns2» и «—pidns».
Данная возможность не работает в режиме setuid и требует применения отдельного режима, который может работать без получения прав root, но требует активации
user namespaces в системе (по умолчанию отключены в Debian и RHEL/CentOS) и не исключает возможность hoʻoluhi hiki paha остающихся nawaliwali для обода ограничений «user namespaces». Из новых возможностей Bubblewrap 0.4 также отмечается возможность сборки с Си-библиотекой musl вместо glibc и поддержка сохранения информации о пространствах имён в файл со статистикой в формате JSON.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka