Paieškos teisė kiekviename kataloge prieš raktą
Raktas gali būti 0600 ir vis tiek atsisakyti atsiverti, kai tėvinis katalogas blokuoja ėjimą. Pereikite visą kelią paslaugos paskyra prieš keisdami bet kurį režimą.
Režimas 0600 ir teisingas savininkas negarantuoja, kad paslauga gali atidaryti raktą. Trūkstama teisė paprastai yra kataloge virš jo. Linux sprendžia kelią po vieną komponentą, ir kiekvienas žingsnis reikalauja paieškos teisės prieš bandant kitą. Skaitykite visą kelią, o ne paskutinę sąrašo eilutę.
Skaitymo teisė yra paskutinis žingsnis, o ne vienintelis
Failo atidarymas reikalauja, kad branduolys pereitų nuo šaknies arba darbo katalogo per kiekvieną kelio komponentą. Katalogas be paieškos teisės sustabdo tą ėjimą teisės klaida. Paties failo režimas niekada netikrinamas, todėl visiškai skaitomas raktas atrodo neskaitomas. Klaida dažnai ateina atidarant, neįvardijant katalogo, todėl kaltinamas paskutinis failas.
Katalogui vykdymo bitas reiškia paiešką, o ne turinio vykdymą. Raktas lieka duomenimis, ir jokia šio taisymo dalis nereikalauja pažymėti jo kaip vykdomo.
Pereikite kelią paslaugos paskyra
Išvardykite kiekvieną komponentą su savininku ir režimu, tada pakartokite skaitymą kaip tikrąjį paslaugos tapatumą. Skirtumas tarp jūsų apvalkalo ir tarnybos dažnai yra visas atsakymas. Sekite simbolines nuorodas iki tikrojo taikinio, nes tikrinamas išspręstas kelias.
namei -l /etc/openvpn/client/office.key
sudo -u vpn-reader stat -c '%A %U:%G %n' /etc/openvpn/client/office.key
Paslauga taip pat gali atidaryti failus daugiau nei viename etape. Dalis medžiagos skaitoma privilegijuoto paruošimo metu, o kiti failai atidaromi po to, kai privilegijos atsisakoma. Root apvalkalas, skaitantis failą, neatkuria vėlesnio darbuotojo prieigos. Prijungimo vardų sritis gali pateikti kitokį to paties kelio vaizdą, ypač konteinerio viduje, todėl palyginkite tarnybos failų sistemos vaizdą su savuoju.
Pakeiskite siauriausią tinkamą teisę
Pasirinkite mažiausią tvarką, kuri suteikia procesui prieigą: kontroliuojamą grupę su paieška reikiamuose kataloguose, valdomą vietą, kurią paslauga jau turi, arba kitą dokumentuotą mechanizmą. Failo skaitymas nereikalauja rašymo teisės jo kataloge. Plati grupės rašymo teisė privilegijuotai konfigūracijai nėra įprastas ėjimo taisymas. Rekursyvus 0777 taip pat nėra sprendimas.
Užrašykite, kurį komponentą pakeitėte ir kodėl. Teisės pakeitimą be užrašytos priežasties sunku peržiūrėti ir lengva pamiršti.
Už režimų žiūrėkite tik po ėjimo
Jei režimo bitai atrodo pakankami, likusios patikros yra ACL, saugumo politika ir sandbox apribojimai. ACL gali suteikti prieigą, kurią režimo bitai rodo esant nebuvusią, arba uždrausti prieigą, kurią jie tarsi leidžia. Tie nustatymai priklauso esamam konfigūracijos savininkui, ir juos reikia koreguoti siaurai, o ne išjungti. Šaknies ar darbo katalogo skirtumas taip pat gali paaiškinti absoliutų kelią, kuris veikia viename kontekste ir nepavyksta kitame.
Nepamirškite, kas yra failas, kol taisote prieigą. CA sertifikatas yra viešas pagal projektą; privatus raktas ne. Failams, kuriuos klientas perrašo, taip pat reikia kitokių rašymo teisių nei tik skaitomam tapatybės raktui. Patikrinkite metaduomenis nespausdami paslapčių, tada patvirtinkite, kad pati paslauga veikia po pakeitimo. Trumpa pastaba paslaugos dokumentacijoje sutaupo kitam žmogui tą patį ėjimą.