Bubblewrap, egy eszköz az alkalmazások létrehozására elszigetelt környezetben

A Bubblewrap egy eszköz ami működik hogy sandbox munkát szervezzen Linuxon és futni a nem privilegizált felhasználók alkalmazás szintjén. A gyakorlatban a Bubblewrap programot a Flatpak projekt közbenső rétegként használja a szoftvercsomagokból indított alkalmazások elkülönítésére.

Az elkülönítéshez a Linux virtualizációs technológiákat használ a hagyományos tárolók közül, amelyek a csoportok, névterek, Seccomp és SELinux használatán alapulnak. Kiváltságos műveletek végrehajtásához egy tároló konfigurálásához a Bubblewrap root jogosultságokkal indul (egy futtatható fájl suid jelzővel), majd a tároló inicializálása után a jogosultság visszaállítása következik.

Nincs szükség a felhasználói névterek engedélyezésére a rendszerben, lehetővé téve a saját azonosító készlet használatát a konténerekben, mivel alapértelmezés szerint sok disztribúción nem működik.

A Bubblewrap-ról

A Bubblewrap korlátozott suida megvalósításként van elhelyezve a felhasználói névtér függvények részhalmazából az összes felhasználói és folyamatazonosító kizárásához a környezetből, a jelenlegi kivételével, használja a CLONE_NEWUSER és CLONE_NEWPID.

További védelem érdekében a Bubblewrap programban futó programok a módban indulnak PR_SET_NO_NEW_PRIVS, amely tiltja az új kiváltságokat, például a setuid zászlóval.

A fájlrendszer szintjén történő elkülönítés alapértelmezés szerint egy új mount névtér létrehozásával történik, amelyben egy üres gyökérpartíciót hoznak létre a tmpfs segítségével.

Szükség esetén a külső FS szakaszok ehhez a szakaszhoz vannak csatolva a «mount –köt»(Például a«bwrap –ro-bind / usr / usr', A / usr szakaszt csak olvasható módban továbbítja a gazdagépről).

A hálózati képességek a loopback interfészhez való hozzáférésre korlátozottak indikátorokon keresztül fordítva hálózati veremszigeteléssel CLONE_NEWNET és CLONE_NEWUTS.

A legfontosabb különbség a hasonló Firejail projekttel szemben, amely szintén használja a setuid indítót, az a Bubblewrap-ban van, a konténeréteg csak a minimálisan szükséges tulajdonságokat tartalmazza és minden olyan speciális funkció, amely szükséges a grafikus alkalmazások indításához, az asztallal való interakcióhoz és a Pulseaudio hívások szűréséhez, a Flatpak oldalára kerülnek, és a jogosultságok visszaállítása után futtathatóak.

A Firejail viszont az összes kapcsolódó funkciót egyetlen futtatható fájlba egyesíti, bonyolítja az ellenőrzését és a biztonság megfelelő szinten tartását.

A Bubblewrap alapvetően működik segítségével üres csatlakozási névtér létrehozása ideiglenes fájlrendszeren amely a homokozó feldolgozásának befejezése után megsemmisül.

A kapcsolók használatával a felhasználó felépítheti a kívánt fájlrendszer-környezetet a mount névtérben, a csatolással a gazdagépről a kívánt könyvtárak linkjére.

Buborékcsomagolás 0.4.0

A Bubblewrap jelenleg a 0.4 verzióban van.0 amelyet nemrég adtak ki. A projekt kódját C-ben írják, és az LGPLv2 + licenc alatt terjesztik.

Az új verzió figyelemre méltó a névterekhez és folyamatokhoz való csatlakozás támogatásának megvalósításával meglévő felhasználók (pid névterek).

A „–userns”, „–userns2” és „–pidns” zászlók hozzáadódtak a névterek összekapcsolásának vezérléséhez.

Ez a szolgáltatás nem működik setuid módban, és külön módot igényel, amely root jogosultságok nélkül is működhet, de megköveteli a felhasználói névterek engedélyezését a rendszeren (alapértelmezés szerint letiltva a Debianon és az RHEL / CentOS-on), és nem zárja ki a lehetőséget a potenciálisan fennmaradó biztonsági rések kihasználása a "felhasználói névterek" korlátozásai szélén.

A Bubblewrap 0.4 új szolgáltatásai közül Megfigyelhető annak a lehetősége is, hogy glibc helyett a muszlim könyvtárral építsenek, és a névtér információk JSON formátumú statisztikai fájlba történő mentésének támogatása.

A Bubblewrap kód, valamint a róla szóló dokumentáció a Github oldalon olvasható, a link ez.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.