Bubblewrap 0.8 шығарылымы, оқшауланған орталарды жасауға арналған қабат

Оқшауланған орталардың жұмысын ұйымдастыруға арналған құралдардың шығарылымы Bubblewrap 0.8 қол жетімді, әдетте артықшылығы жоқ пайдаланушылардың жеке қолданбаларын шектеу үшін қолданылады. Іс жүзінде Bubblewrap Flatpak жобасымен пакеттерден іске қосылған қолданбаларды оқшаулау үшін қабат ретінде пайдаланылады. Жоба коды C тілінде жазылған және LGPLv2+ лицензиясы бойынша таратылады.

Оқшаулау үшін топтар, аттар кеңістігі, Seccomp және SELinux пайдалануға негізделген дәстүрлі Linux контейнерлік виртуалдандыру технологиялары қолданылады. Контейнерді конфигурациялау үшін артықшылықты әрекеттерді орындау үшін Bubblewrap түбірлік құқықтарымен (suid жалаушасы бар орындалатын файл) іске қосылады, содан кейін контейнер инициализацияланғаннан кейін артықшылықтарды қалпына келтіреді.

Контейнерлердегі жеке идентификаторлар жинағын пайдалануға мүмкіндік беретін аттар кеңістігі жүйесінде пайдаланушы аттар кеңістігін белсендіру жұмыс істеу үшін қажет емес, өйткені ол көптеген дистрибутивтерде әдепкі бойынша жұмыс істемейді (Bubblewrap шектеулі suid іске асыру ретінде орналасқан. пайдаланушы аттар кеңістігі мүмкіндіктерінің ішкі жиыны - ағымдағыдан басқа барлық пайдаланушы және процесс идентификаторларын ортадан шығару үшін CLONE_NEWUSER және CLONE_NEWPID режимдері пайдаланылады). Қосымша қорғау үшін Bubblewrap астында орындалған бағдарламалар PR_SET_NO_NEW_PRIVS режимінде іске қосылады, бұл жаңа артықшылықтарды алуға тыйым салады, мысалы, setuid жалаушасы бар болса.

Файлдық жүйе деңгейіндегі оқшаулау әдепкі бойынша tmpfs көмегімен бос түбірлік бөлім жасалған жаңа орнату аттар кеңістігін жасау арқылы орындалады. Қажет болса, сыртқы FS бөлімдері осы бөлімге «mount —bind» режимінде бекітіледі (мысалы, «bwrap —ro-bind /usr /usr» опциясымен іске қосылғанда, /usr бөлімі негізгі жүйеден қайта жіберіледі. тек оқуға арналған режимде). Желі мүмкіндіктері CLONE_NEWNET және CLONE_NEWUTS жалаушалары арқылы желілік стек оқшаулауы бар кері цикл интерфейсіне қол жеткізумен шектелген.

Сондай-ақ setuid іске қосу үлгісін қолданатын ұқсас Firejail жобасынан басты айырмашылығы, Bubblewrap-та контейнер жасау қабаты тек қажетті минималды мүмкіндіктерді және графикалық қолданбаларды іске қосу, жұмыс үстелімен әрекеттесу және сұрауларды сүзу үшін қажетті барлық кеңейтілген функцияларды қамтиды. Pulseaudio-ға, Flatpak жағына ауыстырылды және артықшылықтар қалпына келтірілгеннен кейін орындалады. Firejail, екінші жағынан, барлық қатысты функцияларды бір орындалатын файлға біріктіреді, бұл аудитті және қауіпсіздікті тиісті деңгейде сақтауды қиындатады.

Жаңа шығарылымда:

  • Добавлена опция «—disable-userns» отключающая создание в sandbox-окружении своего вложенного пространства идентификаторов пользователей (user namespace).
  • Добавлена опция «—assert-userns-disabled» для проверки, что при использовании опции » —disable-userns» задействовано существующее пространство идентификаторов пользователей.
  • Повышена информативность сообщений об ошибках, связанных с отключением в ядре настроек CONFIG_SECCOMP и CONFIG_SECCOMP_FILTER.

Ақпарат көзі: opennet.ru

пікір қалдыру