Eldono de Bubblewrap 0.8, tavolo por krei izolitajn mediojn

Eldono de iloj por organizi la laboron de izolitaj medioj Bubblewrap 0.8 estas disponebla, kutime uzata por limigi individuajn aplikojn de senprivilegiaj uzantoj. En praktiko, Bubblewrap estas uzata de la Flatpak-projekto kiel tavolo por izoli aplikojn lanĉitajn de pakaĵoj. La projektkodo estas skribita en C kaj estas distribuita sub la permesilo LGPLv2+.

Por izolado, tradiciaj Linuksaj uj-virtualigaj teknologioj estas uzataj, surbaze de la uzo de cgrupoj, nomspacoj, Seccomp kaj SELinux. Por plenumi privilegiajn operaciojn por agordi ujon, Bubblewrap estas lanĉita kun radikrajtoj (efektivebla dosiero kun suid flago) kaj tiam restarigas privilegiojn post kiam la ujo estas pravalorigita.

Aktivigo de uzantnomspacoj en la nomspacsistemo, kiu permesas vin uzi vian propran apartan aron da identigiloj en ujoj, ne estas bezonata por funkciado, ĉar ĝi ne funkcias defaŭlte en multaj distribuoj (Bubblewrap estas poziciigita kiel limigita suid efektivigo de subaro de uzantnomspacoj-kapabloj - por ekskludi ĉiujn uzant- kaj procezidentigilojn de la medio, krom la nuna, la CLONE_NEWUSER kaj CLONE_NEWPID-reĝimoj estas uzataj). Por plia protekto, programoj ekzekutitaj sub Bubblewrap estas lanĉitaj en la PR_SET_NO_NEW_PRIVS reĝimo, kiu malpermesas la akiron de novaj privilegioj, ekzemple, se la setuid flago ĉeestas.

Izoliteco ĉe la dosiersistemnivelo estas plenumita kreante novan muntan nomspacon defaŭlte, en kiu malplena radikdisko estas kreita uzante tmpfs. Se necese, eksteraj FS-diskoj estas alkroĉitaj al ĉi tiu subdisko en la reĝimo "mount —bind" (ekzemple, kiam oni lanĉas per la opcio "bwrap —ro-bind /usr /usr", la /usr-disko estas plusendita de la ĉefa sistemo. en nurlegebla reĝimo). Retaj kapabloj estas limigitaj al aliro al la loopback-interfaco kun retstaka izoliteco per la flagoj CLONE_NEWNET kaj CLONE_NEWUTS.

La ŝlosila diferenco de la simila Firejail-projekto, kiu ankaŭ uzas la setuid-lanĉan modelon, estas, ke en Bubblewrap la ujo-kreadtavolo inkluzivas nur la necesajn minimumajn kapablojn, kaj ĉiujn altnivelajn funkciojn necesajn por ruli grafikajn aplikaĵojn, interagi kun la labortablo kaj filtri petojn. al Pulseaudio, transdonita al la Flatpak-flanko kaj efektivigita post kiam la privilegioj estis rekomencigitaj. Firejail, aliflanke, kombinas ĉiujn rilatajn funkciojn en unu rulebla dosiero, kio malfaciligas revizii kaj konservi sekurecon sur la taŭga nivelo.

En la nova eldono:

  • Aldonis la opcion "--disable-userns" por malebligi la kreadon de sia propra nestita uzantnomspaco en la sablokesto-medio.
  • Aldonita opcio "--assert-userns-disabled" por kontroli, ke ekzistanta uzantidentigspaco estas uzata kiam oni uzas la opcion "--disable-userns".
  • La informenhavo de erarmesaĝoj rilataj al malŝalto de la agordoj CONFIG_SECCOMP kaj CONFIG_SECCOMP_FILTER en la kerno estis pliigita.

fonto: opennet.ru

Aldoni komenton