Izola mekanismo simila al plegde and unveil estas evoluigita por FreeBSD

Por FreeBSD, efektivigo de aplika izoliteca mekanismo estas proponita, rememoriga pri la promeso kaj malkaŝo sistemvokoj evoluigitaj de la OpenBSD projekto. Izoliĝo en plegde estas atingita malpermesante aliron al sistemaj vokoj, kiuj ne estas uzataj en la aplikaĵo, kaj en malkaŝo per selekteme malfermante aliron nur al individuaj dosiervojoj kun kiuj la aplikaĵo povas labori. Por la aplikaĵo, estas formita speco de blanka listo de sistemvokoj kaj dosiervojoj, kaj ĉiuj aliaj vokoj kaj vojoj estas malpermesitaj.

La diferenco inter la analogo de plegde kaj unveil disvolvita por FreeBSD venas al la provizo de plia tavolo, kiu ebligas al vi izoli aplikojn sen fari ŝanĝojn al ilia kodo aŭ kun minimumaj ŝanĝoj. Memoru, ke en OpenBSD, plegde kaj unveil celas striktan integriĝon kun la subesta medio kaj estas uzataj per aldonado de specialaj komentarioj al la kodo de ĉiu aplikaĵo. Por simpligi la organizon de protekto, filtriloj permesas malhavi detalojn je la nivelo de individuaj sistemvokoj kaj manipuli klasojn de sistemvokoj (enigo/eligo, legado de dosieroj, skribado de dosieroj, ingoj, ioctl, sysctl, proceza lanĉo ktp.) . Funkcioj de limigo de aliro povas esti nomitaj en la aplikaĵokodo, ĉar certaj agoj estas faritaj, ekzemple, aliro al ingoj kaj dosieroj povas esti rifuzita post malfermi la necesajn dosierojn kaj establi retan konekton.

La aŭtoro de la haveno de plegde kaj malkaŝo por FreeBSD intencas disponigi la kapablon izoli arbitrajn aplikojn, por kiuj la kurtena utileco estas proponita, kiu permesas vin apliki regulojn difinitajn en aparta dosiero al aplikoj. La proponita agordo inkluzivas dosieron kun bazaj agordoj, kiuj difinas klasojn de sistemvokoj kaj tipajn dosiervojojn specifajn por certaj aplikoj (labori kun sono, interagado de reto, protokolo, ktp.), kaj ankaŭ dosieron kun alirreguloj por specifaj aplikoj.

La kurtena utileco povas esti uzata por izoli plej multajn nemodifitajn ilojn, servilprocezojn, grafikajn aplikojn kaj eĉ tutajn labortablaj sesioj. Kurteno povas esti uzata kune kun la izolaj mekanismoj provizitaj de la subsistemoj Jail kaj Capsicum. Eblas ankaŭ organizi nestitan izolitecon, kiam lanĉitaj aplikoj heredas la regulojn fiksitajn por la gepatra aplikaĵo, kompletigante ilin per individuaj limigoj. Kelkaj kernaj operacioj (sencimigaj instalaĵoj, POSIX/SysV IPC, PTYs) estas aldone protektitaj per bariermekanismo kiu malhelpas aliron al kernaj objektoj kiuj ne estas kreitaj per la nuna aŭ gepatra procezo.

Procezo povas agordi sian propran izolitecon vokante curtainctl aŭ uzante la funkciojn plegde() kaj unveil() de libcurtain, similajn al tiuj trovitaj en OpenBSD. Por spuri serurojn dum la aplikaĵo funkcias, la sysctl 'security.curtain.log_level' estas provizita. Aliro al la protokoloj X11 kaj Wayland estas ebligita aparte specifante la opciojn "-X"/"-Y" kaj "-W" dum kurado de kurteno, sed subteno por grafikaj aplikoj ankoraŭ ne estas sufiĉe stabiligita kaj havas kelkajn nesolvitajn problemojn ( problemoj ĉefe aperas kiam oni uzas X11 , kaj Wayland-subteno estas efektivigita multe pli bone). Uzantoj povas aldoni pliajn limigojn kreante lokajn reguldosierojn (~/.curtain.conf). Ekzemple, por permesi skribon de Firfox nur al la ~/Downloads/-dosierujo, vi povas aldoni sekcion “[firefox]” kun la regulo “~/Downloads/ : rw +”.

La efektivigo inkluzivas la mac_curtain-kernan modulon por deviga alirkontrolo (MAC, Mandatory Access Control), aron da flikoj por la FreeBSD-kerno kun la efektivigo de la necesaj pritraktiloj kaj filtriloj, la libcurtain-bibliotekon por uzi la plegde kaj unveil funkciojn en aplikoj, la kurtena utileco, ekzemplaj agordaj dosieroj, aro de testoj kaj flikoj por iuj programoj en uzantspaco (ekzemple por uzi $TMPDIR por unuigi laboron kun provizoraj dosieroj). Kie eblas, la aŭtoro intencas minimumigi la nombron da ŝanĝoj kiuj postulas flikojn al la kerno kaj aplikaĵoj.

fonto: opennet.ru

Aldoni komenton