Vydanie Bubblewrap 0.12, vrstvy na vytváranie izolovaných prostredí

Bol sa zverejnený nový nástroj pre organizáciu práce izolovaných prostredí Bubblewrap 0.12, ktorý sa používa na obmedzenie jednotlivých aplikácií neprivilegovaných používateľov. V praxi sa Bubblewrap používa projektom Flatpak ako medzivrstva na izoláciu aplikácií spustených z balíkov. Na izoláciu sa používajú tradičné technológie kontajnerovej virtualizácie pre Linux, založené na použití cgroups, namespaces, Seccomp a SELinux. Kód projektu je napísaný v jazyku C a je distribuovaný pod licenciou LGPLv2.1+.

Izolácia na úrovni súborového systému sa uskutočňuje prostredníctvom vytvorenia predvolene nového priestoru názvov bodov montovania (mount namespace), v ktorom sa pomocou tmpfs vytvára prázdny koreňový oddiel. Do tohto oddielu sa pri potreba pripájajú oddiely externých FS v režime „mount —bind“ (napríklad pri spustení s možnosťou „bwrap —ro-bind /usr /usr“ sa oddiel /usr prenáša z hlavného systému v režime iba na čítanie). Sieťové možnosti sú obmedzené na prístup k loopback rozhraniu s izoláciou sieťového zásobníka prostredníctvom vlajok CLONE_NEWNET a CLONE_NEWUTS.

Na vylúčenie všetkých zbytočných identifikátorov používateľov a procesov z vytváraného izolovaného prostredia sa môžu používať režimy CLONE_NEWUSER (užívateľské namespace) a CLONE_NEWPID (PID namespace), a na zákaz získania nových privilégií sa používa režim PR_SET_NO_NEW_PRIVS. Na získanie potrebných privilégií sa používa „užívateľské namespace“.

V novom vydaní:

  • Licencia kódu bola zmenená z LGPL 2.0+ na LGPL 2.1+.
  • Podpora pre zostavenie vo forme spustiteľného súboru, ktorý získava ďalšie privilégiá pomocou praporku suid root, bola prerušená. Mať v systéme podporu „užívateľského namespace“ je teraz povinné. Ako dôvod sa uvádza náročnosť údržby variantu s praporkom suid na pozadí všadeprítomnej podpory „užívateľského namespace“ v distribúciách.
  • Pridaná voľba „—not-a-security-boundary“, pri jej nastavení niektoré chyby pri konfigurácii izolovaného sandboxového prostredia, ako je opätovné pripojenie podriadeného oddielu, nevedú k havarijnému ukončeniu.
  • Pridaná možnosť zostavenia „assume_kernel“, ktorá zakazuje zabezpečenie spätnej kompatibility s jadrami Linux, ktoré sú staršie ako uvedená verzia. Napríklad, uvedenie verzií 5.6.0+ povedie k vylúčeniu alternatívnej implementácie funkčnosti „openat2(RESOLVE_IN_ROOT)“.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster