rilis anyar tina toolkit , dirancang pikeun ngatur padamelan di lingkungan anu terasing di Linux sareng beroperasi dina tingkat aplikasi pikeun pangguna anu teu gaduh hak istimewa. Dina praktékna, Bubblewrap dianggo ku proyék Flatpak salaku lapisan pikeun ngasingkeun aplikasi anu diluncurkeun tina pakét. Kode proyék ditulis dina C sareng di handapeun lisénsi LGPLv2+.
Bahan tradisional dianggo pikeun insulasi Linux téknologi virtualisasi wadah dumasar kana panggunaan cgroups, namespaces, Seccomp sareng SELinuxPikeun ngalaksanakeun operasi konfigurasi wadah anu gaduh hak istimewa, Bubblewrap dijalankeun nganggo hak istimewa root (file anu tiasa dieksekusi gaduh bendera suid anu diaktipkeun) teras ngaleupaskeun hak istimewa saatos inisialisasi wadah réngsé.
Ngaktipkeun rohangan ngaran pangguna dina sistem, anu ngamungkinkeun wadah pikeun nganggo sét idéntifikasi anu misah, henteu diperyogikeun pikeun operasi, sabab sacara standar henteu jalan dina seueur distribusi (Bubblewrap diposisikan salaku implementasi suid kawates tina subkumpulan kamampuan rohangan ngaran pangguna - modeu CLONE_NEWUSER sareng CLONE_NEWPID dianggo pikeun ngaluarkeun sadaya idéntifikasi pangguna sareng prosés tina lingkungan kecuali anu ayeuna). Pikeun panyalindungan tambahan, file anu tiasa dieksekusi dina
Program Bubblewrap dijalankeun dina modeu PR_SET_NO_NEW_PRIVS, anu ngalarang akuisisi hak istimewa anyar, contona, upami aya flag setuid.
Isolasi dina tingkat sistem file dilakonan ku cara nyiptakeun rohangan ngaran gunung anyar sacara standar, dimana partisi akar kosong didamel nganggo tmpfs. Upami diperlukeun, partisi FS éksternal napel kana partisi ieu dina mode "mount -bind" (contona, nalika diluncurkeun ku pilihan "bwrap -ro-bind / usr / usr", partisi / usr diteruskeun tina sistem utama. dina modeu baca wungkul). Kamampuhan jaringan diwatesan pikeun aksés ka panganteur loopback kalayan isolasi tumpukan jaringan via bandéra CLONE_NEWNET sareng CLONE_NEWUTS.
Beda konci ti proyék sarupa , anu ogé nganggo modél peluncuran setuid, nyaéta dina Bubblewrap, lapisan pembuatan wadah ngan ukur ngawengku kamampuan minimum, sedengkeun sadaya fungsi canggih anu diperyogikeun pikeun ngajalankeun aplikasi grafis, berinteraksi sareng desktop, sareng nyaring panggilan Pulseaudio diéksternalisasikeun ka Flatpak sareng dieksekusi saatos hak istimewa dicabut. Firejail, di sisi anu sanés, ngagabungkeun sadaya fungsi anu aya hubunganana dina hiji file anu tiasa dieksekusi, janten hésé pikeun ngaudit sareng ngajaga kaamanan. .
Rilis anyar ieu kasohor ku dukunganana pikeun ngalampirkeun rohangan nami pangguna sareng ID prosés (rohangan nami pid) anu tos aya. Tanda "--usersns," "--usersns2," sareng "--pidns" parantos ditambahkeun pikeun ngontrol lampiran rohangan nami.
Fitur ieu teu tiasa dianggo dina modeu setuid sareng meryogikeun panggunaan modeu anu misah, anu tiasa dianggo tanpa kéngingkeun hak root, tapi meryogikeun aktivasina.
rohangan ngaran pangguna dina sistem (dinonaktipkeun sacara standar dina Debian sareng RHEL/CentOS) sareng henteu ngaluarkeun kamungkinan pikeun nyingkahan larangan "spasi ngaran pangguna". Fitur anyar dina Bubblewrap 0.4 ogé kalebet kamampuan pikeun ngawangun nganggo perpustakaan musl C tinimbang glibc sareng dukungan pikeun nyimpen inpormasi spasi ngaran kana file statistik JSON.
sumber: opennet.ru
