ការចេញផ្សាយ Bubblewrap 0.4.0 ដែលជាស្រទាប់សម្រាប់បង្កើតបរិស្ថានដាច់ដោយឡែក

មាន новый выпуск инструментария ពពុះទឹក ០.៤.០, предназначенного для организации работы изолированных окружений в Linux и функционирующий на уровне приложений непривилегированных пользователей. На практике Bubblewrap используется проектом Flatpak в качестве прослойки для изоляции запускаемых из пакетов приложений. Код проекта написан на языке Си и ចែកចាយ​ដោយ под лицензией LGPLv2+.

សម្រាប់ភាពឯកោ បច្ចេកវិទ្យានិម្មិតកុងតឺន័រលីនុចប្រពៃណីត្រូវបានប្រើ ដោយផ្អែកលើការប្រើប្រាស់ cgroups, namespaces, Seccomp និង SELinux ។ ដើម្បីអនុវត្តប្រតិបត្តិការដែលមានសិទ្ធិដើម្បីកំណត់រចនាសម្ព័ន្ធកុងតឺន័រ Bubblewrap ត្រូវបានបើកដំណើរការដោយមានសិទ្ធិជា root (ឯកសារដែលអាចប្រតិបត្តិបានជាមួយនឹងទង់ suid) ហើយបន្ទាប់មកកំណត់សិទ្ធិឡើងវិញបន្ទាប់ពីកុងតឺន័រត្រូវបានចាប់ផ្តើម។

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

ភាពឯកោនៅកម្រិតប្រព័ន្ធឯកសារត្រូវបានសម្រេចដោយបង្កើត mount namespace ថ្មីតាមលំនាំដើម ដែលក្នុងនោះភាគថាស root ទទេត្រូវបានបង្កើតដោយប្រើ tmpfs ។ បើចាំបាច់ ភាគថាស FS ខាងក្រៅត្រូវបានភ្ជាប់ទៅភាគថាសនេះនៅក្នុងរបៀប "ម៉ោន -bind" (ឧទាហរណ៍ នៅពេលបើកដំណើរការជាមួយជម្រើស "bwrap —ro-bind /usr /usr" ភាគថាស /usr ត្រូវបានបញ្ជូនបន្តពីប្រព័ន្ធមេ។ នៅក្នុងរបៀបបានតែអាន)។ សមត្ថភាពបណ្តាញត្រូវបានកំណត់ចំពោះការចូលប្រើចំណុចប្រទាក់រង្វិលជុំជាមួយនឹងភាពឯកោជង់បណ្តាញតាមរយៈទង់ CLONE_NEWNET និង CLONE_NEWUTS ។

ភាពខុសគ្នាសំខាន់ពីគម្រោងស្រដៀងគ្នា គុកភ្លើង, который также использует модель запуска с применением setuid, является то, что в Bubblewrap прослойка для создания контейнеров включает только необходимый минимум возможностей, а все расширенные функции, необходимые для запуска графических приложений, взаимодействия с рабочим столом и фильтрации обращений к Pulseaudio, вынесены на сторону Flatpak и выполняются уже после сброса привилегий. Firejail же объединяет в одном исполняемом файле все сопутствующие функции, что усложняет его аудит и поддержание безопасности на должном уровне.

Новый выпуск примечателен реализацией поддержки присоединения существующих пространств имён идентификаторов пользователей (user namespaces) и процессов (pid namespaces). Для управления подключением пространств имён добавлены флаги «—userns», «—userns2» и «—pidns».
Данная возможность не работает в режиме setuid и требует применения отдельного режима, который может работать без получения прав root, но требует активации
user namespaces в системе (по умолчанию отключены в Debian и RHEL/CentOS) и не исключает возможность ការកេងប្រវ័ញ្ច សក្តានុពល остающихся ភាពងាយរងគ្រោះ для обода ограничений «user namespaces». Из новых возможностей Bubblewrap 0.4 также отмечается возможность сборки с Си-библиотекой musl вместо glibc и поддержка сохранения информации о пространствах имён в файл со статистикой в формате JSON.

ប្រភព: opennet.ru

បន្ថែមមតិយោបល់