İzolyasiya üçün qruplar, ad fəzaları (ad boşluqları), Seccomp və SELinux istifadəsinə əsaslanan ənənəvi Linux konteyner virtuallaşdırma texnologiyalarından istifadə olunur. İmtiyazlı konteyner quraşdırma əməliyyatlarını yerinə yetirmək üçün Bubblewrap kök kimi işə salınır (suid bayrağı ilə icra olunan fayl) konteyner işə salındıqdan sonra imtiyazların sonradan sıfırlanması ilə.
Konteynerlərə ayrı-ayrı identifikatorlar dəstindən istifadə etməyə imkan verən ad məkanları sistemində istifadəçi ad boşluqlarının aktivləşdirilməsi iş üçün tələb olunmur, çünki o, bir çox paylamalarda standart olaraq işləmir (Bubblewrap alt çoxluqların məhdud suid həyata keçirilməsi kimi yerləşdirilib. istifadəçi ad məkanı imkanları - istisna olaraq, caridən başqa, ətraf mühitdən olan bütün istifadəçi və proses identifikatorları CLONE_NEWUSER və CLONE_NEWPID rejimlərindən istifadə edin). Əlavə qorunma üçün icra olunanlar işləyir
Bubblewrap proqramları PR_SET_NO_NEW_PRIVS rejimində işləyir, bu, məsələn, setuid bayrağı mövcud olduqda yeni imtiyazların əldə edilməsinin qarşısını alır.
Fayl sistemi səviyyəsində izolyasiya standart olaraq tmpfs istifadə edərək boş kök bölməsinin yaradıldığı yeni bağlama ad sahəsi yaratmaqla həyata keçirilir. Lazım gələrsə, xarici FS-nin arakəsmələri bu bölməyə “mount --bind” rejimində əlavə olunur (məsələn, “bwrap --ro-bind /usr /usr” seçimi ilə başladıqda, /usr bölməsi əsas sistemdən yalnız oxumaq rejimində ötürülür). Şəbəkə CLONE_NEWNET və CLONE_NEWUTS bayraqları vasitəsilə şəbəkə yığınının izolyasiyası ilə geri dönmə interfeysinə daxil olmaq ilə məhdudlaşır.
Bənzər bir layihədən əsas fərq
Yeni buraxılış, mövcud istifadəçi identifikatoru ad fəzalarının (istifadəçi adları) və proseslərin (pid ad boşluqları) əlavə edilməsi üçün dəstəyin həyata keçirilməsi ilə diqqət çəkir. Ad sahəsi bağlantısını idarə etmək üçün "--userns", "--userns2" və "--pidns" bayraqları əlavə edildi.
Bu funksiya setuid rejimində işləmir və kök hüquqlarını əldə etmədən işləyə bilən, lakin aktivləşdirmə tələb edən ayrıca rejimin istifadəsini tələb edir.
sistemdəki istifadəçi ad boşluqları (Debian və RHEL/CentOS-da standart olaraq qeyri-aktivdir) və mümkünlüyünü istisna etmir
Mənbə: opennet.ru