Jūsų VPN komanda veikia be privilegijų; paslauga — ne
Slaptažodžio prašymo nebuvimas nieko nesako apie tai, kas keičia maršrutus. Raskite paslaugą, jos atskleidžiamą sąsają ir politiką, kuri nusprendžia, kas gali prašyti.
VPN komanda veikia kaip jūsų naudotojas, slaptažodis nepasirodo, ir tunelis pakyla. Ši seka atrodo kaip operacija be privilegijų, ir dažniausiai ja nėra. Tinklo pakeitimus atlieka atskira paslauga, o įdomiausias klausimas yra tai, ką ta paslauga padarys kviečiančiajam, kurio nepatikrino. Slaptažodžio prašymų skaičiavimas nieko nepasako apie šią ribą.
Sąsaja, mechanizmas ir patikra
Sąsaja priima prašymus: prisijungti, atsijungti, pasirinkti profilį. Mechanizmas valdo tinklo operacijas: sąsajų kūrimą, maršrutų keitimą, filtrų taikymą. Autorizacijos patikra nusprendžia, ar šis kviečiantysis gali prašyti šio veiksmo. Šie trys gali būti paskirstyti tarp dvejetainio failo, pagalbinės programos ir sistemos paslaugos, o naudotojas mato tik pirmąjį.
Vaidmenys gali gyventi viename dvejetainiame faile, dviejuose procesuose arba kliente ir sistemos paslaugoje, o naudotojo matoma komanda retai atskleidžia, kurioje. Dėklo piktograma ir sistemos demonas gali atrodyti kaip viena programa, nors veikia labai skirtingomis galiomis. Diegimo metu suteikta privilegija ir prašymo metu suteikta privilegija taip pat yra skirtingi dalykai. Diegėjas, veikęs kaip root, gali palikti paslaugą, kuri klausosi vėlesnių prašymų, ilgai po to, kai paketų tvarkyklė baigė. Galią turi ta paslauga, o ne jūsų įvesta komanda.
Delegavimas yra įprastas dizainas
Privilegijuotą tinklo darbą deleguoti paslaugai yra pagrįsta architektūra. Ji įprastas programas palieka be privilegijų ir centralizuoja operacijas, kurioms reikia atidumo. Dizainas atsiperka tik tada, kai paslauga taip pat tikrina, kas prašo ir ko. Be šios patikros tai tik platesnės durys.
NetworkManager yra konkretus Linux pavyzdys. Jo konfigūracijos vadovas paaiškina, kaip PolicyKit autorizuoja ne root prašymus numatytajame nustatyme. Tai rodo deleguotą autorizaciją realiame produkte. Tai neįrodo, kad kiekvienas komercinis klientas naudoja NetworkManager, ir neaprašo jokio konkretaus tiekėjo lizdo kelio ar politikos.
Šablonas yra delegavimas, už kurio slypi politika. Pavyzdys yra viena šio šablono realizacija, ne universali.
Skaitykite ribą, o ne prašymą
Raskite paslaugą, jos konfigūracijos savininką ir vietinę sąsają, kurią naudoja priekinė dalis. Tada paklauskite, kurie naudotojai gali prašyti kokių operacijų. Galimybė pakelti ir nuleisti vieną išsaugotą profilį nėra ta pati teisė kaip įkelti konfigūraciją, kurios operatorius niekada neperžiūrėjo. Skirtumas yra visas saugumo klausimas.
Pradėkite nuo paslaugų tvarkyklės ir nuo paties kliento požiūrio į savo teises. Žemiau pateiktos komandos rodo, ar demonas veikia, ko kviečiantysis gali jo paprašyti ir ką demonas atskleidžia savo vykdymo kataloge.
systemctl status NetworkManager
nmcli general permissions
ls -l /run/NetworkManager
Paklauskite ir ko operacija veikia. Asmeniškai atrodantis meniu elementas gali pakeisti maršrutus ir DNS visai mašinai, o tai reiškia, kad jis gali sutrikdyti kitų naudotojų sesijas. Poveikio spindulys priklauso tai pačiai peržiūrai kaip ir teisė, ir dažniausiai jis nusprendžia, ar paslaugai reikia siauresnio vaidmens.
Taisykite teises palaikomu būdu
Apsaugoto valdymo lizdo padarymas rašomu visiems arba paskyros pridėjimas prie plačios administracinės grupės pašalina teisės klaidą ir sukuria didesnę. Klaida buvo vienintelis dalykas, kuris jums sakė, kad ši riba egzistuoja. Naudokite dokumentuotą narystės arba autorizacijos procesą, įskaitant jo reikalaujamą sesijos atnaujinimą. Grupės narystė dažnai galioja tik naujoms prisijungimo sesijoms, todėl pakeitimas gali atrodyti nieko nedarantis iki kito prisijungimo.
Jei produktas siūlo siauresnį vaidmenį operacijai, teikite jam pirmenybę prieš bendrą suteikimą. Užrašykite pasirinktą vaidmenį ir jo savininką prie paslaugos pavadinimo.
Kaip atrodo geras padalijimas
Įprastos programos lieka be privilegijų, paslauga atlieka tik tą sąranką, kuriai buvo sukurta, ir kiekvienas kviečiantysis tikrinamas pagal politiką, kurią kažkas valdo. Tai apginamas dizainas. Jis taip pat yra audituojamas, nes politika turi su ja susietą pavadinimą. Viskas didesnio nusipelno rašytinės išimties, o ne tylios teisių pakeitimo.
Gedimo režimas yra paslauga, kuri įvykdo bet kurį bet kurio vietinio naudotojo prašymą, nes sąsaja patogi. Naudotojo pusėje tai atrodo taip pat, ir ji turi daug didesnę galią. Išbandykite vieną atmestą prašymą, ne tik sėkmingą. Atmetimas, kylantis iš politikos, yra įrodymas, kad politika egzistuoja.