Lëshimi i Bubblewrap 0.12, shtresat për krijimin e mjediseve të izoluara

Është publikuar një version i ri i instrumentit për organizimin e punës në mjedise të izoluara Bubblewrap 0.12, i përdorur për të kufizuar aplikacione të veçanta të përdoruesve pa privilegje. Në praktikë, Bubblewrap përdoret nga projekti Flatpak si një ndërfaqe për izollimin e aplikacioneve të ekzekutuara nga paketat. Për izollimin përdoren teknologjitë tradicionale të virtualizimit të kontejnerëve për Linux, të bazuara në përdorimin e cgroups, hapësirave të emrave (namespaces), Seccomp dhe SELinux. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën LGPLv2.1+.

Izolimi në nivelin e sistemit të skedarëve bëhet përmes krijimit të një hapësire të re të emrave të pikave të montimit (mount namespace) me parazgjedhje, në të cilën krijohet një pjesë e zbrazët e rrënjës duke përdorur tmpfs. Në këtë pjesë, sipas nevojës, lidhen pjesë të FS-së së jashtme në modalitetin „mount —bind“ (për shembull, kur ekzekutohet me opsionin „bwrap —ro-bind /usr /usr“, pjesa /usr kalon nga sistemi kryesor në modalitetin vetëm për lexim). Mundësitë rrjetërore kufizohen në qasjen në ndërfaqen loopback me izolimin e skakereve të rrjetit përmes flamujve CLONE_NEWNET dhe CLONE_NEWUTS.

Për të përjashtuar të gjithë identifikuesit e panevojshëm të përdoruesve dhe proceseve nga mjedisi i izoluar të krijuar, mund të përdoren modet CLONE_NEWUSER (hapësira e emrave të përdoruesve) dhe CLONE_NEWPID (hapësira e emrave të PID), ndërsa për të ndaluar marrjen e privilegjeve të reja përdoret moda PR_SET_NO_NEW_PRIVS. Për të marrë privilegjet e nevojshme përdoret "hapësira e emrave të përdoruesve".

Në versionin e ri:

  • Licenca për kodin është modifikuar nga LGPL 2.0+ në LGPL 2.1+.
  • Është ndërprerë mbështetja për ndërtimin në formën e një skedari ekzekutiv që merr privilegje të tjera me flagun suid root. Tani është e domosdoshme që sistemi të mbështesë "hapësirën e emrave të përdoruesve". Si arsye përmendet puna e madhe për mbështetje të variantit me flagun suid në mes të mbështetjes së gjerë të "hapësirës së emrave të përdoruesve" në shpërndarjet.
  • Është shtuar opsioni "—not-a-security-boundary", me të cilin disa dështime gjatë konfigurimit të mjedisit të izoluar sandbox, si rimontimi i një ndarje, nuk çojnë në një përfundim emergjent.
  • Është shtuar opsioni i ndërtimit "assume_kernel", që çaktivizon sigurimin e përputhshmërisë me bërthamën Linux që janë më të vjetra seversioni i specifikuar. Për shembull, specifikimi i versioneve 5.6.0+ do të përjashtojë zbatimin alternativ të funksionalitetit "openat2(RESOLVE_IN_ROOT)".

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster