Az elkülönítéshez hagyományos Linux konténervirtualizációs technológiákat használnak, amelyek a cgroupok, névterek, Seccomp és SELinux használatán alapulnak. A tároló konfigurálásához szükséges privilegizált műveletek végrehajtásához a Bubblewrap root jogokkal indul (egy futtatható fájl suid jelzővel), majd a tároló inicializálása után visszaállítja a jogosultságokat.
A működéshez nem szükséges a felhasználói névterek aktiválása a névtérrendszerben, amely lehetővé teszi a saját, különálló azonosítókészletek használatát a tárolókban, mivel sok disztribúcióban alapértelmezés szerint nem működik (a Bubblewrap egy korlátozottan alkalmas megvalósítása egy felhasználói névterek képességeinek részhalmaza - az összes felhasználói és folyamatazonosító kizárásához a környezetből, kivéve az aktuálisat, a CLONE_NEWUSER és CLONE_NEWPID módok használatosak). További védelem érdekében, ellenőrzés alatt végrehajtható
A Bubblewrap programok PR_SET_NO_NEW_PRIVS módban indulnak el, ami tiltja az új jogosultságok megszerzését, például ha a setuid jelző jelen van.
A fájlrendszer szintű elkülönítés alapértelmezés szerint egy új beillesztési névtér létrehozásával valósul meg, amelyben egy üres gyökérpartíció jön létre a tmpfs használatával. Ha szükséges, külső FS-partíciókat csatolunk ehhez a partícióhoz „mount —bind” módban (például ha a „bwrap –ro-bind /usr /usr” opcióval indítjuk, a /usr partíció a fő rendszerről továbbítódik csak olvasható módban). A hálózati képességek a CLONE_NEWNET és a CLONE_NEWUTS jelzőkön keresztül történő hálózati veremszigeteléssel ellátott loopback interfész elérésére korlátozódnak.
Lényeges különbség egy hasonló projekthez képest
Az új kiadás a meglévő felhasználói névterek és a process pid névterek összekapcsolásának támogatásáról ismert. A névterek kapcsolatának szabályozására a „--userns”, „--userns2” és „-pidns” jelzők kerültek hozzáadásra.
Ez a funkció nem működik setuid módban, és külön módot igényel, amely root jogok megszerzése nélkül is működik, de aktiválást igényel
felhasználói névterek a rendszeren (alapértelmezés szerint le van tiltva a Debian és RHEL/CentOS rendszeren), és nem zárja ki a lehetőséget
Forrás: opennet.ru