Hvorfor to OpenVPN-certifikater kan dele én CCD-politik
Et serienummer er ikke et VPN-brugernavn. Reserver det fællesnavn, din server faktisk mapper, hos hver accepteret CA, før du underskriver den næste.
En CA kan underskrive to certifikater, der får den samme OpenVPN klientspecifikke konfiguration, og intet i noget af certifikaterne advarer nogen. Serienumre er forskellige, nøgler er forskellige, og de fulde subjekter er også forskellige, så snart en organisatorisk enhed ændres. Serveren afgør politik per klient gennem ét navn, og det navn er det eneste, der skal være unikt.
Serveren afgør et navn, ikke et serienummer
Ved almindeligt certifikatopslag tager serveren det fælles navn fra det fremlagte certifikat og leder efter en client-config-dir-post med det navn. Serienummeret indgår aldrig i opslaget. To certifikater, der er forskellige i alle felter undtagen det fælles navn, ender i samme fil, så den anden forbindelse arver den første enheds faste adresse og skubbede ruter.
Sådan består en unikhedskontrol på CA-siden, mens VPN stadig kolliderer. De to kontroller svarer på forskellige spørgsmål.
Beslut, hvad det effektive navn skal være, før du underskriver noget, og notér det ved siden af den enhed eller konto, det hører til. Et register med navn, ejer, formål og certifikatfingeraftryk dækker de fleste udrulninger. Uden et er certifikatarkivet den eneste registrering af, hvilket navn der hører til hvilken enhed, og det arkiv kan ikke skelne en autoriseret udskiftning fra en anden enhed, der kræver et eksisterende navn. Reserver navnet ved tilmelding, under en lås hvis to operatører kan udstede samtidigt.
Hvilket navn mappingen faktisk bruger
Almindeligt certifikatopslag bruger det fælles navn. En server, der er sat op til at mappe et godkendt brugernavn, bruger den værdi i stedet, hvilket gør certifikatets fælles navn irrelevant for valg af politik. Læs den kørende konfiguration for at se, hvilken mapping der er gældende.
Begge mappinger kan være til stede på én gang, og så afhænger resultatet af den rækkefølge, serveren afgør dem i. En brugernavnsmapping, der falder tilbage til det fælles navn, vil stille acceptere et certifikat, som registret aldrig godkendte. Skriv det effektive navn ved siden af den kommando, der frembragte det, så den næste operatør ikke skal genopdage rækkefølgen. At teste én forbindelse per mapping er billigt og afgør spørgsmålet.
Hvad end mappingen frembringer, er det den værdi, der skal reserveres. At reservere fælles navne i CA'en, mens serveren baserer sig på brugernavne, reserverer det forkerte.
To CA'er kan godkende det samme navn
En VPN-tjeneste kan stole på mere end én udstedende myndighed, og hver myndighed har sin egen opfattelse af, hvilke navne der er taget. To uafhængige CA'er kan begge godkende det samme fælles navn til forskellige enheder, og serveren accepterer begge certifikater uden klage. Lav en fortegnelse over hver myndighed i tillidsbundtet, ikke kun den, du normalt udsteder fra. Fejlen viser sig første gang, et certifikat fra den anden myndighed bruges.
Samme ræsonnement gælder for en CA, der håndhæver unikhed af hele subjektet i stedet for unikhed af det fælles navn.
To certifikater, der deler et fælles navn, men er forskellige i organisatorisk enhed, har forskellige subjekter, så CA'en rapporterer ingen konflikt, mens serveren ser ét navn. Kontroller den indstilling, dit udstedelsesværktøj faktisk bruger, i stedet for at antage en standard. Den håndtering af unique_subject i openssl ca-dokumentationen er den relevante knap der, og wrappere omkring det værktøj eksponerer den normalt i stedet for at erstatte den.
Fornyelse er en reserveret genbrug, ikke en kollision
En fornyelse, der beholder navnet, er en bevidst genbrug, og registret bør sige det med klare ord. Notér det gamle fingeraftryk og det nye under ét navn, så en gennemgang kan skelne en udskiftning fra en overtagelse. Serverens duplicate-cn-indstilling er uden relevans: den styrer samtidige sessioner, ikke tilmelding eller navnereservationer. Beslut, hvor længe begge legitimationsoplysninger må findes, og hvornår den gamle holder op med at blive accepteret.
Før du overdrager udskiftningen, læs efter, hvad certifikatet faktisk indeholder. Subjektlinjen er det felt, serveren vil mappe, uanset hvad filnavnet antyder.
openssl x509 -in device42.crt -noout -subject -serial -issuerTilbagekaldelse identificerer normalt et certifikat under dets udsteder, så at pensionere ét serienummer påvirker ikke en korrekt udstedt udskiftning fra samme myndighed. Den adfærd er præcis, hvad en ren fornyelse behøver, og det er også derfor, tilbagekaldelse ikke kan rydde op i et navn, der deles af to enheder. Valider det effektive politiknavn og den tildelte adresse på en testforbindelse, før brugeren ser enheden. Pensionér derefter den gamle legitimationsoplysning med vilje, og notér at du gjorde det.