Izdaja Bubblewrap 0.12, plast za ustvarjanje izoliranih okolij

Objavljena je nova verzija alata za organizaciju rada izoliranih okruženja Bubblewrap 0.12, koji se koristi za ograničavanje pojedinih aplikacija nepovlaštenih korisnika. U praksi, Bubblewrap se koristi u projektu Flatpak kao sloj za izolaciju aplikacija pokrenutih iz paketa. Za izolaciju se koriste tradicionalne Linux tehnologije kontejnerske virtualizacije, koje se temelje na korištenju cgroups, imenskih prostora (namespaces), Seccomp-a i SELinux-a. Kod projekta napisan je na C jeziku i distribuira se pod LGPLv2.1+ licencom.

Izolacija na razini datotečnog sustava ostvaruje se stvaranjem novog imenskog prostora točaka montiranja (mount namespace) prema zadanim postavkama, u kojem se pomoću tmpfs stvara prazna korijenska particija. U ovu particiju, po potrebi, povezani su dijelovi vanjskog FS-a u režimu 'mount —bind' (na primjer, pri pokretanju s opcijom 'bwrap —ro-bind /usr /usr' dijel je /usr proslijeđen iz glavnog sustava u režimu samo za čitanje). Mrežne mogućnosti ograničene su na pristup loopback sučelju uz izolaciju mrežnog stoga putem zastavica CLONE_NEWNET i CLONE_NEWUTS.

Za isključivanje svih suvišnih identifikatora korisnika i procesa iz stvaranog izoliranog okruženja mogu se koristiti modusi CLONE_NEWUSER (user namespace) i CLONE_NEWPID (PID namespace), a za zabranu stjecanja novih privilegija primjenjuje se način PR_SET_NO_NEW_PRIVS. Za stjecanje potrebnih privilegija koristi se 'user namespace'.

U novom izdanju:

  • Licenca za kod promijenjena je s LGPL 2.0+ na LGPL 2.1+.
  • Prekinuta je podrška za izradu u obliku izvršnih datoteka koje stječu dodatne privilegije pomoću flag-a suid root. Sada je potrebno da sustav podržava 'user namespace'. Kao razlog navodi se složenost održavanja varijante s flagom suid na pozadini sveprisutne podrške 'user namespace' u distribucijama.
  • Dodana je opcija '--not-a-security-boundary', pri čemu neki kvarovi u postavljanju izoliranog sandbox okruženja, poput ponovnog montiranja poddirektorija, ne dovode do iznenadnog prekida.
  • Dodana je opcija za izgradnju 'assume_kernel', koja isključuje osiguranje povratne kompatibilnosti s Linux kernalima starijim od navedene verzije. Na primjer, navedene verzije 5.6.0+ rezultirat će isključenjem alternativne implementacije funkcionalnosti 'openat2(RESOLVE_IN_ROOT)'.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster