Välja antud Bubblewrap 0.4.0, kiht isoleeritud keskkondade loomiseks

Saadaval tööriistakomplekti uus väljalase Bubblewr 0.4.0, mis on loodud isoleeritud keskkondade töö korraldamiseks Linuxis ja toimib privilegeerimata kasutajate rakendustasandil. Praktikas kasutab Flatpaki projekt Bubblewrapi kihina pakettidest käivitatud rakenduste isoleerimiseks. Projekti kood on kirjutatud C ja jaotatud litsentsitud LGPLv2+ alusel.

Isoleerimiseks kasutatakse traditsioonilisi Linuxi konteinerite virtualiseerimistehnoloogiaid, mis põhinevad cgroupide, nimeruumide, Seccompi ja SELinuxi kasutamisel. Konteineri konfigureerimiseks privilegeeritud toimingute tegemiseks käivitatakse Bubblewrap juurõigustega (käivitatav fail lipuga suid) ja lähtestab seejärel õigused pärast konteineri lähtestamist.

Kasutajanimeruumide aktiveerimine nimeruumisüsteemis, mis võimaldab konteinerites kasutada oma eraldi identifikaatorite komplekti, ei ole tööks vajalik, kuna see ei tööta vaikimisi paljudes distributsioonides (Bubblewrap on positsioneeritud kui piiratud sobiv rakendus kasutajanimeruumide võimaluste alamhulk - kõigi kasutajate ja protsesside identifikaatorite välistamiseks keskkonnast, välja arvatud praegune, kasutatakse režiime CLONE_NEWUSER ja CLONE_NEWPID). Lisakaitseks, käivitatav kontrolli all
Bubblewrap programmid käivitatakse režiimis PR_SET_NO_NEW_PRIVS, mis keelab uute õiguste hankimise, näiteks kui on olemas lipp setuid.

Failisüsteemi tasemel isoleerimine saavutatakse vaikimisi uue mounti nimeruumi loomisega, milles luuakse tmpfs abil tühi juurpartitsioon. Vajadusel lisatakse sellele partitsioonile välised FS-i partitsioonid režiimis “mount —bind” (näiteks kui käivitatakse suvandiga “bwrap –ro-bind /usr /usr”, edastatakse /usr partitsioon põhisüsteemist kirjutuskaitstud režiimis). Võrguvõimalused on piiratud juurdepääsuga tagasisilmusliidesele koos võrgupinu isoleerimisega lippude CLONE_NEWNET ja CLONE_NEWUTS kaudu.

Peamine erinevus sarnasest projektist Tuletõrje, mis kasutab ka setuid-käivitusmudelit, seisneb selles, et Bubblewrapis sisaldab konteineri loomise kiht ainult vajalikke minimaalseid võimalusi ning kõik täiustatud funktsioonid, mis on vajalikud graafiliste rakenduste käitamiseks, töölauaga suhtlemiseks ja Pulseaudio kõnede filtreerimiseks, on sisseostetud Flatpakist ja need täidetakse. pärast õiguste lähtestamist. Firejail seevastu ühendab kõik seotud funktsioonid ühte täitmisfaili, mis muudab auditi ja turvalisuse säilitamise keeruliseks. õigel tasemel.

Uus versioon on tähelepanuväärne olemasolevate kasutajanimeruumide ja protsessi pid-nimeruumide ühendamise toe rakendamise poolest. Nimeruumide ühendamise juhtimiseks on lisatud lipud “--userns”, “--userns2” ja “-pidns”.
See funktsioon ei tööta setuid režiimis ja nõuab eraldi režiimi kasutamist, mis võib töötada ka juurõigusi hankimata, kuid nõuab aktiveerimist
kasutajanimeruumid süsteemis (vaikimisi keelatud Debianis ja RHEL/CentOS-is) ega välista võimalust ärakasutamine potentsiaalselt allesjäänud haavatavused "kasutaja nimeruumide" piirangute jaoks. Bubblewrap 0.4 uued funktsioonid hõlmavad ka võimalust luua glibc asemel musl C teegiga ja nimeruumi teabe salvestamise tuge JSON-vormingus statistikaga faili.

Allikas: opennet.ru

Lisa kommentaar