itusilẹ tuntun ti ohun elo irinṣẹ , ti a ṣe lati ṣeto iṣẹ ti awọn agbegbe ti o ya sọtọ ni Lainos ati ṣiṣe ni ipele ohun elo 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. Awọn koodu ise agbese ti kọ sinu C ati iwe-aṣẹ labẹ 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, executable labẹ iṣakoso
Awọn eto Bubblewrap ti ṣ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 iṣẹ akanṣe kan , eyiti o tun lo awoṣe ifilọlẹ setuid kan, 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 ti o nilo fun ṣiṣe awọn ohun elo ayaworan, ibaraenisepo pẹlu tabili tabili ati awọn ipe sisẹ si Pulseaudio ti jade ni Flatpak ati pe wọn ti ṣiṣẹ. lẹhin ti 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 lori .
Itusilẹ tuntun jẹ ohun akiyesi fun imuse ti atilẹyin fun didapọ mọ awọn aaye orukọ olumulo ti o wa ati ilana awọn aaye orukọ pid. Lati ṣakoso awọn asopọ ti awọn aaye orukọ, awọn asia "--users", "--users2" ati "-pidns" ti ni afikun.
Ẹya yii ko ṣiṣẹ ni ipo setuid ati pe o nilo lilo ipo lọtọ ti o le ṣiṣẹ laisi gbigba awọn ẹtọ gbongbo, ṣugbọn nilo imuṣiṣẹ
awọn aaye orukọ olumulo lori eto (alaabo nipasẹ aiyipada lori Debian ati RHEL/CentOS) ati pe ko yọkuro iṣeeṣe fun awọn ihamọ "awọn aaye orukọ olumulo". Awọn ẹya tuntun ti Bubblewrap 0.4 tun pẹlu agbara lati kọ pẹlu ile-ikawe musl C dipo glibc ati atilẹyin fun fifipamọ alaye aaye orukọ si faili kan pẹlu awọn iṣiro ni ọna kika JSON.
orisun: opennet.ru
