Ühine CA, eraldi uksed: üks teenus vastuvõtufaili kohta
Sertifikaat, mis läbib ühise autoriteedi kontrollid, ei ole pääse igasse teenusesse. Vastuvõtt kuulub iga teenuse faili, mida deemon nõuab.
Sertifikaat, mis valideerub ühise autoriteedi vastu, on läbinud usalduse testi, mitte liikmelisuse testi. Need kaks otsust aetakse sageli segi, sest mõlemad juhtuvad ühenduse loomise hetkel, ja segiajamine jääb nähtamatuks seni, kuni teenusesse lastakse keegi, kes sinna kuuluma ei peaks. Lahendus ei ole teine autoriteet; see on teine otsus, tehtud iga teenuse kohta ja kirja pandud sinna, kus deemon seda loeb. Hoidke need kaks lahus ja suurem osa sellest segadusest kaob.
Usaldusväärne ahel ei ütle teenuse liikmelisuse kohta midagi
Kaks teenust võivad aktsepteerida sama väljaandmishierarhiat ja siiski omada erinevaid populatsioone. Üks sülearvuti kuulub esimesse ega tohi teiseni jõuda, samas kui teised sama hierarhia kliendid kuuluvad sinna tõesti. Autoriteedi eemaldamine sellest teenusest lukustaks välja kõik, kes seda seaduslikult kasutavad, seega on töö vastuvõtt, mitte usaldus.
Aitab ette kujutada kahte lukku ühel uksel. Sertifikaat avab välise luku ja teenusepõhine otsus avab sisemise; kumbki ei asenda teist. Ainult välise lukuga teenus ei rakenda liikmelisust üldse, see ainult autendib. Kirjutage mõlemad otsused üles enne millegi muutmist, sest poliitikat, mis eksisteerib ainult töötava ühenduse kujul, ei saa auditeerida. Järgnev puudutab sisemist lukku.
Muutke valikulised ülekirjutused vastuvõtuväravaks
Kliendi konfiguratsioonikaust on tavaliselt mugavus: selles olevad failid kirjutavad üle nende nimetatud klientide seaded ja failita klient töötab lihtsalt serveri vaikeväärtustega. Üks direktiiv muudab selle mugavuse väravaks, nii et puuduv fail tähendab, et ühendusest keeldutakse.
client-config-dir /etc/openvpn/service-a/clients
ccd-exclusive
Kogukonna väljaanne OpenVPN 2.6 ccd-exclusive dokumenteerib oma käsiraamatu lehel täpselt selle tingimuse ja nimetatud faili otsing sõltub kliendi tegelikust identiteedist. Teised buildid ja toote hallatavad serverid võivad erineda, seega kinnitage paigaldatud versioon enne, kui loote mujal samale semantikale.
Käsitlege ülaltoodud teed näitena ja kontrollige juurutatud paigutust, selle asemel et luua kataloog, mille mõni juhend välja mõtles. Jätke olemasolevad sertifikaadikontrollid, serveri identiteedi kontrollid ja kontoautentimine täpselt sellisteks, nagu need olid, sest fragment lisab tingimuse ega eemalda midagi. Valmistage muudatus ette enne tootmist, kuna vales kohas tõstatatud keeldumine näeb välja nagu sertifikaadi tõrge ja suunab uurimise autoriteedi juurde. Seejärel kinnitage, et keeldutud kliendi logirida nimetab puuduva konfiguratsioonifaili, mitte ahelat.
Üks kataloog teenuse kohta, mitte üks jagatud nimekiri
Liikmelisus kuulub teenusele, mis seda rakendab, seega hoiab iga teenus oma kataloogi ja oma faile. Kahe teenuse suunamine ühele nimekirjale paneb need liikmelisust jagama olenemata sellest, kas keegi seda kavatses, ja tekkinud muudatust on raske otsuseni tagasi jälgida. Jagatud autoriteet võib jääda jagatuks; vastuvõtufailid mitte. Nende lahus hoidmine tähendab ka seda, et ühe teenuse viga ei saa teist vaikselt laiendada.
DEFAULT-kirje on juhtum, mis inimesi eksitab. See annab tagavaraseaded, kui nimetatud faili ei leita, kuid see ei ole nimetatud fail, mida värav nõuab, seega ei saa see klienti üksi vastu võtta. Testige klienti, kellel puudub üldse kirje, ja kinnitage keeldumine; kui see klient võetakse vastu, rakendub tagavara ja ccd-exclusive ei kehti selles eksemplaris.
Tegelik identiteet otsustab, millist faili loetakse
Otsing kasutab identiteeti, millega klient tegelikult autentis, mis on tavaliselt sertifikaadi üldnimi. Kui server kontrollib ka kasutajanime ja parooli ning vastendab selle nime üldnimega, peab fail hoopis autenditud kasutajanimega sobima. Sobimatus jätab kataloogi täis usutavaid failinimesid, mida kunagi ei valita.
Lugemine on teine pool. Deemon loobub tavaliselt pärast käivitamist privileegidest, seega vajab vähendatud konto lugemisõigust kataloogile ja igale kirjele selles. Kliendid ei tohi saada oma kirjet luua ühegi kirjutatava tee kaudu, sest iseteeninduslik vastuvõtt nullib mehhanismi täielikult. Kontrollige mountimis- ja jagamisõigusi, mitte ainult failirežiimi, kuna kataloog, mis näib ühele kontole suletud, võib olla teisele avatud. Seejärel kinnitage, millist kontot jooksev protsess tegelikult kasutab, mitte millist kontot unit-fail mainib. Need kaks on samad ainult siis, kui miski muu pole neid muutnud.
Jälgige keeldumist, vastuvõttu ja tühistamist eraldi
Proovige identiteeti, mis kuulub teenusesse, ja kinnitage, et see ühendub. Proovige kehtivat sertifikaati ilma kirjeta ja kinnitage, et sellest keeldutakse. Proovige identiteeti, mis on vastu võetud teise teenusesse, ja kinnitage, et siin seda vastu ei võeta. Märkige iga tulemuse juurde teenuse eksemplar ja tegelik identiteet, sest ilma selle kontekstita ei saa tulemust keegi teine korrata.
Tagasivõtmine on tühistamisest eraldi toiming. Vastuvõtufaili muutmine eemaldab ühe teenuse õiguse, samal ajal kui identiteet jääb mujal kehtima, samas kui kompromiteeritud võti nõuab organisatsiooni tühistamisvastust. Otsustage ette, mis juhtub juba avatud sessioonidega, sest ei kataloogi muutmine ega tühistusnimekiri lõpeta neid iseenesest.
Vastuvõtt on ka ainult esimene värav. Teenusega liitumine ei ütle midagi selle taga olevate alamvõrkude, andmebaaside ega haldusliideste kohta ja see ressursipoliitika tuleb eraldi kirjutada ja testida.