Verëffentlechung vu Bubblewrap 0.6, eng Schicht fir isoléiert Ëmfeld ze kreéieren

Eng Verëffentlechung vun Tools fir d'Aarbecht vun isoléierten Ëmfeld ze organiséieren Bubblewrap 0.6 ass verfügbar, normalerweis benotzt fir individuell Uwendungen vun onprivilegéierte Benotzer ze beschränken. An der Praxis gëtt Bubblewrap vum Flatpak Projet als Schicht benotzt fir Uwendungen ze isoléieren, déi vu Packagen gestart ginn. De Projet Code ass an C geschriwwen a gëtt ënner der LGPLv2+ Lizenz verdeelt.

Fir Isolatioun ginn traditionell Linux Container Virtualiséierungstechnologien benotzt, baséiert op der Benotzung vu cgroups, namespaces, Seccomp an SELinux. Fir privilegiéiert Operatiounen auszeféieren fir e Container ze konfiguréieren, gëtt Bubblewrap mat Root-Rechter gestart (eng ausführbar Datei mat engem suid-Fändel) an setzt dann d'Privilegien zréck nodeems de Container initialiséiert ass.

Aktivéierung vu Benotzernummraim am Nummraumsystem, wat Iech erlaabt Ären eegene getrennten Set vun Identifizéierer a Container ze benotzen, ass net erfuerderlech fir Operatioun, well et funktionnéiert net als Standard a ville Verdeelungen (Bubblewrap ass positionéiert als eng limitéiert Süd-Implementatioun vun engem Ënnerdeelung vun de Benotzernummraumfäegkeeten - fir all Benotzer- a Prozessidentifizéierer aus der Ëmwelt auszeschléissen, ausser déi aktuell, d'CLONE_NEWUSER an CLONE_NEWPID Modi ginn benotzt). Fir zousätzlech Schutz, Programmer, déi ënner Bubblewrap ausgefouert ginn, ginn am PR_SET_NO_NEW_PRIVS Modus lancéiert, deen d'Acquisitioun vun neie Privilegien verbitt, zum Beispill, wann de Setuid Fändel präsent ass.

Isolatioun um Dateisystemniveau gëtt erreecht andeems en neie Mount Nummraum als Standard erstallt gëtt, an deem eng eidel Root Partition mat tmpfs erstallt gëtt. Wann néideg, ginn extern FS-Partitionen un dës Partition am "mount —bind" Modus befestegt (zum Beispill, wann se mat der "bwrap -ro-bind /usr /usr" Optioun lancéiert ginn, gëtt d'/usr Partition vum Haaptsystem weidergeleet. am Liesmodus). Netzwierkfäegkeeten si limitéiert fir Zougang zu der Loopback Interface mat Netzwierkstackisolatioun iwwer d'CLONE_NEWNET an CLONE_NEWUTS Fändelen.

De Schlësselunterscheed vum ähnlechen Firejail-Projet, deen och de Setuid Startmodell benotzt, ass datt am Bubblewrap d'Container-Creatiounsschicht nëmmen déi néideg Mindestfäegkeeten enthält, an all déi fortgeschratt Funktiounen déi néideg sinn fir grafesch Uwendungen ze lafen, mat dem Desktop ze interagéieren an ze filteren Ufroen. op Pulseaudio, op d'Flatpak Säit transferéiert an ausgefouert nodeems d'Privilegien zréckgesat goufen. Firejail, op der anerer Säit, kombinéiert all déi verbonne Funktiounen an enger ausführbarer Datei, wat et schwéier mécht d'Sécherheet op de passenden Niveau ze kontrolléieren an z'erhalen.

An der neier Verëffentlechung:

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

Source: opennet.ru

Setzt e Commentaire