Itusilẹ ti Bubblewrap 0.8, Layer fun ṣiṣẹda awọn agbegbe ti o ya sọtọ

Itusilẹ awọn irinṣẹ fun siseto iṣẹ ti awọn agbegbe ti o ya sọtọ Bubblewrap 0.8 wa, nigbagbogbo lo lati ni ihamọ awọn ohun elo kọọkan ti awọn olumulo ti ko ni anfani. Ni iṣe, Bubblewrap jẹ lilo nipasẹ iṣẹ akanṣe Flatpak bi Layer lati ya sọtọ awọn ohun elo ti a ṣe ifilọlẹ lati awọn idii. Koodu ise agbese ti kọ sinu C ati pe o pin labẹ iwe-aṣẹ LGPLv2+.

Fun ipinya, awọn imọ-ẹrọ imudara eiyan Linux ibile ni a lo, da lori lilo awọn akojọpọ, awọn aaye orukọ, Seccomp ati SELinux. Lati ṣe awọn iṣẹ ti o ni anfani lati tunto eiyan kan, Bubblewrap ti ṣe ifilọlẹ pẹlu awọn ẹtọ gbongbo (faili ti o le ṣiṣẹ pẹlu asia suid) ati lẹhinna tun awọn anfani tunto lẹhin ti a ti kọ eiyan naa.

Imuṣiṣẹ ti awọn aaye orukọ olumulo ni eto aaye orukọ, eyiti o fun ọ laaye lati lo eto idamo ti ara rẹ ninu awọn apoti, ko nilo fun iṣẹ, nitori ko ṣiṣẹ nipasẹ aiyipada ni ọpọlọpọ awọn pinpin (Bubblewrap wa ni ipo bi imuse suid lopin ti a ipin awọn agbara awọn aaye orukọ olumulo - lati yọkuro gbogbo olumulo ati awọn idamọ ilana lati agbegbe, ayafi ti lọwọlọwọ, awọn ipo CLONE_NEWUSER ati CLONE_NEWPID ni a lo). Fun afikun aabo, awọn eto ti a ṣe labẹ Bubblewrap ni a ṣe ifilọlẹ ni ipo PR_SET_NO_NEW_PRIVS, eyiti o ṣe idiwọ gbigba awọn anfani tuntun, fun apẹẹrẹ, ti asia setuid ba wa.

Ipinya ni ipele eto faili jẹ aṣeyọri nipasẹ ṣiṣẹda aaye orukọ oke tuntun nipasẹ aiyipada, ninu eyiti a ṣẹda ipin root ofo ni lilo tmpfs. Ti o ba jẹ dandan, awọn ipin FS ita ti wa ni asopọ si ipin yii ni ipo “mount —bind” (fun apẹẹrẹ, nigbati a ṣe ifilọlẹ pẹlu aṣayan “bwrap —ro-bind / usr / usr”, ipin / usr ti wa ni ifiranšẹ siwaju lati eto akọkọ. ni ipo kika-nikan). Awọn agbara nẹtiwọọki ni opin si iraye si wiwo loopback pẹlu ipinya akopọ akopọ nẹtiwọọki nipasẹ awọn asia CLONE_NEWNET ati CLONE_NEWUTS.

Iyatọ bọtini lati iru iṣẹ akanṣe Firejail, eyiti o tun lo awoṣe ifilọlẹ setuid, ni pe ni Bubblewrap Layer ẹda eiyan pẹlu awọn agbara ti o kere ju ti o nilo nikan, ati gbogbo awọn iṣẹ ilọsiwaju pataki fun ṣiṣe awọn ohun elo ayaworan, ibaraenisepo pẹlu tabili tabili ati awọn ibeere sisẹ. si Pulseaudio, gbe lọ si ẹgbẹ Flatpak ati ṣiṣe lẹhin awọn anfani ti a ti tunto. Firejail, ni apa keji, daapọ gbogbo awọn iṣẹ ti o jọmọ ni faili ti o le ṣiṣẹ, eyiti o jẹ ki o nira lati ṣayẹwo ati ṣetọju aabo ni ipele to dara.

Ninu itusilẹ tuntun:

  • Ṣafikun aṣayan “--disable-users” lati mu ẹda ti aaye orukọ olumulo ti itẹ-ẹiyẹ tirẹ ni agbegbe apoti iyanrin.
  • Ṣe afikun aṣayan "-assert-userns-disabled" lati ṣayẹwo pe aaye ID olumulo ti o wa tẹlẹ ti lo nigba lilo aṣayan "--disable-usrns".
  • Akoonu alaye ti awọn ifiranṣẹ aṣiṣe ti o ni ibatan si piparẹ awọn eto CONFIG_SECOMP ati CONFIG_SECOMP_FILTER ninu ekuro ti pọ si.

orisun: opennet.ru

Fi ọrọìwòye kun