Jūs palaižat up skriptu kā root, tas pabeidzas, un tas pats skripts neizdodas, kad serviss to izsauc. Faila atļaujās nekas nav mainījies, tāpēc nākamais dabiskais solis ir tās atkal atbrīvot, kas neko nelabo. SELinux resursdatorā izšķirošais faktors bieži vien nav tas, kas ir process, bet gan tas, kurā domēnā tas darbojas, un root ierobežotā domēnā joprojām ir ierobežots.

Tā pati komanda, divi dažādi drošības domēni

Tipu izpilde kopā novērtē avota domēnu, mērķa etiķeti un pieprasīto darbību. Jūsu termināļa sesija darbojas neierobežotā vai administratīvā domēnā, un dēmons darbojas domēnā, kas piešķirts tā vienībai. Tāpēc identiskas komandas dod atšķirīgus lēmumus, un šī atšķirība ir apzināta, nevis politikas kļūda.

Tāpēc abu palaišanu salīdzināšana ir lietderīga tikai tad, ja salīdzināt to kontekstus. Palaidiet to pašu komandu no čaulas un no hook, un čaulas versija pierāda, ka binārais fails pastāv un argumenti ir pareizi; tā nepierāda neko par to, vai servisam ir atļauts to izpildīt. Palaidiet to abos veidos un salīdziniet domēnus, ne tikai iziešanas kodus. Tieši šis salīdzinājums neskaidru atļauju sūdzību pārvērš konkrētā jautājumā par vienu domēnu un vienu etiķeti.

Šī defekta klasiskā forma ir palīgprogramma, kas izsauc ārēju rīku. Pats hook var būt atļauts, kamēr rīkam, ko tas izsauc, ir etiķete, kuru servisa domēns nedrīkst izpildīt, vai tas raksta mapē, kuras etiķete to aizliedz.

Lasiet AVC ierakstu blakus hook kļūdai

AVC noraidījums nosauc laukus, kas izšķir lietu: procesa avota kontekstu, objekta mērķa kontekstu, objekta klasi un konkrēto noraidīto atļauju. Izlasiet visus četrus pirms teorijas veidošanas, jo noraidījumam izpildei un noraidījumam rakstīšanai ir pilnīgi atšķirīgi labojumi.

ausearch -m AVC,USER_AVC -ts recent
ls -Z /usr/local/sbin/vpn-up.sh
ps -eZ | grep openvpn

Avota kontekstam jāatbilst domēnam, kurā serviss faktiski darbojas, un mērķa kontekstam — tā faila vai mapes etiķetei, kuru darbība skāra. Ja kāds no tiem neatbilst kļūdai, kuru izsekojat, jūs lasāt citu notikumu.

Blakus ierakstam atzīmējiet politikas versiju un precīzu izpildāmā faila ceļu. Domēna nosaukums, kas parādās vienas distribūcijas politikā, ir pierādījums par šo instalāciju, nevis garantija, ka cits būvējums piegādā tos pašus noteikumus. Tieši šis konteksts ļauj kādam citam atkārtot jūsu secinājumu savā resursdatorā. Bez tā ieraksts tiek lasīts kā anekdote, nevis pierādījums.

Etiķete, konfigurācija vai politika: trīs labojumi

Pirmais labojums ir etiķete, kas neatbilst faila instalētajai atrašanās vietai. Skripts, kas ar cp nokopēts vietā vai rakstīts ar redaktoru, var nēsāt noklusējuma etiķeti, kuru servisa domēns nevar izmantot, un gaidītā konteksta atjaunošana to izlabo, vispār neaiztiekot politiku.

Otrais ir konfigurācija. Distribūcija var piedāvāt atbalstītu veidu, kā izpildīt darbību, dokumentētu mapi palīgprogrammai vai atjauninātu politikas pakotni, kas to jau atļauj. Mainīt savu izkārtojumu uz atbalstīto ir lētāk nekā rakstīt politiku, un tas pārdzīvo atjauninājumus.

Trešais ir patiešām trūkstošs noteikums, un tam jābūt pēdējam līdzeklim. Ģenerējiet kandidātu ar audita rīkiem, izlasiet, ko tas patiešām atļauj, sašauriniet to līdz darbībai un domēnam, ko novērojāt, un lūdziet kādam citam to pārskatīt, pirms tas nonāk tuvu produkcijai.

Kāpēc vecs allow modulis nav atbilde

Šī defekta meklēšanas rezultāti ir pilni ar gataviem moduļiem, bieži vien rīkam, ko hook vairs neizsauc. Viena instalēšana piešķir atļaujas, kurām var nebūt nekāda sakara ar jūsu noraidījumu, un tas atstāj īsto neatbilstību vietā, vienlaikus pievienojot pastāvīgu caurumu.

Tas arī paslēpj nākamo kļūmi. Modulis, kas atļauj plašu darbību klasi, liks šai kļūdai pazust un pārvērtīs nākamo par kaut ko daudz grūtāk attiecināmu. Moduļa noņemšana vēlāk ir arī izmaiņa, ko neviens negrib plānot, tāpēc saīsne mēdz kļūt pastāvīga.

Disciplinētais salīdzinājums ir starp noraidījumu, ko varat izlasīt, un izmaiņu, ko piedāvājat. Red Hat SELinux problēmu novēršanas rokasgrāmata etiķešu un konfigurācijas pārbaudes izvirza pirms ģenerētās politikas tieši šī iemesla dēļ. Ja ierakstā nav atbilstoša noraidījuma, SELinux, iespējams, nav jūsu problēma, un ceļa, sandbox vai atļauju jautājumi joprojām ir atvērti.

Saistītie raksti