Modaliteti 0600 dhe pronari i saktë nuk garantojnë që shërbimi mund të hapë një çelës. Leja që mungon zakonisht ndodhet në një drejtori mbi të. Linux zgjidh një rrugë një komponent në një herë, dhe çdo hap kërkon leje kërkimi përpara se të provohet hapi tjetër. Lexoni gjithë rrugën, jo rreshtin e fundit të listimit.

Leja e leximit është hapi i fundit, jo i vetmi

Hapja e një skedari kërkon që kerneli të kalojë nga rrënja ose drejtoria e punës nëpër çdo komponent të rrugës. Një drejtori pa leje kërkimi e ndalon atë kalim me një gabim leje. Modaliteti i vetë skedarit nuk kontrollohet kurrë, prandaj një çelës plotësisht i lexueshëm duket i palexueshëm. Gabimi shpesh vjen në hapje pa e emërtuar drejtorinë, dhe për këtë fajësohet skedari i fundit.

Për një drejtori, biti i ekzekutimit nënkupton kërkim, jo ekzekutim të përmbajtjes. Një çelës mbetet të dhënë, dhe asnjë pjesë e këtij riparimi nuk kërkon ta shënojë si të ekzekutueshëm.

Përshkoni rrugën si llogaria e shërbimit

Renditni çdo komponent me pronarin dhe modalitetin e tij, pastaj përsëriteni leximin si identiteti real i shërbimit. Dallimi midis shell-it tuaj dhe daemon-it është shpesh e gjithë përgjigjja. Ndiqui lidhjet simbolike deri te objektivi real, sepse rruga e zgjidhur është ajo që kontrollohet.

namei -l /etc/openvpn/client/office.key
sudo -u vpn-reader stat -c '%A %U:%G %n' /etc/openvpn/client/office.key

Një shërbim mund të hapë skedarë edhe në më shumë se një fazë. Një pjesë e materialit lexohet gjatë konfigurimit të privilegjuar, ndërsa skedarë të tjerë hapen pasi hidhen privilegjet. Një shell root që lexon skedarin nuk riprodhon aksesin e punëtorit të mëvonshëm. Një hapësirë emrash montimi mund të paraqesë një pamje tjetër të së njëjtës rrugë, veçanërisht brenda një kontejneri, prandaj krahasoni pamjen e sistemit të skedarëve të daemon-it me tuajën.

Ndryshoni lejen më të ngushtë që përshtatet

Zgjidhni rregullimin më të vogël që i jep procesit akses: një grup të kontrolluar me kërkim në drejtoritë e nevojshme, një vendndodhje të menaxhuar që shërbimi e zotëron tashmë, ose një mekanizëm tjetër të dokumentuar. Leximi i një skedari nuk kërkon leje shkrimi në drejtorinë e tij. Një leje e gjerë shkrimi grupi mbi konfigurimin e privilegjuar nuk është riparim normal i kalimit. As 0777 rekurziv nuk është zgjidhje.

Shënoni cilin komponent ndryshuat dhe pse. Një ndryshim leje pa një arsye të shënuar është i vështirë për t'u rishikuar dhe i lehtë për t'u harruar.

Shikoni përtej modaliteteve vetëm pas kalimit

Nëse bit-at e modalitetit duken të mjaftueshëm, kontrollet e mbetura janë ACL, politika e sigurisë dhe kufizimet e sandbox-it. Një ACL mund të japë akses që bit-at e modalitetit e sugjerojnë si të munguar, ose të refuzojë akses që ata duket se e lejojnë. Ato cilësime i përkasin pronarit ekzistues të konfigurimit, dhe duhet të rregullohen ngushtë në vend që të fiken. Një ndryshim në rrënjë ose në drejtorinë e punës mund të shpjegojë gjithashtu një rrugë absolute që funksionon në një kontekst dhe dështon në një tjetër.

Mos e humbni pamjen e asaj që është skedari ndërsa rregulloni aksesin. Një certifikatë CA është publike nga dizajni; një çelës privat nuk është. Skedarët që klienti i rishkruan kanë gjithashtu nevojë për të drejta shkrimi të ndryshme nga një çelës identiteti vetëm-lexim. Inspektoni metadatat pa shtypur sekrete, pastaj konfirmoni që shërbimi vetë funksionon pas ndryshimit. Një shënim i shkurtër në dokumentacionin e shërbimit ia kursen personit tjetër të njëjtin kalim.

Artikuj të ngjashëm