jauns rÄ«ku komplekta laidiens , kas izstrÄdÄts, lai organizÄtu izolÄtu vidi Linux un darbojas nepievilcÄ«gu lietotÄju lietojumprogrammu lÄ«menÄ«. PraksÄ Flatpak projekts Bubblewrap izmanto kÄ slÄni, lai izolÄtu no pakotnÄm palaistÄs lietojumprogrammas. Projekta kods ir rakstÄ«ts C un licencÄts saskaÅÄ ar LGPLv2+.
IzolÄcijai tiek izmantotas tradicionÄlÄs Linux konteineru virtualizÄcijas tehnoloÄ£ijas, kuru pamatÄ ir cgroups, namespaces, Seccomp un SELinux. Lai veiktu priviliÄ£Ätas darbÄ«bas konteinera konfigurÄÅ”anai, Bubblewrap tiek palaista ar saknes tiesÄ«bÄm (izpildÄms fails ar suid karogu) un pÄc tam atiestata privilÄÄ£ijas pÄc konteinera inicializÄcijas.
LietotÄju nosaukumvietu aktivizÄÅ”ana nosaukumvietas sistÄmÄ, kas ļauj konteineros izmantot savu atseviŔķu identifikatoru kopu, darbÄ«bai nav nepiecieÅ”ama, jo tÄ pÄc noklusÄjuma nedarbojas daudzos izplatÄ«jumos (Bubblewrap tiek pozicionÄts kÄ ierobežota piemÄrotÄ«ba lietotÄju nosaukumvietu iespÄju apakÅ”kopa - lai izslÄgtu no vides visus lietotÄju un procesu identifikatorus, izÅemot paÅ”reizÄjo, tiek izmantoti režīmi CLONE_NEWUSER un CLONE_NEWPID). Papildu aizsardzÄ«bai, izpildÄma ar kontroli
Bubblewrap programmas tiek palaistas režīmÄ PR_SET_NO_NEW_PRIVS, kas aizliedz iegÅ«t jaunas privilÄÄ£ijas, piemÄram, ja ir iestatÄ«ts karogs setuid.
IzolÄÅ”ana failu sistÄmas lÄ«menÄ« tiek veikta, pÄc noklusÄjuma izveidojot jaunu mount nosaukumvietu, kurÄ tiek izveidots tukÅ”s saknes nodalÄ«jums, izmantojot tmpfs. Ja nepiecieÅ”ams, Å”im nodalÄ«jumam tiek pievienoti ÄrÄjie FS nodalÄ«jumi režīmÄ āmount ābindā (piemÄram, palaižot ar opciju ābwrap āro-bind /usr /usrā, /usr nodalÄ«jums tiek pÄrsÅ«tÄ«ts no galvenÄs sistÄmas tikai lasīŔanas režīmÄ). TÄ«kla iespÄjas ir ierobežotas, lai piekļūtu atpakaļcilpas saskarnei ar tÄ«kla steka izolÄciju, izmantojot karogus CLONE_NEWNET un CLONE_NEWUTS.
GalvenÄ atŔķirÄ«ba no lÄ«dzÄ«ga projekta , kas izmanto arÄ« setuid palaiÅ”anas modeli, ir tas, ka Bubblewrap konteinera izveides slÄnis ietver tikai nepiecieÅ”amÄs minimÄlÄs iespÄjas, un visas uzlabotÄs funkcijas, kas nepiecieÅ”amas grafisko lietojumprogrammu palaiÅ”anai, mijiedarbÄ«bai ar darbvirsmu un Pulseaudio zvanu filtrÄÅ”anai, ir Ärpakalpojuma Flatpak un tiek izpildÄ«tas. pÄc privilÄÄ£iju atiestatīŔanas. No otras puses, Firejail apvieno visas saistÄ«tÄs funkcijas vienÄ izpildÄmÄ failÄ, kas apgrÅ«tina auditÄÅ”anu un droŔības uzturÄÅ”anu .
Jaunais laidiens ir ievÄrojams ar atbalsta ievieÅ”anu esoÅ”o lietotÄju nosaukumvietu un procesa pid nosaukumvietu pievienoÅ”anai. Lai kontrolÄtu nosaukumvietu savienojumu, ir pievienoti karodziÅi ā--usernsā, ā--userns2ā un ā-pidnsā.
Å Ä« funkcija nedarbojas setuid režīmÄ un prasa izmantot atseviŔķu režīmu, kas var darboties, neiegÅ«stot root tiesÄ«bas, bet ir jÄaktivizÄ
lietotÄju vÄrdu telpas sistÄmÄ (pÄc noklusÄjuma atspÄjotas Debian un RHEL/CentOS) un neizslÄdz iespÄju "lietotÄju nosaukumu telpu" ierobežojumu apmalei. JaunÄs Bubblewrap 0.4 funkcijas ietver arÄ« iespÄju veidot ar musl C bibliotÄku, nevis glibc, un atbalstu nosaukumvietas informÄcijas saglabÄÅ”anai failÄ ar statistiku JSON formÄtÄ.
Avots: opennet.ru
