Ilana ipinya ti o jọra si plegde ati ṣiṣii ti wa ni idagbasoke fun FreeBSD

Fun FreeBSD, imuse ti ẹrọ ipinya ohun elo kan ni a dabaa, ti o leti ti plegde ati ṣiṣafihan awọn ipe eto ti o dagbasoke nipasẹ iṣẹ akanṣe OpenBSD. Ipinya ni plegde waye nipa idinamọ iwọle si awọn ipe eto ti a ko lo ninu ohun elo, ati ni ṣiṣi nipa yiyan ṣiṣi iraye si awọn ọna faili kọọkan ti ohun elo le ṣiṣẹ pẹlu. Fun ohun elo naa, iru atokọ funfun kan ti awọn ipe eto ati awọn ọna faili ti wa ni idasilẹ, ati gbogbo awọn ipe miiran ati awọn ọna jẹ eewọ.

Iyatọ laarin afọwọṣe ti plegde ati ṣiṣafihan ti o ni idagbasoke fun FreeBSD wa silẹ si ipese ti afikun Layer ti o fun ọ laaye lati ya sọtọ awọn ohun elo laisi ṣiṣe awọn ayipada si koodu wọn tabi pẹlu awọn ayipada kekere. Ranti pe ni OpenBSD, plegde ati ṣiṣafihan ni ifọkansi ni isọpọ ṣinṣin pẹlu agbegbe abẹlẹ ati pe a lo nipa fifi awọn asọye pataki si koodu ohun elo kọọkan. Lati jẹ ki eto idabobo jẹ irọrun, awọn asẹ gba ọ laaye lati yago fun granularity ni ipele ti awọn ipe eto ẹni kọọkan ati ṣe afọwọyi awọn kilasi ti awọn ipe eto (igbewọle / igbejade, awọn faili kika, awọn faili kikọ, awọn sockets, ioctl, sysctl, ifilọlẹ ilana, bbl). Awọn iṣẹ ihamọ iwọle le pe ni koodu ohun elo bi awọn iṣe kan ṣe ṣe, fun apẹẹrẹ, iraye si awọn iho ati awọn faili le jẹ sẹ lẹhin ṣiṣi awọn faili pataki ati iṣeto asopọ nẹtiwọọki kan.

Onkọwe ti ibudo ti plegde ati ṣiṣafihan fun FreeBSD pinnu lati pese agbara lati ya sọtọ awọn ohun elo lainidii, eyiti a dabaa IwUlO aṣọ-ikele, eyiti o fun ọ laaye lati lo awọn ofin ti asọye ni faili lọtọ si awọn ohun elo. Iṣeto ni imọran pẹlu faili pẹlu awọn eto ipilẹ ti o ṣalaye awọn kilasi ti awọn ipe eto ati awọn ọna faili aṣoju ni pato si awọn ohun elo kan (ṣiṣẹ pẹlu ohun, ibaraenisepo nẹtiwọọki, gedu, ati bẹbẹ lọ), ati faili pẹlu awọn ofin iwọle fun awọn ohun elo kan pato.

IwUlO aṣọ-ikele le ṣee lo lati ya sọtọ pupọ julọ awọn ohun elo ti a ko yipada, awọn ilana olupin, awọn ohun elo ayaworan, ati paapaa gbogbo awọn akoko tabili. Aṣọṣọ le ṣee lo ni apapo pẹlu awọn ọna ipinya ti a pese nipasẹ awọn eto ẹwọn ati awọn ọna ṣiṣe Capsicum. O tun ṣee ṣe lati ṣeto ipinya itẹ-ẹiyẹ, nigbati awọn ohun elo ti ṣe ifilọlẹ jogun awọn ofin ti a ṣeto fun ohun elo obi, ni afikun wọn pẹlu awọn ihamọ kọọkan. Diẹ ninu awọn iṣẹ ekuro (awọn ohun elo n ṣatunṣe aṣiṣe, POSIX/SysV IPC, PTYs) jẹ aabo ni afikun nipasẹ ẹrọ idena ti o ṣe idiwọ iraye si awọn nkan ekuro ti ko ṣẹda nipasẹ lọwọlọwọ tabi ilana obi.

Ilana kan le tunto ipinya tirẹ nipasẹ pipe curtainctl tabi nipa lilo awọn iṣẹ libcurtain's plegde () ati ṣiṣafihan () awọn iṣẹ, iru si awọn ti a rii ni OpenBSD. Lati tọpa awọn titiipa lakoko ti ohun elo n ṣiṣẹ, sysctl 'security.curtain.log_level' ti pese. Wiwọle si awọn ilana X11 ati Wayland ni a mu ṣiṣẹ lọtọ nipa sisọ awọn aṣayan “-X”/”-Y” ati “-W” nigbati o nṣiṣẹ aṣọ-ikele, ṣugbọn atilẹyin fun awọn ohun elo ayaworan ko ti ni iduroṣinṣin to ati pe o ni nọmba awọn iṣoro ti ko yanju ( awọn iṣoro akọkọ han nigba lilo X11, ati atilẹyin Wayland ti wa ni imuse dara julọ). Awọn olumulo le ṣafikun awọn ihamọ afikun nipa ṣiṣẹda awọn faili ofin agbegbe (~/.curtain.conf). Fun apẹẹrẹ, lati gba kikọ lati Firfox nikan si ~/ Awọn igbasilẹ / itọsọna, o le ṣafikun apakan “[Firefox]” pẹlu ofin “~/Awọn igbasilẹ/: rw +”.

Imuse naa pẹlu module ekuro mac_curtain fun iṣakoso iwọle dandan (MAC, Iṣakoso Wiwọle Dandan), ṣeto awọn abulẹ fun ekuro FreeBSD pẹlu imuse ti awọn olutọju ati awọn asẹ to ṣe pataki, ile-ikawe libcurtain fun lilo plegde ati ṣiṣi awọn iṣẹ ni awọn ohun elo, IwUlO aṣọ-ikele, awọn faili atunto apẹẹrẹ, awọn idanwo ṣeto ati awọn abulẹ fun diẹ ninu awọn eto ni aaye olumulo (fun apẹẹrẹ, fun lilo $TMPDIR lati ṣọkan iṣẹ pẹlu awọn faili igba diẹ). Ni ibi ti o ti ṣee ṣe, onkọwe pinnu lati dinku nọmba awọn iyipada ti o nilo awọn abulẹ si ekuro ati awọn ohun elo.

orisun: opennet.ru

Fi ọrọìwòye kun