Yon mekanis izolasyon ki sanble ak plegde ak revele ap devlope pou FreeBSD

Pou FreeBSD, yo pwopoze yon aplikasyon yon mekanis izolasyon aplikasyon, ki raple pwomès ak revele apèl sistèm devlope pa pwojè OpenBSD la. Izolasyon nan plegde reyalize pa entèdi aksè nan apèl sistèm ki pa itilize nan aplikasyon an, ak nan revele pa selektivman louvri aksè sèlman nan chemen dosye endividyèl ke aplikasyon an ka travay avèk yo. Pou aplikasyon an, se yon kalite lis blan nan apèl sistèm ak chemen dosye fòme, ak tout lòt apèl ak chemen yo entèdi.

Diferans ki genyen ant analòg plegde ak devwale ke yo ap devlope pou FreeBSD se dispozisyon yon kouch adisyonèl ki pèmèt ou izole aplikasyon yo san yo pa fè chanjman nan kòd yo oswa avèk chanjman minimòm. Sonje byen, nan OpenBSD, plegde ak devwale yo vize a sere entegrasyon ak anviwònman an kache epi yo itilize lè yo ajoute annotasyon espesyal nan kòd la nan chak aplikasyon. Pou senplifye òganizasyon pwoteksyon an, filtè pèmèt ou dispanse ak detay nan nivo apèl sistèm endividyèl ak manipile klas apèl sistèm (antre/sòti, lekti fichye, ekri fichye, sipò, ioctl, sysctl, lansman pwosesis, elatriye) . Fonksyon restriksyon aksè yo ka rele nan kòd aplikasyon an kòm sèten aksyon yo fèt, pou egzanp, aksè nan sipò ak dosye yo ka refize apre ouvèti dosye ki nesesè yo epi etabli yon koneksyon rezo.

Otè a nan pò a nan plegde ak revele pou FreeBSD gen entansyon bay kapasite nan izole aplikasyon abitrè, pou ki sèvis piblik la rido pwopoze, ki pèmèt ou aplike règ defini nan yon dosye separe nan aplikasyon yo. Konfigirasyon yo pwopoze a gen ladann yon fichye ak paramèt debaz ki defini klas apèl sistèm ak chemen fichye tipik espesifik pou sèten aplikasyon (k ap travay ak son, entèraksyon rezo, anrejistreman, elatriye), osi byen ke yon dosye ak règ aksè pou aplikasyon espesifik.

Ou ka itilize sèvis piblik rido a pou izole pifò sèvis piblik ki pa modifye yo, pwosesis sèvè, aplikasyon grafik, e menm tout sesyon Desktop yo. Yo ka itilize rido an konjonksyon avèk mekanis izolasyon sistèm Prizon ak Capsicum yo bay. Li posib tou pou òganize izolasyon anbrike, lè aplikasyon yo lanse eritye règ yo mete pou aplikasyon paran an, konplete yo ak restriksyon endividyèl yo. Gen kèk operasyon nwayo (enstalasyon debogaj, POSIX/SysV IPC, PTYs) yo pwoteje anplis pa yon mekanis baryè ki anpeche aksè nan objè nwayo ki pa kreye pa pwosesis aktyèl la oswa paran an.

Yon pwosesis ka configured pwòp izolasyon li lè w rele curtainctl oswa lè l sèvi avèk fonksyon libcurtain plegde() ak unveil(), menm jan ak sa yo jwenn nan OpenBSD. Pou swiv kadna pandan aplikasyon an ap kouri, yo bay sysctl 'security.curtain.log_level'. Aksè a X11 ak pwotokòl Wayland yo pèmèt separeman lè yo espesifye opsyon "-X"/"-Y" ak "-W" lè w ap kouri rido, men sipò pou aplikasyon grafik yo poko estabilize ase epi li gen yon kantite pwoblèm ki pako rezoud ( pwoblèm sitou parèt lè w ap itilize X11, ak sipò Wayland aplike pi byen). Itilizatè yo ka ajoute lòt restriksyon lè yo kreye dosye règleman lokal yo (~/.curtain.conf). Pa egzanp, pou pèmèt ekri nan Firfox sèlman nan anyè ~/Downloads/, ou ka ajoute yon seksyon "[firefox]" ak règ "~/Downloads/: rw +".

Aplikasyon an gen ladan modil kernel mac_curtain pou kontwòl aksè obligatwa (MAC, Obligatwa Aksè Kontwòl), yon seri plak pou kernel FreeBSD ak aplikasyon pou okipe ak filtè ki nesesè yo, bibliyotèk libcurtain pou itilize fonksyon plegde ak revele nan aplikasyon yo, sèvis piblik rido a, egzanp fichye konfigirasyon, yon seri tès ak plak pou kèk pwogram nan espas itilizatè (pa egzanp, pou itilize $TMPDIR pou inifye travay ak dosye tanporè). Lè sa posib, otè a gen entansyon minimize kantite chanjman ki mande plak nan nwayo a ak aplikasyon yo.

Sous: opennet.ru

Add nouvo kòmantè