Sertifikatas, kuris validuojamas pagal bendrą instituciją, išlaikė pasitikėjimo testą, o ne narystės testą. Šie du sprendimai dažnai suplakami, nes abu įvyksta jungimosi metu, o suplakimas lieka nematomas tol, kol į paslaugą įleidžiamas žmogus, kurio ten neturėtų būti. Sprendimas nėra antra institucija; tai antras sprendimas, priimtas kiekvienai paslaugai ir užrašytas ten, kur demonas jį skaito. Laikykite abu atskirai ir didžioji dalis šios srities painiavos išnyksta.

Patikima grandinė nieko nesako apie narystę paslaugoje

Dvi paslaugos gali priimti tą pačią išdavimo hierarchiją ir vis tiek turėti skirtingas populiacijas. Vienas nešiojamasis kompiuteris priklauso pirmajai ir neturi pasiekti antrosios, o kiti tos pačios hierarchijos klientai tikrai jai priklauso. Pašalinus instituciją iš tos paslaugos būtų užrakinti visi, kurie ja naudojasi teisėtai, todėl darbas yra priėmimas, o ne pasitikėjimas.

Padeda įsivaizduoti du užraktus vienose duryse. Sertifikatas atidaro išorinį užraktą, o paslaugos sprendimas atidaro vidinį; nė vienas nepakeičia kito. Paslauga, turinti tik išorinį užraktą, narystės visai nevykdo, ji tik autentifikuoja. Užsirašykite abu sprendimus prieš ką nors keisdami, nes politika, egzistuojanti tik veikiančio ryšio pavidalu, negali būti audituojama. Toliau kalbama apie vidinį užraktą.

Paverskite neprivalomus perrašymus priėmimo vartais

Kliento konfigūracijos katalogas paprastai yra patogumas: failai jame perrašo tų klientų, kuriuos jie įvardija, nustatymus, o klientas be failo tiesiog veikia su serverio numatytosiomis reikšmėmis. Viena direktyva paverčia tą patogumą vartais, todėl trūkstamas failas reiškia, kad ryšys atmetamas.

client-config-dir /etc/openvpn/service-a/clients
ccd-exclusive

Bendruomenės leidimas OpenVPN 2.6 ccd-exclusive savo vadovo puslapyje dokumentuoja būtent šią sąlygą, o įvardyto failo paieška priklauso nuo efektyvios kliento tapatybės. Kiti rinkiniai ir produktų valdomi serveriai gali skirtis, todėl patvirtinkite įdiegtą versiją prieš pasikliaudami ta pačia semantika kitur.

Laikykite aukščiau pateiktą kelią pavyzdžiu ir tikrinkite realiai įdiegtą išdėstymą, o ne kurkite katalogą, kurį išsigalvojo vadovas. Palikite esamas sertifikatų patikras, serverio tapatybės patikras ir paskyros autentifikavimą lygiai tokius, kokie buvo, nes fragmentas prideda sąlygą ir nieko nepašalina. Paruoškite pakeitimą prieš gamybą, nes netinkamoje vietoje iškeltas atmetimas atrodo kaip sertifikato gedimas ir nukreipia tyrimą į instituciją. Tada patvirtinkite, kad atmesto kliento žurnalo eilutė įvardija trūkstamą konfigūracijos failą, o ne grandinę.

Vienas katalogas paslaugai, o ne vienas bendras sąrašas

Narystė priklauso paslaugai, kuri ją vykdo, todėl kiekviena paslauga laiko savo katalogą ir savo failus. Dviejų paslaugų nukreipimas į vieną sąrašą priverčia jas dalytis naryste nesvarbu, ar kas nors to norėjo, ar ne, o atsiradusį pakeitimą sunku atsekti iki sprendimo. Bendra institucija gali likti bendra; priėmimo failai negali. Jų atskyrimas taip pat reiškia, kad vienos paslaugos klaida negali tyliai išplėsti kitos.

DEFAULT įrašas yra tas atvejis, kuris klaidina žmones. Jis pateikia atsarginius nustatymus, kai neįvardytas failas nerandamas, bet tai nėra įvardytas failas, kurio reikalauja vartai, todėl jis negali priimti kliento vienas. Išbandykite klientą, kuris visai neturi įrašo, ir patvirtinkite atmetimą; jei tas klientas priimamas, taikoma atsarginė reikšmė ir ccd-exclusive tame egzemplioriuje negalioja.

Efektyvi tapatybė nusprendžia, kuris failas skaitomas

Paieška naudoja tapatybę, kuria klientas iš tikrųjų autentifikavosi, kuri paprastai yra sertifikato bendrasis vardas. Kai serveris taip pat tikrina vartotojo vardą ir slaptažodį ir priskiria tą vardą bendrajam vardui, failas turi atitikti autentifikuotą vartotojo vardą. Nesutapimas palieka katalogą, pilną tikėtinų failų vardų, kurie niekada nepasirenkami.

Skaitymas yra kita pusė. Demonas paprastai atsisako privilegijų po paleidimo, todėl sumažinta paskyra turi turėti skaitymo prieigą prie katalogo ir kiekvieno įrašo jame. Klientai neturėtų galėti susikurti savo įrašo jokiu rašomuoju keliu, nes savitarnos priėmimas visiškai panaikina mechanizmą. Tikrinkite prijungimo ir bendrinimo leidimus, o ne tik failo režimą, nes katalogas, kuris atrodo uždarytas vienai paskyrai, gali būti atviras kitai. Tada patvirtinkite, kurią paskyrą iš tikrųjų naudoja veikiantis procesas, o ne kurią paskyrą nurodo unit failas. Abu jie sutampa tik tada, kai niekas kitas jų nepakeitė.

Stebėkite atmetimą, priėmimą ir atšaukimą atskirai

Išbandykite tapatybę, kuri priklauso paslaugai, ir patvirtinkite, kad ji prisijungia. Išbandykite galiojantį sertifikatą be įrašo ir patvirtinkite, kad jis atmetamas. Išbandykite tapatybę, priimtą į kitą paslaugą, ir patvirtinkite, kad ji čia nepriimama. Užrašykite paslaugos egzempliorių ir efektyvią tapatybę prie kiekvieno rezultato, nes rezultato be šio konteksto niekas kitas negali atkurti.

Atšaukimas yra atskira operacija nuo panaikinimo. Priėmimo failo redagavimas pašalina vienos paslaugos teisę, o tapatybė lieka galiojanti visur kitur, o pažeistas raktas reikalauja organizacijos panaikinimo atsako. Iš anksto nuspręskite, kas atsitiks jau užmegztoms sesijoms, nes nei katalogo redagavimas, nei panaikinimo sąrašas jų savaime neužbaigia.

Priėmimas taip pat yra tik pirmieji vartai. Prisijungimas prie paslaugos nieko nesako apie po ja esančius potinklius, duomenų bazes ar valdymo sąsajas, ir ta išteklių politika turi būti parašyta ir išbandyta atskirai.

Susiję straipsniai