Bubblewrap, ọpa kan fun ṣiṣẹda awọn ohun elo ni awọn agbegbe ti o ya sọtọ

Bubblewrap jẹ irinṣẹ kan ohun ti ṣiṣẹ lati ṣeto iṣẹ sandbox lori Linux ati ṣiṣe ni ipele ohun elo olumulo ti ko ni anfani. Ni iṣe, Bubblewrap ni lilo nipasẹ idawọle Flatpak bi ipele alabọde lati ya sọtọ awọn ohun elo ti a ṣe ifilọlẹ lati awọn idii sọfitiwia.

Fun ipinya, Lainos nlo awọn imọ-ẹrọ ipa-ipa ti awọn apoti aṣa ti o da lori lilo awọn cgroups, awọn aaye orukọ, Seccomp ati SELinux. Lati ṣe awọn iṣẹ ṣiṣe anfani lati tunto apo eiyan kan, Bubblewrap ti bẹrẹ pẹlu awọn anfaani ti gbongbo (faili ti o le ṣiṣẹ pẹlu asia igbẹ kan), atẹle nipa atunto anfaani kan lẹhin ti a ti bẹrẹ apoti naa.

Ko si iwulo lati mu awọn aaye orukọ olumulo ṣiṣẹ lori eto, gbigba ọ laaye lati lo ṣeto awọn id ti ara rẹ ninu awọn apoti, bi aiyipada o ko ṣiṣẹ lori ọpọlọpọ awọn pinpin.

Nipa Bubblewrap

Bubblewrap ti wa ni ipo bi opin suida imuse lati ipilẹ awọn iṣẹ aaye orukọ olumulo lati ṣe iyasọtọ gbogbo olumulo ati awọn ids ilana lati agbegbe ayafi ti lọwọlọwọ, lo awọn ipo CLONE_NEWUSER ati CLONE_NEWPID.

Fun afikun aabo, awọn eto ti n ṣiṣẹ ni Bubblewrap bẹrẹ ni ipo naa PR_SET_NO_NEW_PRIVS, ti o fi ofin de awọn anfani tuntun, fun apẹẹrẹ, pẹlu asia setuid.

Ipinya ni ipele eto faili ni a ṣe nipasẹ ṣiṣẹda, nipasẹ aiyipada, aaye orukọ oke tuntun, ninu eyiti a ti ṣẹda ipin gbongbo ti o ṣofo ni lilo awọn tmpfs.

Ti o ba wulo, awọn apakan FS ita ti wa ni apakan si apakan ni «òke -find»(Fun apẹẹrẹ, bẹrẹ pẹlu aṣayan«bwrap –ro-bind / usr / usr', A ti firanṣẹ apakan / usr lati ọdọ olupinlejo ni ipo kika-nikan).

Awọn agbara nẹtiwọọki ni opin si iraye si wiwo loopback yipada pẹlu ipinya akopọ nẹtiwọọki nipasẹ awọn olufihan CLONE_NEWNET ati CLONE_NEWUTS.

Iyatọ bọtini pẹlu iru iṣẹ akanṣe Firejail, eyiti o tun lo ifilọlẹ setuid, ni pe ni Bubblewrap, fẹlẹfẹlẹ eiyan pẹlu awọn ẹya pataki ti o kere ju ati gbogbo awọn iṣẹ ilọsiwaju ti o nilo lati ṣe ifilọlẹ awọn ohun elo ayaworan, ni ajọṣepọ pẹlu deskitọpu, ati awọn ipe àlẹmọ si Pulseaudio, ni a mu wa si ẹgbẹ Flatpak ati ṣiṣe lẹhin awọn anfani ti tunto.

Firejail, ni apa keji, ṣe idapọ gbogbo awọn iṣẹ ti o jọmọ sinu faili ipaniyan kan, ṣe idiju iṣayẹwo rẹ ati ṣiṣe aabo ni ipele to pe.

Bubblewrap ni ipilẹ ṣiṣẹ nipasẹ awọn ṣiṣẹda aaye orukọ òke ti o ṣofo lori eto faili igba diẹ eyi ti yoo parun lẹhin ṣiṣe apoti sandbox pari.

Nipa lilo awọn iyipada, olumulo le kọ agbegbe eto eto faili ti o fẹ laarin aaye orukọ oke nipa gbigbe sori ọna asopọ ti awọn ilana ti o fẹ lati eto agbalejo.

Bubblewrap 0.4.0

Lọwọlọwọ Bubblewrap wa ninu ẹya rẹ 0.4.0 eyiti o ṣẹṣẹ tu silẹ. Ti kọ koodu akanṣe ni C ati pinpin labẹ iwe-aṣẹ LGPLv2 +.

Ẹya tuntun jẹ ohun akiyesi fun imuse ti atilẹyin fun didapọ awọn aaye orukọ ati awọn ilana awọn olumulo to wa (awọn orukọ orukọ pid).

Awọn asia "–userns", "–userns2" ati "-pidns" ti wa ni afikun lati ṣakoso isopọ awọn aaye orukọ.

Ẹya yii ko ṣiṣẹ ni ipo setuid ati pe o nilo ipo ọtọtọ ti o le ṣiṣẹ laisi awọn anfani gbongbo, ṣugbọn o nilo awọn aaye orukọ olumulo lati muu ṣiṣẹ lori eto (alaabo nipasẹ aiyipada lori Debian ati RHEL / CentOS) ati pe ko ṣe iyasọtọ iyasọtọ naa lati lo awọn ailagbara ti o ku ni agbara fun eti awọn ihamọ "awọn aaye orukọ olumulo".

Ti awọn ẹya tuntun ti Bubblewrap 0.4, o ṣee ṣe lati kọ pẹlu ile-ikawe musl C dipo glibc, ati atilẹyin fun fifipamọ alaye aaye orukọ si faili iṣiro kan ni ọna JSON.

Koodu Bubblewrap, ati awọn iwe nipa rẹ, le ni imọran lori Github, ọna asopọ jẹ eyi.


Awọn akoonu ti nkan naa faramọ awọn ilana wa ti awọn ilana olootu. Lati jabo aṣiṣe kan tẹ nibi.

Jẹ akọkọ lati sọ ọrọ

Fi ọrọ rẹ silẹ

Adirẹsi imeeli rẹ yoo ko le ṣe atejade. O beere aaye ti wa ni samisi pẹlu *

*

*

  1. Lodidi fun data naa: Miguel Ángel Gatón
  2. Idi ti data naa: SPAM Iṣakoso, iṣakoso ọrọ asọye.
  3. Ofin: Iyọọda rẹ
  4. Ibaraẹnisọrọ data: Awọn data kii yoo ni ifọrọhan si awọn ẹgbẹ kẹta ayafi nipasẹ ọranyan ofin.
  5. Ibi ipamọ data: Alaye data ti o gbalejo nipasẹ Awọn nẹtiwọọki Occentus (EU)
  6. Awọn ẹtọ: Ni eyikeyi akoko o le ni opin, gba pada ki o paarẹ alaye rẹ.