Bubblewrap 0.5.0 kaleratzea, ingurune isolatuak sortzeko geruza

Ingurune isolatuetako lana antolatzeko tresnen bertsioa eskuragarri dago Bubblewrap 0.5.0, normalean pribilegiorik gabeko erabiltzaileen aplikazio indibidualak mugatzeko erabiltzen dena. Praktikan, Flatpak proiektuak Bubblewrap erabiltzen du geruza gisa paketeetatik abiarazitako aplikazioak isolatzeko. Proiektuaren kodea C-n idatzita dago eta LGPLv2+ lizentziapean banatzen da.

Isolatzeko, Linux edukiontzien birtualizazio teknologia tradizionalak erabiltzen dira, cgroups, namespaces, Seccomp eta SELinux-en erabileran oinarrituta. Edukiontzi bat konfiguratzeko pribilegiozko eragiketak egiteko, Bubblewrap abiarazten da root eskubideekin (suid bandera duen fitxategi exekutagarria) eta, ondoren, pribilegioak berrezartzen dira edukiontzia hasieratu ondoren.

Erabiltzaileen izen-eremuen sisteman aktibatzea, edukiontzietan zure identifikatzaile-multzo bereizia erabiltzeko aukera ematen duena, ez da beharrezkoa funtzionatzeko, ez baita lehenespenez funtzionatzen banaketa askotan (Bubblewrap-a baten ezarpen suid mugatu gisa kokatzen da. erabiltzailearen izen-espazioen gaitasunen azpimultzoa - erabiltzaile eta prozesu-identifikatzaile guztiak ingurunetik baztertzeko, oraingoa izan ezik, CLONE_NEWUSER eta CLONE_NEWPID moduak erabiltzen dira). Babes gehigarrirako, Bubblewrap-en exekutatzen diren programak PR_SET_NO_NEW_PRIVS moduan abiarazten dira, eta horrek pribilegio berriak eskuratzea debekatzen du, adibidez, setuid bandera badago.

Fitxategi-sistemaren mailan isolatzea lehenespenez muntaketa-izen-espazio berri bat sortuz lortzen da, eta bertan tmpfs erabiliz erro-partizio huts bat sortzen da. Beharrezkoa bada, kanpoko FS partizioak partizio honi eransten zaizkio β€œmount β€”bind” moduan (adibidez, β€œbwrap β€”ro-bind /usr /usr” aukerarekin abiarazten denean, /usr partizioa sistema nagusitik birbidaltzen da. irakurtzeko soilik moduan). Sare-gaitasunak sare-pila isolatuta duen loopback interfazera atzitzeko mugatuta daude CLONE_NEWNET eta CLONE_NEWUTS banderen bidez.

Firejail antzeko proiektuaren gakoa, setuid abiarazte eredua ere erabiltzen duena, Bubblewrap-en edukiontziak sortzeko geruzak beharrezko gutxieneko gaitasun guztiak eta aplikazio grafikoak exekutatzeko, mahaigainarekin elkarreragiten eta eskaerak iragazteko beharrezkoak diren funtzio aurreratu guztiak barne hartzen dituela da. Pulseaudiora, Flatpak-era transferitu eta pribilegioak berrezarri ondoren exekutatu. Firejail-ek, berriz, erlazionatutako funtzio guztiak fitxategi exekutagarri batean konbinatzen ditu, eta horrek zaildu egiten du segurtasun maila egokian ikuskatzea eta mantentzea.

Bertsio berriak aukera hauek eskaintzen ditu: "--chmod" baimenak aldatzeko, "--clearenv" ingurune-aldagaiak garbitzeko (PWD izan ezik) eta "--perms" "--bind" eragiketak egiterakoan erabilitako baimenak definitzeko. -data", "- dir", "--fitxategia", "--ro-bind-data" eta "--tmpfs". Lotura moduan muntatzeak huts egiten duenean gertatzen diren arazoen diagnostiko hobetua. Komandoa osatzeko euskarria gehitu da zsh-rako fitxa sakatuta.

Iturria: opennet.ru

Gehitu iruzkin berria