Bubblewrap, alat za stvaranje aplikacija u izoliranim okruženjima

Bubblewrap je alat ono što djeluje organizirati rad pješčanika na Linuxu i trči na razini aplikacije neprivilegiranih korisnika. U praksi, Bubblewrap projekt Flatpak koristi kao posredni sloj za izoliranje aplikacija pokrenutih iz softverskih paketa.

Za izolaciju, Linux koristi tehnologije virtualizacije tradicionalnih spremnika temeljenih na korištenju cgroups, prostora imena, Seccomp i SELinux. Da bi izvršio privilegirane operacije za konfiguriranje spremnika, Bubblewrap se pokreće s root privilegijama (izvršnom datotekom sa suid zastavicom), nakon čega slijedi poništavanje privilegija nakon inicijalizacije spremnika.

Nije potrebno omogućiti korisničke prostore imena u sustavu, što vam omogućuje upotrebu vlastitog skupa ID-ova u spremnicima, jer prema zadanim postavkama ne radi na mnogim distribucijama.

O Bubblewrapu

Bubblewrap je pozicioniran kao ograničena implementacija suida iz podskupa funkcija korisničkog prostora imena za izuzeće svih korisničkih i procesnih ID-ova iz okoline, osim trenutnog, koristite načine CLONE_NEWUSER i CLONE_NEWPID.

Za dodatnu zaštitu, programi koji se izvode u Bubblewrapu pokreću se u načinu PR_SET_NO_NEW_PRIVS, koja zabranjuje nove privilegije, na primjer, s zastavicom setuid.

Izolacija na razini datotečnog sustava vrši se stvaranjem, prema zadanim postavkama, novog prostora imena montiranja, u kojem se pomoću tmpfs kreira prazna korijenska particija.

Ako je potrebno, vanjski FS odjeljci priloženi su ovom odjeljku u «montirati –vezati»(Na primjer, počevši od opcije«bwrap –ro-bind / usr / usr', Odjeljak / usr prosljeđuje se s hosta u načinu samo za čitanje).

Mrežne mogućnosti ograničene su na pristup povratnom sučelju obrnuto s izolacijom mrežnog snopa putem indikatora CLONE_NEWNET i CLONE_NEWUTS.

Ključna razlika sa sličnim projektom Firejail, koji također koristi pokretački program setuid, jest onaj u Bubblewrapu, sloj spremnika uključuje samo minimalno potrebne značajke i sve napredne funkcije potrebne za pokretanje grafičkih aplikacija, interakciju s radnom površinom i filtriranje poziva prema Pulseaudiou, dovode se na stranu Flatpak-a i pokreću nakon resetiranja privilegija.

S druge strane, Firejail kombinira sve povezane funkcije u jednu izvršnu datoteku, komplicirajući vašu reviziju i održavajući sigurnost na ispravnoj razini.

Bubblewrap u osnovi djeluje pomoću stvaranje praznog prostora imena montiranja na privremenom datotečnom sustavu koji će biti uništeni nakon završetka obrade pješčanika.

Korištenjem prekidača, korisnik može izgraditi željeno okruženje datotečnog sustava unutar prostora imena montiranjem željenih direktorija na vezu iz host sustava.

Oblaganje mjehurića 0.4.0

Bubblewrap je trenutno u svojoj verziji 0.4.0 koji je nedavno objavljen. Kôd projekta napisan je na C jeziku i distribuiran pod licencom LGPLv2 +.

Nova verzija je značajan po provedbi podrške za pridruživanje imenskim prostorima i procesima postojeći korisnici (pid imenski prostori).

Oznake "–userns", "–userns2" i "–pidns" dodane su za kontrolu povezivanja prostora imena.

Ova značajka ne radi u setuid načinu rada i zahtijeva zaseban način rada koji može raditi bez root privilegija, ali zahtijeva da se u sustavu omoguće korisnički prostori imena (onemogućeno prema zadanim postavkama na Debianu i RHEL / CentOS-u) i ne isključuje mogućnost za iskorištavanje potencijalno preostalih ranjivosti do ruba ograničenja "korisničkog prostora imena".

Od novih značajki Bubblewrapa 0.4, također se uočava mogućnost gradnje s musl C bibliotekom umjesto glibc, i podrška za spremanje podataka o prostoru imena u statističku datoteku u JSON formatu.

Kôd Bubblewrap-a, kao i dokumentacija o njemu, mogu se pogledati na Github-u, poveznica je ovo.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.