Itusilẹ ti Bubblewrap 0.6, Layer fun ṣiṣẹda awọn agbegbe ti o ya sọtọ

Itusilẹ awọn irinṣẹ fun siseto iṣẹ ti awọn agbegbe ti o ya sọtọ Bubblewrap 0.6 wa, nigbagbogbo lo lati ni ihamọ awọn ohun elo kọọkan ti awọn olumulo ti ko ni anfani. Ni iṣe, Bubblewrap jẹ lilo nipasẹ iṣẹ akanṣe Flatpak bi Layer lati ya sọtọ awọn ohun elo ti a ṣe ifilọlẹ lati awọn idii. Koodu ise agbese ti kọ sinu C ati pe o pin labẹ iwe-aṣẹ LGPLv2+.

Fun ipinya, awọn imọ-ẹrọ imudara eiyan Linux ibile ni a lo, da lori lilo awọn akojọpọ, awọn aaye orukọ, Seccomp ati SELinux. Lati ṣe awọn iṣẹ ti o ni anfani lati tunto eiyan kan, Bubblewrap ti ṣe ifilọlẹ pẹlu awọn ẹtọ gbongbo (faili ti o le ṣiṣẹ pẹlu asia suid) ati lẹhinna tun awọn anfani tunto lẹhin ti a ti kọ eiyan naa.

Imuṣiṣẹ ti awọn aaye orukọ olumulo ni eto aaye orukọ, eyiti o fun ọ laaye lati lo eto idamo ti ara rẹ ninu awọn apoti, ko nilo fun iṣẹ, nitori ko ṣiṣẹ nipasẹ aiyipada ni ọpọlọpọ awọn pinpin (Bubblewrap wa ni ipo bi imuse suid lopin ti a ipin awọn agbara awọn aaye orukọ olumulo - lati yọkuro gbogbo olumulo ati awọn idamọ ilana lati agbegbe, ayafi ti lọwọlọwọ, awọn ipo CLONE_NEWUSER ati CLONE_NEWPID ni a lo). Fun afikun aabo, awọn eto ti a ṣe labẹ Bubblewrap ni a ṣe ifilọlẹ ni ipo PR_SET_NO_NEW_PRIVS, eyiti o ṣe idiwọ gbigba awọn anfani tuntun, fun apẹẹrẹ, ti asia setuid ba wa.

Ipinya ni ipele eto faili jẹ aṣeyọri nipasẹ ṣiṣẹda aaye orukọ oke tuntun nipasẹ aiyipada, ninu eyiti a ṣẹda ipin root ofo ni lilo tmpfs. Ti o ba jẹ dandan, awọn ipin FS ita ti wa ni asopọ si ipin yii ni ipo “mount —bind” (fun apẹẹrẹ, nigbati a ṣe ifilọlẹ pẹlu aṣayan “bwrap —ro-bind / usr / usr”, ipin / usr ti wa ni ifiranšẹ siwaju lati eto akọkọ. ni ipo kika-nikan). Awọn agbara nẹtiwọọki ni opin si iraye si wiwo loopback pẹlu ipinya akopọ akopọ nẹtiwọọki nipasẹ awọn asia CLONE_NEWNET ati CLONE_NEWUTS.

Iyatọ bọtini lati iru iṣẹ akanṣe Firejail, eyiti o tun lo awoṣe ifilọlẹ setuid, ni pe ni Bubblewrap Layer ẹda eiyan pẹlu awọn agbara ti o kere ju ti o nilo nikan, ati gbogbo awọn iṣẹ ilọsiwaju pataki fun ṣiṣe awọn ohun elo ayaworan, ibaraenisepo pẹlu tabili tabili ati awọn ibeere sisẹ. si Pulseaudio, gbe lọ si ẹgbẹ Flatpak ati ṣiṣe lẹhin awọn anfani ti a ti tunto. Firejail, ni apa keji, daapọ gbogbo awọn iṣẹ ti o jọmọ ni faili ti o le ṣiṣẹ, eyiti o jẹ ki o nira lati ṣayẹwo ati ṣetọju aabo ni ipele to dara.

Ninu itusilẹ tuntun:

  • Добавлена поддержка сборочной системы Meson. Поддержка сборки при помощи Autotools пока сохранена, но будет удалена в одном из следующих выпусков.
  • Реализована опция «—add-seccomp» для добавления более чем одной программы seccomp. Добавлено предупреждение о том, что при повторном указании опции «—seccomp» будет применён только последний параметр.
  • Ветка master в git-репозитории переименована в main.
  • Добавлена частичная поддержка спецификации REUSE, унифицирующей процесс указания сведений о лицензиях и авторских правах. Во многие файлы с кодом добавлены заголовки SPDX-License-Identifier. Следование рекомендациям REUSE позволяет упростить автоматическое определение какая лицензия применяется к каким из частей кода приложения.
  • Добавлена проверка значения счётчика аргументов командной строки (argc) и реализован экстренный выход в случае если счётчик равен нулю. Изменение позволяет блокировать проблемы с безопасностью, вызванные некорректной обработкой передаваемых аргументов командной строки, такие как CVE-2021-4034 в Polkit.

orisun: opennet.ru

Fi ọrọìwòye kun