Plegde and unveil-en antzeko isolamendu mekanismo bat garatzen ari da FreeBSDrako

FreeBSDrentzat, aplikazioak isolatzeko mekanismo baten ezarpena proposatzen da, OpenBSD proiektuak garatutako plegde and unveil sistema deiak gogora ekarriz. Plegde-n isolamendua aplikazioan erabiltzen ez diren sistema-deietarako sarbidea debekatuz lortzen da, eta aplikazioak lan egin dezakeen fitxategi-bide indibidualetarako sarbidea selektiboki irekiz. Aplikaziorako, sistema-deien eta fitxategi bideen zerrenda zuri moduko bat osatzen da, eta gainerako dei eta bide guztiak debekatuta daude.

FreeBSDrako garatzen ari diren plegde eta unveil analogikoen arteko aldea aplikazioak isolatzeko aukera ematen duen geruza gehigarri bat eskaintzean datza, haien kodean aldaketarik egin gabe edo aldaketa minimoekin. Gogoratu OpenBSDen, plegde eta unveil azpiko ingurunearekin integrazio estua dutela helburu eta aplikazio bakoitzaren kodeari ohar bereziak gehituz erabiltzen direla. Babesaren antolaketa sinplifikatzeko, iragazkiak sistema-deien mailan granularitatea saihesteko eta sistema-deien klaseak manipulatzeko aukera ematen du (sarrera/irteera, fitxategiak irakurtzea, fitxategiak idaztea, entxufeak, ioctl, sysctl, prozesua abian jartzea, etab.). Aplikazio-kodean sarbide-murriztapen-funtzioak dei daitezke ekintza jakin batzuk egiten diren heinean, adibidez, socket eta fitxategietarako sarbidea ukatu egin daiteke beharrezko fitxategiak ireki eta sareko konexioa ezarri ondoren.

FreeBSD-ren plegde and unveil portuaren egileak aplikazio arbitrarioak isolatzeko gaitasuna eman nahi du, eta horretarako gortina-erabilgarritasuna proposatzen da, fitxategi bereizi batean definitutako arauak aplikazioei aplikatzeko aukera ematen diona. Proposatutako konfigurazioak sistema-deien klaseak eta aplikazio jakin batzuetarako (soinuarekin lan egitea, sareko interakzioa, erregistroa, etab.) ohikoak diren sistema-deien klaseak definitzen dituen oinarrizko ezarpenak dituen fitxategi bat barne hartzen du, baita aplikazio zehatzetarako sarbide-arauak dituen fitxategi bat ere.

Gortina-erabilgarritasuna aldatu gabeko utilitate gehienak, zerbitzari-prozesuak, aplikazio grafikoak eta baita mahaigaineko saio osoak ere isolatzeko erabil daiteke. Gortina Jail eta Capsicum azpisistemek eskaintzen dituzten isolamendu mekanismoekin batera erabil daiteke. Isolamendu habiaratua ere antola daiteke, abiarazitako aplikazioek aplikazio nagusirako ezarritako arauak heredatzen dituztenean, banakako murrizketekin osatuz. Nukleoko eragiketa batzuk (arazketa-instalazioak, POSIX/SysV IPC, PTYak) hesi-mekanismo baten bidez babestuta daude, egungo edo gurasoek sortutako prozesuak ez diren nukleoko objektuetara sarbidea galarazten duena.

Prozesu batek bere isolamendua konfigura dezake curtainctl deituz edo libcurtain-en plegde() eta unveil() funtzioak erabiliz, OpenBSDn aurkitzen direnen antzera. Aplikazioa exekutatzen ari den bitartean blokeoen jarraipena egiteko, 'security.curtain.log_level' sysctl eskaintzen da. X11 eta Wayland protokoloetarako sarbidea bereizita gaitzen da "-X"/"-Y" eta "-W" aukerak zehaztuta gortina exekutatzen ari zarenean, baina aplikazio grafikoetarako laguntza ez dago oraindik behar bezain egonkortuta eta konpondu gabeko hainbat arazo ditu ( arazoak batez ere X11 erabiltzean agertzen dira, eta Wayland laguntza askoz hobeto inplementatzen da). Erabiltzaileek murrizketa gehigarriak gehi ditzakete tokiko arauen fitxategiak sortuz (~/.curtain.conf). Adibidez, Firfoxetik ~/Downloads/ direktoriora soilik idazteko baimena emateko, "[firefox]" atala gehi dezakezu "~/Downloads/: rw +" arauarekin.

Inplementazioak derrigorrezko sarbide-kontrolerako mac_curtain kernel modulua barne hartzen du (MAC, Derrigorrezko Sarbide Kontrola), FreeBSD nukleorako adabaki multzo bat, beharrezko kudeatzaile eta iragazkiak inplementatzen dituena, libcurtain liburutegia plegde eta unveil funtzioak aplikazioetan erabiltzeko, gortina erabilgarritasuna, adibideko konfigurazio fitxategiak, erabiltzailearen espazioko programa batzuen probak eta adabakiak (adibidez, $TMPDIR erabiltzea aldi baterako fitxategiekin lana bateratzeko). Ahal den neurrian, egileak nukleoan eta aplikazioetan adabakiak behar dituzten aldaketa kopurua gutxitu nahi du.

Iturria: opennet.ru

Gehitu iruzkin berria