Utaratibu wa kujitenga sawa na ahadi na ufunuo unatengenezwa kwa FreeBSD

Kwa FreeBSD, utekelezaji wa utaratibu wa kutenganisha programu unapendekezwa, kukumbusha ahadi na kufichua simu za mfumo zilizotengenezwa na mradi wa OpenBSD. Kutengwa katika ahadi kunapatikana kwa kukataza ufikiaji wa simu za mfumo ambazo hazitumiwi katika programu, na kwa kufichua kwa kuchagua tu ufikiaji wa njia za faili za kibinafsi ambazo programu inaweza kufanya kazi nazo. Kwa programu, aina ya orodha nyeupe ya simu za mfumo na njia za faili huundwa, na simu nyingine zote na njia ni marufuku.

Tofauti kati ya analogi ya FreeBSD ya ahadi na ufunuo inatokana na utoaji wa safu ya ziada inayokuruhusu kutenga programu bila kufanya mabadiliko kwa nambari zao au kwa mabadiliko kidogo. Kumbuka kwamba katika OpenBSD, ahadi na ufunuo zinalenga ujumuishaji thabiti na mazingira ya msingi na hutumiwa kwa kuongeza vidokezo maalum kwa msimbo wa kila programu. Ili kurahisisha shirika la ulinzi, vichungi hukuruhusu kufanya bila maelezo katika kiwango cha simu za mfumo wa mtu binafsi na kudhibiti madarasa ya simu za mfumo (pembejeo/pato, faili za kusoma, faili za kuandika, soketi, ioctl, sysctl, uzinduzi wa mchakato, n.k.) . Kazi za kizuizi cha ufikiaji zinaweza kuitwa katika msimbo wa programu kwani vitendo fulani vinafanywa, kwa mfano, ufikiaji wa soketi na faili zinaweza kukataliwa baada ya kufungua faili zinazohitajika na kuanzisha muunganisho wa mtandao.

Mwandishi wa bandari ya plegde na kufunua kwa FreeBSD inakusudia kutoa uwezo wa kutenganisha maombi ya kiholela, ambayo matumizi ya pazia yanapendekezwa, ambayo inakuwezesha kutumia sheria zilizoelezwa katika faili tofauti kwa programu. Usanidi uliopendekezwa ni pamoja na faili iliyo na mipangilio ya msingi ambayo hufafanua madarasa ya simu za mfumo na njia za faili za kawaida maalum kwa programu fulani (kufanya kazi kwa sauti, mwingiliano wa mtandao, kumbukumbu, nk), pamoja na faili yenye sheria za ufikiaji kwa programu maalum.

Huduma ya pazia inaweza kutumika kutenga huduma nyingi ambazo hazijarekebishwa, michakato ya seva, programu za picha, na hata vipindi vizima vya eneo-kazi. Pazia inaweza kutumika kwa kushirikiana na mifumo ya kutengwa iliyotolewa na mfumo mdogo wa Jela na Capsicum. Pia inawezekana kuandaa kutengwa kwa kiota, wakati programu zilizozinduliwa hurithi sheria zilizowekwa kwa ajili ya maombi ya mzazi, zikiwaongezea na vikwazo vya mtu binafsi. Baadhi ya shughuli za kernel (vifaa vya utatuzi, POSIX/SysV IPC, PTYs) pia zinalindwa na utaratibu wa kizuizi unaozuia ufikiaji wa vitu vya kernel ambavyo havijaundwa na mchakato wa sasa au wa mzazi.

Mchakato unaweza kusanidi kutengwa kwake kwa kupiga simu curtainctl au kwa kutumia vitendaji vya libcurtain's plegde() na unveil(), sawa na zile zinazopatikana katika OpenBSD. Ili kufuatilia kufuli wakati programu inaendeshwa, sysctl β€˜security.curtain.log_level’ imetolewa. Ufikiaji wa itifaki za X11 na Wayland umewezeshwa tofauti kwa kubainisha chaguo za β€œ-X”/”-Y” na β€œ-W” wakati wa kutekeleza pazia, lakini usaidizi wa programu za picha bado haujaimarishwa vya kutosha na una matatizo kadhaa ambayo hayajatatuliwa ( matatizo huonekana hasa wakati wa kutumia X11 , na usaidizi wa Wayland unatekelezwa vizuri zaidi). Watumiaji wanaweza kuongeza vizuizi vya ziada kwa kuunda faili za sheria za ndani (~/.curtain.conf). Kwa mfano, kuruhusu uandishi kutoka kwa Firfox hadi ~/Downloads/ saraka pekee, unaweza kuongeza sehemu ya "[firefox]" na sheria "~/Downloads/ : rw +".

Utekelezaji huo ni pamoja na moduli ya mac_curtain kernel ya udhibiti wa ufikiaji wa lazima (MAC, Udhibiti wa Ufikiaji wa Lazima), seti ya viraka kwa kerneli ya FreeBSD na utekelezaji wa vidhibiti na vichungi muhimu, maktaba ya libcurtain ya kutumia ahadi na kufunua kazi katika programu, matumizi ya pazia, mfano faili za usanidi, seti ya majaribio na viraka kwa baadhi ya programu katika nafasi ya mtumiaji (kwa mfano, kwa kutumia $TMPDIR ili kuunganisha kazi na faili za muda). Inapowezekana, mwandishi anakusudia kupunguza idadi ya mabadiliko ambayo yanahitaji viraka kwenye kernel na programu.

Chanzo: opennet.ru

Kuongeza maoni