Delt CA, atskilde dører: éin teneste per tilgangsfil
Eit sertifikat som står gjennom kontrollane til den delte autoriteten, er ikkje ein billett til kvar teneste. Tilgang høyrer heime i ei fil per teneste som daemonen krev.
Eit sertifikat som blir validert mot ein delt autoritet, har stått gjennom ein test av tillit, ikkje ein test av medlemskap. Desse to avgjerdene blir ofte blanda saman fordi begge skjer ved tilkopling, og samanblandinga blir verande usynleg til nokon som ikkje burde vere på ei teneste, blir sleppt inn på henne. Rettinga er ikkje ein annan autoritet; det er ei anna avgjerd, teken per teneste og notert der daemonen les henne. Hald dei to frå kvarandre, og det meste av forvirringa på dette feltet forsvinn.
Ei betrudd kjede seier ingenting om tenestemedlemskap
To tenester kan godta same utferdande hierarki og likevel ha ulike populasjonar. Éin laptop høyrer til den første og må ikkje nå den andre, medan andre klientar frå same hierarki faktisk høyrer til der. Å fjerne autoriteten frå den tenesta ville låse ute alle som brukar henne lovleg, så arbeidet er tilgang, ikkje tillit.
Det hjelper å sjå føre seg to låsar på éi dør. Sertifikatet opnar den ytre låsen, og ei avgjerd per teneste opnar den indre; ingen av dei erstattar den andre. Ei teneste med berre den ytre låsen handhevar slett ikkje medlemskap, ho autentiserer berre. Skriv ned begge avgjerdene før du endrar noko, for ein politikk som berre finst i form av ei fungerande tilkopling, kan ikkje reviderast. Det som følgjer, handlar om den indre låsen.
Gjer valfrie overstyringar til ei tilgangsport
Ei klientkonfigurasjonsmappe er normalt ein bekvemmeleg ting: filer i henne overstyrer innstillingane for klientane dei nemner, og ein klient utan fil køyrer ganske enkelt med standardverdiane til serveren. Eitt direktiv gjer den bekvemmelegheita til ei port, slik at ei manglande fil tyder at tilkoplinga blir avvist.
client-config-dir /etc/openvpn/service-a/clients
ccd-exclusive
Fellesskapsutgåva av OpenVPN 2.6 ccd-exclusive dokumenterer på manuallsida si nettopp denne føresetnaden, og oppslaget av den nemnde fila heng av den effektive identiteten til klienten. Andre bygg og produktstyrte serverar kan avvike, så stadfest den installerte versjonen før du stolar på same semantikk andre stader.
Handsam stien ovanfor som eit døme og kontroller det faktisk utrulla oppsettet i staden for å opprette ei mappe som ein rettleiar har funne opp. Lat dei eksisterande sertifikatkontrollane, serveridentitetskontrollane og kontogodkjenninga vere nøyaktig som dei var, fordi fragmentet legg til ein føresetnad og fjernar ingenting. Førebu endringa før produksjon, sidan ei avvising som blir reist på feil stad ser ut som ein sertifikatfeil og sender granskinga mot autoriteten. Stadfest deretter at logglinja for ein avvist klient nemner den manglande konfigurasjonsfila og ikkje kjeda.
Éi mappe per teneste, ikkje éi delt liste
Medlemskap høyrer til tenesta som handhevar det, så kvar teneste held si eiga mappe og sine eigne filer. Å peike to tenester mot éi liste får dei til å dele medlemskap same kven som meinte det eller ikkje, og den resulterande endringa er vanskeleg å spore tilbake til ei avgjerd. Den delte autoriteten kan halde fram med å vere delt; tilgangsfilene kan ikkje. Å halde dei frå kvarandre tyder òg at ein feil i éi teneste ikkje stille kan utvide ei anna.
Ein DEFAULT-oppføring er tilfellet som villedar folk. Ho gjev reserveinnstillingar når inga nemnd fil blir funnen, men ho er ikkje den nemnde fila som porten krev, så ho kan ikkje sleppe inn ein klient aleine. Test ein klient som ikkje har nokon oppføring i det heile, og stadfest avvisinga; blir den klienten sleppt inn, blir reserva brukt og ccd-exclusive er ikkje i kraft i den instansen.
Den effektive identiteten avgjer kva fil som blir lesen
Oppslaget brukar identiteten klienten faktisk autentiserte som, som normalt er common name til sertifikatet. Der serveren òg verifiserer eit brukarnamn og passord og mappar det namnet til common name, må fila i staden samsvare med det autentiserte brukarnamnet. Eit avvik lèt att ei mappe full av trulege filnamn som aldri blir valde.
Lesing er den andre halvdelen. Daemonen slepp vanlegvis privilegium etter oppstart, så den reduserte kontoen treng lesetilgang til mappa og kvar oppføring i henne. Klientar må ikkje kunne opprette si eiga oppføring gjennom nokon skrivbar sti, fordi sjølvbeteningstilgang undergrev mekanismen fullstendig. Kontroller monterings- og delingstillatingane og ikkje berre filmodusen, sidan ei mappe som ser lukka ut for éin konto, kan vere open for ein annan. Stadfest deretter kva konto den køyrande prosessen verkeleg brukar, i staden for kva konto unit-fila nemner. Dei to er berre like når ingenting anna har endra dei.
Observer avvising, tilgang og tilbakekalling kvar for seg
Prøv ein identitet som høyrer til tenesta, og stadfest at han koplar til. Prøv eit gyldig sertifikat utan oppføring, og stadfest at det blir avvist. Prøv ein identitet som er sleppt inn på den andre tenesta, og stadfest at han ikkje blir sleppt inn her. Noter tenesteinstansen og den effektive identiteten ved kvart resultat, for eit resultat utan den samanhengen kan ingen andre gjenskape.
Tilbaketrekking er ein annan operasjon enn tilbakekalling. Redigering av ei tilgangsfil fjernar éi tenestebemyndigheit medan identiteten blir verande gyldig alle andre stader, medan ein kompromittert nøkkel krev tilbakekallingsresponsen til organisasjonen. Avgjer på førehand kva som skjer med økter som allereie er oppe, sidan korkje ei mapperedigering eller ei tilbakekallingsliste avsluttar dei av seg sjølv.
Tilgang er òg berre den første porten. Å bli med i ei teneste seier ingenting om subneta, databasane eller administrasjonsgrensesnitta bak henne, og den ressurspolitikken må skrivast og testast for seg.