Kutolewa kwa Bubblewrap 0.8, safu ya kuunda mazingira yaliyotengwa

Utoaji wa zana za kupanga kazi ya mazingira yaliyotengwa Bubblewrap 0.8 inapatikana, kwa kawaida hutumiwa kuzuia matumizi ya kibinafsi ya watumiaji wasio na haki. Kiutendaji, Bubblewrap hutumiwa na mradi wa Flatpak kama safu ya kutenga programu zilizozinduliwa kutoka kwa vifurushi. Msimbo wa mradi umeandikwa kwa C na unasambazwa chini ya leseni ya LGPLv2+.

Kwa kutengwa, teknolojia za uboreshaji za vyombo vya Linux za jadi hutumiwa, kulingana na matumizi ya vikundi, nafasi za majina, Seccomp na SELinux. Ili kutekeleza shughuli zilizobahatika kusanidi kontena, Bubblewrap inazinduliwa ikiwa na haki za mizizi (faili inayoweza kutekelezeka yenye alama ya suid) na kisha kuweka upya haki baada ya kontena kuanzishwa.

Uanzishaji wa nafasi za majina ya watumiaji katika mfumo wa nafasi ya majina, ambayo hukuruhusu kutumia seti yako tofauti ya vitambulisho kwenye vyombo, haihitajiki kwa operesheni, kwani haifanyi kazi kwa chaguo-msingi katika usambazaji mwingi (Bubblewrap imewekwa kama utekelezwaji mdogo wa suid. kikundi kidogo cha uwezo wa nafasi za majina ya watumiaji - kuwatenga vitambulishi vyote vya watumiaji na kuchakata kutoka kwa mazingira, isipokuwa hii ya sasa, CLONE_NEWUSER na CLONE_NEWPID modi zinatumika). Kwa ulinzi wa ziada, programu zinazotekelezwa chini ya Bubblewrap huzinduliwa katika hali ya PR_SET_NO_NEW_PRIVS, ambayo inakataza upataji wa haki mpya, kwa mfano, ikiwa bendera ya setuid iko.

Kutengwa katika kiwango cha mfumo wa faili kunakamilishwa kwa kuunda nafasi mpya ya jina kwa chaguo-msingi, ambapo mgawanyiko wa mizizi tupu huundwa kwa kutumia tmpfs. Ikihitajika, sehemu za nje za FS zimeambatishwa kwenye kizigeu hiki katika hali ya "mount -bind" (kwa mfano, inapozinduliwa na chaguo la "bwrap -ro-bind /usr /usr", kizigeu cha /usr kinatumwa kutoka kwa mfumo mkuu. katika hali ya kusoma tu). Uwezo wa mtandao una mipaka ya kufikia kiolesura cha nyuma kwa kutengwa kwa rafu ya mtandao kupitia CLONE_NEWNET na bendera za CLONE_NEWUTS.

Tofauti kuu kutoka kwa mradi kama huo wa Firejail, ambao pia hutumia modeli ya uzinduzi wa setuid, ni kwamba katika Bubblewrap safu ya uundaji wa kontena inajumuisha tu uwezo wa chini unaohitajika, na kazi zote za juu zinazohitajika kwa kuendesha programu za picha, kuingiliana na eneo-kazi na maombi ya kuchuja. kwa Pulseaudio, iliyohamishwa hadi upande wa Flatpak na kutekelezwa baada ya mapendeleo kuwekwa upya. Firejail, kwa upande mwingine, inachanganya kazi zote zinazohusiana katika faili moja inayoweza kutekelezwa, ambayo inafanya kuwa vigumu kukagua na kudumisha usalama katika kiwango sahihi.

Katika toleo jipya:

  • Imeongeza chaguo la "--disable-userns" ili kuzima uundaji wa nafasi yake ya majina ya mtumiaji iliyoangaziwa katika mazingira ya kisanduku cha mchanga.
  • Imeongezwa chaguo la "--assert-userns-disabled" ili kuangalia kama nafasi iliyopo ya kitambulisho cha mtumiaji inatumika wakati wa kutumia chaguo la "--disable-userns".
  • Maudhui ya taarifa ya jumbe za hitilafu zinazohusiana na kulemaza mipangilio ya CONFIG_SECCOMP na CONFIG_SECCOMP_FILTER kwenye kernel yameongezwa.

Chanzo: opennet.ru

Kuongeza maoni