Bubblewrap 0.5.0 väljaanne, isoleeritud keskkondade loomise kiht

Saadaval on versioon Bubblewrap 0.5.0 tööriistade komplektist, mida kasutatakse isolatsioonikeskkondade haldamiseks, peamiselt seoses mitteprivilegeeritud kasutajate üksikute rakenduste piiramisest. Praktikas kasutab Bubblewrap Flatpaki projekti pakendite kaudu käivitatavate rakenduste isolatsiooniks. Projekti kood on kirjutatud C keeles ja levitatakse LGPLv2+ litsentsi alusel.

Isolatsiooni tagamiseks kasutatakse traditsioonilisi Linuxi konteinerite virtualiseerimise tehnoloogiaid, mis põhinevad cgroupside, nimede ruumide (namespaces), Seccomp-i ja SELinuxi kasutamisel. Privilegeeritud konteineri seadistamise toimingute täitmiseks käivitatakse Bubblewrap root-õigustes (suud-failiga) ning privileegid tühistatakse pärast konteineri initsialiseerimise lõpetamist.

Kasutaja identsuste ruumide (user namespaces) aktiveerimine, mis võimaldab konteinerites kasutada oma eraldi identsuste kogumit, ei ole vajalik, kuna vaikimisi ei tööta see paljudes jaotustes (Bubblewrap on positsioneeritud kui piiratud suid-implementatsioon kasutaja identsuste võimaluste alamhulgast - kõik kasutaja ja protsessi identsused keskkonnast, välja arvatud praegune, välistamiseks kasutatakse režiime CLONE_NEWUSER ja CLONE_NEWPID). Täiendava kaitse tagamiseks käivitatakse Bubblewrap'i juhtimise all programmid PR_SET_NO_NEW_PRIVS režiimis, mis keelab uute privileegide saamise, näiteks setuid lipu olemasolu korral.

Failisüsteemi isolatsioon toimub loomise abil vaikimisi uut mäetamine ruumi (mount namespace), kus tmpfs abil luuakse tühi juurepartitsioon. Kui vajalik, kinnitatakse sellele partitsioonile välist failisüsteemi partitsioonid režiimis „mount —bind“ (näiteks käivitamisel valikuga „bwrap —ro-bind /usr /usr“ partitsioon /usr edastatakse põhisüsteemist ainult lugemiseks). Võrguvõimalused on piiratud juurdepääsuga loopback-liidesele koos võrguhalli isoleerimisega flagedega CLONE_NEWNET ja CLONE_NEWUTS.

Peamine erinevus sarnase projekti Firejail vahel, mis kasutab samuti setuid mudelit, on see, et Bubblewrap-i konteinerite loomise kiht sisaldab vaid vajalikku minimaalsust, samas kui kõik laiendatud funktsioonid, mis on vajalikud graafiliste rakenduste käitamiseks, lauaarvutiga suhtlemiseks ja Pulseaudio nõuete filtreerimiseks, on välja viidud Flatpaki külge ja teostatakse pärast privileegide tühistamist. Firejail koondab aga kõik kaasnevad funktsioonid ühte täidisega faili, mis muudab selle auditeerimise ja turvalisuse säilitamise keerulisemaks.

Uues väljaandes on pakutud valikuid: «—chmod» failide õiguste muutmiseks, «—clearenv» keskkonnamuutujate (välja arvatud PWD) puhastamiseks ja «—perms» õiguste määramiseks, mis kehtivad operatsioonide «—bind-data», «—dir», «—file», «—ro-bind-data» ja «—tmpfs» käivitamisel. Parandatud on tõrke diagnostika, mis ilmneb bind-režiimis monteerimise ebaõnnestumise korral. Zsh jaoks on lisatud toetust käskude automaatsele täitmisele, vajutades tabulaatorit.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster