A apărut o nouă versiune a instrumentarului pentru organizarea lucrului în medii izolate, Bubblewrap 0.11, folosit pentru restricționarea aplicațiilor utilizatorilor neprivilegiați. În practică, Bubblewrap este utilizat de proiectul Flatpak ca un strat de izolare pentru aplicațiile lansate din pachete. Izolarea folosește tehnologii tradiționale de virtualizare a containerelor în Linux, bazate pe utilizarea cgroup-urilor, spațiilor de nume (namespaces), Seccomp și SELinux. Codul proiectului este scris în limbajul C și este distribuit sub licența LGPLv2+.
Izolarea la nivelul sistemului de fișiere se realizează prin crearea, în mod implicit, a unui nou spațiu de nume pentru punctele de montare (mount namespace), în care, cu ajutorul tmpfs, se creează un director rădăcină gol. În acest director, dacă este necesar, se atașează partiții ale FS externe în modul «mount —bind» (de exemplu, la pornirea cu opțiunea «bwrap —ro-bind /usr /usr», partiția /usr este transmisă din sistemul principal în modul doar pentru citire). Capacitățile de rețea sunt restricționate la accesul la interfața loopback, izolând stiva de rețea prin flagurile CLONE_NEWNET și CLONE_NEWUTS.
Pentru a exclude toate identificatoarele inutile ale utilizatorilor și proceselor din mediul izolat creat, pot fi utilizate modurile CLONE_NEWUSER (user namespace) și CLONE_NEWPID (PID namespace), iar pentru a interzice obținerea de noi privilegii se folosește modul PR_SET_NO_NEW_PRIVS. Pe sistemele cu „user namespace”, Bubblewrap poate fi lansat sub un utilizator obișnuit, iar pe sistemele fără „user namespace” poate fi folosit cu flagul suid root pentru a efectua inițializarea necesară a mediului izolat.
În noua versiune:
- S-a oferit posibilitatea creării de puncte de montare, în care este utilizată un sistem de fișiere unispațial OverlayFS, care combină mai multe părți din alte sisteme de fișiere. Pentru gestionarea utilizării OverlayFS, au fost propuse noi opțiuni pentru linia de comandă: „—overlay”, „—tmp-overlay”, „—ro-overlay” și „—overlay-src”.
- A fost adăugată opțiunea „—level-prefix” pentru inserarea unui nivel de prioritate în stil syslog în ieșirea de diagnosticare, permițând utilizarea unor utilitare precum „logger” și „systemd-cat” pentru procesarea ieșirii.
- A fost oprit suportul pentru sistemul de construcție Autotools. Acum, pentru construcție este necesar instrumentarul Meson.
Sursa: opennet.ro
