Ziurtagiriak direktorio egokian egon daitezke irakurgarria den moduarekin eta root jabetzarekin, eta zerbitzuak hala ere jakinarazi dezake fitxategia ezin duela ireki. SELinux sistema batean konbinazio horrek mekanismo zehatz bat adierazten du, ez baimenak. Etiketak fitxategiarekin bidaiatu zuen, berrizendatzeak ez baitu objektu berririk sortzen. Inodeak bide zaharrean zuen segurtasun testuingurua mantendu zuen, eta bide berriaren politikak ez zuen inoiz lortu berea esleitzeko aukera.

Zer egiten dio berrizendatzeak etiketa bati benetan

Fitxategi batek bere SELinux testuingurua inodeari lotutako atributu datu gisa eramaten du. Fitxategi sistema berean berrizendatzeak direktorio sarrera aldatzen du eta besterik ez, azkarra eta atomikoa dena, eta hori da testuinguruak mugimendua gainditzen duen arrazoia. Ez da politikarik galdetzen, ez da lehenespenezko baliorik aplikatzen eta ez da abisurik inprimatzen.

Kopiatzeak beste modu batera jokatzen du. Kopia batek inode berri bat sortzen du helburuko direktorioan, eta politikak direktorio horren motaren araberako testuingurua esleitzen du, beraz kopiatutako ziurtagiria normalean etiketa zuzenarekin amaitzen da, mugitutakoa oker jarraitzen duen bitartean. Aldea bakar horrek azaltzen du txartel mota honetan dagoen nahasmenaren zatirik handiena.

Fitxategi sistemen arteko mugimenduek kopiatzearen semantikara jotzen dute, beraz komando berak modu desberdinean joka dezake bi makinatan /etc bere bolumenean bizi den ala ez kontuan hartuta. Egiaztatu hori tresna fidagarria ez dela ondorioztatu aurretik. Muntatze taulari begiratu batek esango dizu zein mugimendu mota egin zenuen.

Irakurri uneko etiketa espero denaren kontra

Irakurtzeko soilik diren hiru komandok galderari erantzuten diote ezer aldatu gabe. Lehenak fitxategiak orain duena erakusten du, bigarrenak politikak bide zehatz horretarako zer espero duen jakinarazten du, eta hirugarrenak direktorioaren azpiko etiketa ezberdina duen fitxategi bakoitza zerrendatzen du.

ls -lZ /etc/openvpn/client/office-ca.crt
matchpathcon /etc/openvpn/client/office-ca.crt
restorecon -Rn -v /etc/openvpn/client

Entsegu lehorra da fidatu beharrekoa, politikatik aldentzen den testuingurua duen fitxategi bakoitza izendatzen baitu eta sistema ukitu gabe uzten baitu. Ziurtagiria zerrenda horretan agertzen bada, bideak esan nahi duenaren eta fitxategiak dioenaren arteko desadostasuna aurkitu duzu. Agertzen ez bada, etiketa dagoeneko politikak nahi duena da eta zure denbora beste leku baterakoa da.

Ondoren erlazionatu aldea benetako ukapen batekin. Desadostasuna etiketa okerraren froga da, ez zerbitzuak horregatik huts egin duen froga, eta erregistroan dagokion ukapenik gabe aplikatutako konponketa pauso gehigarridun asmo bat da.

Berrezarri mapaketa salbuespen bat asmatu beharrean

Kokapen estandar batentzat politikak bidea dagoeneko mapatzen du, beraz restorecon aplikatzen du eta lana eginda dago. Mantendu irismena konpontzen ari zaren direktorioan; fitxategi sistema osoa berriz etiketatzea motela eta eragozgarria da, eta jatorrizko akatsa aldaketa oso handi baten azpian lurperatzen du.

Direktorio pertsonalizatu batentzat ordena garrantzitsua da, eta hura alderantzikatzeak arrakasta jakinarazten duen komando bat sortzen du, ezer aldatzen ez duen bitartean. Mapaketa politikari dagokio, berriz etiketatzea amaierari dagokio, eta entsegu lehorra bien aurretik dagokio. Azken zati hori saltatzea da inoiz oker egon ez zen bide bat hala ere berriz etiketatzeko modua.

semanage fcontext -a -t openvpn_etc_t '/etc/openvpn/custom(/.*)?'
restorecon -Rv /etc/openvpn/custom

restorecon mapaketa bat aplikatzen du; ezin du bat asmatu. Erregela batek bidea deskribatzen ez badu, ez dago ezer berrezartzeko, eta horregatik mapaketa iraunkorrak berriz etiketatu aurretik egon behar du. Idatzi zein konfiguraziok duen mapaketa horren jabea, bestela geroagoko mugimendu batek, pakete eguneraketa batek edo berriz etiketatze batek akatsa berriro sortzen dute eta hurrengo pertsonak zerotik hasten du.

Zergatik ez den chcon konponbidea

chcon testuinguru bat zuzenean fitxategian idazten du. Berehala du eragina eta eskuragarri dagoen aukerarik iraunkorrena da, fitxategi sistema bat berriz etiketatzeak politika berriro aplikatzen baitu eta eskuzko aldaketak galdetu gabe baztertzen baititu. Fitxategia konponduta dirudi eta konponketak inork idatzi ez zuen iraungitze data du. Horren ordez nahi duzuna bidea deskribatzen duen erregela bat da, hara iristen den fitxategi bakoitzak automatikoki tratamendu bera izan dezan.

Okerrago, ikasgai okerra irakasten du: azpiko mapaketa oraindik falta da, beraz akatsa aste batzuk geroago itzultzen da katalizatzaile nabarmenik gabe eta ingurubidearen oroitzapenik gabe. Erabili chcon hipotesi bat baieztatzeko aldi baterako esperimentu gisa soilik, gero ordezkatu hurrengo berriz etiketatzea gainditzen duen mapaketa batekin, eta egiaztatu ordezkoa benetan lekuan dagoela.

Etiketa zuzena denean eta sarbideak huts egiten jarraitzen duenean

Hasi guraso direktorioekin. Zeharkatze baimena bidearen osagai bakoitzean egiaztatzen da, beraz zerbitzua sartu ezin den direktorio baten barruan dagoen ziurtagiri zuzen etiketatuak irakurtezin jarraitzen du. SELinuxek eta baimen arruntak biak eman behar diote baimena urrats bakoitzari, eta bat konpontzeak ez du bestea konpontzen.

Ondoren egiaztatu prozesuaren identitatea eta zerbitzuaren beraren sandboxa. Sandbox murriztailea duen unitate batek politikak gogoz baimenduko lukeen fitxategi baterako sarbidea ukatu dezake, eta erregistro lerrotik bi arrazoiak berdinak dirudite. Berretsi zein prozesu ari den benetan galdetzen, ez zein suposatzen duzun galdetzen ari dena.

Gogoratu dontaudit erregelak ukapen mezuak isil ditzaketela, beraz auditoretza erregistro hutsa froga ahula da, ez froga. Politikak ondo dirudien eta sarbideak huts egiten jarraitzen badu, ikertu baimen modulu zabal bat sortu aurretik, eta ez desgaitu SELinux sintoma desagerrarazteko. Biek sistema funtzionatzen duela dirudiena eta inork deskribatu ezin duen segurtasun jarrera bat ematen dituzte. Ikerketa labur bat bien baino hobea da.

Erlazionatutako artikuluak