Bubblewrap, alat za stvaranje aplikacija u izoliranim okruženjima

Bubblewrap je alat šta radi organizirati rad u zaštićenom okruženju na Linuxu i trči na nivou aplikacije neprivilegovanih korisnika. U praksi, Bubblewrap projekt Flatpak koristi kao srednji sloj za izolaciju aplikacija pokrenutih iz softverskih paketa.

Za izolaciju, Linux koristi tehnologije virtualizacije tradicionalnih kontejnera zasnovanih na upotrebi cgroups, prostora prostora, Seccomp i SELinux. Za izvođenje privilegiranih operacija 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.

Nema potrebe da omogućite korisničke prostore imena na sistemu, omogućavajući vam upotrebu vlastitog skupa ID-ova u spremnicima, jer po defaultu 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, sa zastavicom setuid.

Izolacija na nivou sistema datoteka 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 su u prilogu ovog odjeljka u «mount-bind»(Na primjer, počevši od opcije«bwrap –ro-bind / usr / usr', Odjeljak / usr se prosljeđuje s hosta u načinu samo za čitanje).

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

Ključna razlika sa sličnim projektom Firejail, koji takođe koristi setuid pokretač, je da je u Bubblewrapu, sloj spremnika uključuje samo minimalno potrebne karakteristike i sve napredne funkcije potrebne za pokretanje grafičkih aplikacija, interakciju sa radnom površinom i filtriranje poziva Pulseaudio, dovode se na stranu Flatpak-a i izvode nakon resetiranja privilegija.

S druge strane, Firejail kombinira sve povezane funkcije u jednu izvršnu datoteku, usložnjavajući vašu reviziju i održavajući sigurnost na odgovarajućem nivou.

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

Korištenjem prekidača, korisnik može izgraditi željeno okruženje sistema datoteka u prostoru imena montiranja montiranjem željenih direktorija na vezu iz host sistema.

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 LGPLv2 + licencom.

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

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

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

Od novih karakteristika Bubblewrap 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.

Bubblewrap kod, kao i dokumentaciju o njemu, možete pogledati na Github-u, veza je ovo.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.