Genudstedelse af et bærbar-computer-certifikat under samme fælles navn føles som en erstatning, og alle antager, at det gamle er dødt. Det er det ikke. Forgængeren forbliver et gyldigt certifikat signeret af samme myndighed, og enhver kontrol, der tillader klienter ved navn, vil fortsætte med at tillade det. Det, der adskiller en identitetskontrol fra en legitimationskontrol, er serienummeret, og det er der, rettelsen hører til.

Start med den navnepolitik, serveren bruger

To kontroller blandes sammen: at tillade en klient, fordi den hævder at være nogen, og at fjerne ét bestemt certifikat fra drift. Den første er en navnekontrol, den anden er en tilbagekaldelseskontrol. De besvarer forskellige spørgsmål, og en udrulning kan have den ene uden den anden.

Læs serverkonfigurationen, og noter hvilken identitetskilde der er i spil. username-as-common-name gør det godkendte brugernavn til det effektive navn for klientspecifikke opslag. Uden det bruges certifikatets emnefællesnavn. Uanset svaret skal du skrive det ned, før du rører nogen tilladelsesliste.

De to veje giver et forskelligt sæt tilladte navne for det samme certifikat. At gætte her betyder at redigere den forkerte fil og konkludere, at kontrollen ikke virker.

Kontroller, hvad der faktisk tillader en klient

En client-config-dir med en matchende fil leverer valgmuligheder pr. klient; alene er den ikke en tilladelsesregel. Tilladelse ved navn kræver ccd-exclusive, som afviser klienter uden en matchende fil. Aktiveres det på en kørende udrulning, afbrydes alle, hvis navn ikke har en fil, så tæl filerne, før du skifter noget.

grep -nE 'ccd-exclusive|client-config-dir|username-as-common-name' /etc/openvpn/server/server.conf
ls -1 /etc/openvpn/ccd/

Antallet er kontrollen: sammenlign mappelisten med de identiteter, du forventer vil forbinde.

Bekræft derefter, at hvert filnavn matcher den effektive identitet præcist, inklusive store og små bogstaver og mellemrum. En fil til office-laptop gør intet for et certifikat, hvis emne lyder Office-Laptop. Efterfølgende mellemrum skjuler sig også for en almindelig visning, og det er sådan en fil, der ser ud til at være til stede, forbliver ulæst.

Kontroller den CRL, gatewayen indlæser

En CRL navngiver tilbagekaldte certifikater efter udsteder og serienummer, hvilket er den detaljeringsgrad, en navnekontrol mangler. To certifikater kan dele et fælles navn og afvige i serienummer, og kun en liste på serienummerniveau skiller dem.

Bekræft den konfigurerede sti, udstedelsesdatoen og feltet for næste opdatering, før du overhovedet stoler på filen.

openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
openssl x509 -in office-laptop.crt -noout -serial -subject

Sammenlign serienummeret i CRL’en med serienummeret på det certifikat, du vil beholde. Den sammenligning er hele testen, og at gøre det én gang med øjet er mere værd end at stole på et script, ingen har læst. Distribuer den opdaterede CRL gennem den sti, gatewayen allerede læser. En CRL i den forkerte mappe håndhæver intet, og ingen klientlog vil nævne det.

Erstat, og bevis derefter begge udfald

Udsted erstatningen under samme fælles navn, registrer begge serienumre, og tilbagekald først derefter det gamle. Den rækkefølge holder en fungerende identitet tilgængelig, mens du forbereder ændringen.

Test erstatningen først: den bør godkende sig og nå alt, hvad dens navn har ret til. Test derefter det gamle certifikat og bekræft, at det afvises, fordi en vellykket erstatning ikke siger noget om tilbagekaldelse. Hvis begge stadig forbinder, læses tilbagekaldelsesinputtet ikke, eller det gamle serienummer blev aldrig opført. Hvis ingen forbinder, har du brudt tilladelsesreglen i stedet for legitimationsoplysningen.

Allerede etablerede sessioner er en separat sag, da tilbagekaldelse gælder for nye godkendelser, medmindre gatewayen også er konfigureret til at droppe live-forbindelser. Beslut, om øjeblikkelig fjernelse er påkrævet, før du lover det til nogen.

Hvad en navnekontrol aldrig kan gøre

En tilladelsesliste besvarer, om denne identitet må forbinde. Den kan ikke sige, hvilket certifikat den identitet brugte, og den vil tillade en ældre legitimationsoplysning, så længe den forbliver gyldig og ikke tilbagekaldt. Det hul dukker op under en hændelse, når erstatningen blev udstedt for måneder siden, og forgængeren stadig virker.

Hvor kontrol på certifikatniveau er påkrævet, brug en mekanisme, der navngiver certifikatet: CRL-poster eller et verifikationshook, der kontrollerer et fingeraftryk, som operatøren vedligeholder. Begge koster vedligeholdelse, og begge er ærlige om det objekt, de undersøger. OpenVPN 2.6-manualen dokumenterer crl-verify og klientspecifik tilladelse som separate valgmuligheder af den grund.

Skriv ned, hvilken kontrol der udfører hvilket arbejde, og test derefter det negative tilfælde. En tilbagekaldelse, du aldrig har set afvise en forbindelse, er en konfiguration, du håber virker.

Relaterede artikler