Din bærbare computer er væk, og VPN’en viser den stadig som klient. Det presserende spørgsmål er ikke, hvordan du sletter profilen på en maskine, du ikke længere har, men hvilken identitet serveren stadig accepterer. WireGuard kontrollerer en offentlig nøgle, et PKI-baseret OpenVPN opsætning kontrollerer et klientcertifikat, og en SSO-baseret VPN kontrollerer en konto og dens sessionstoken. De tre tilbagekaldes forskellige steder og med forskellig hastighed, og at rette én mens man ignorerer de andre er måden, en tabt enhed bliver ved med at være forbundet.

Tre identiteter og hvad hver af dem styrer

Hver mekanisme besvarer et forskelligt spørgsmål. En peer-nøgle svarer på, om dette er den maskine, du tilmeldte. Et certifikat svarer på, om det blev signeret af din CA og ikke er tilbagekaldt. En konto svarer på, om denne person godtgjorde sin identitet for nylig nok. En udrulning, der lægger to af dem oven på hinanden, for eksempel certifikat plus directory-login, lukker kun døren, når hvert lag, der har udstedt noget til enheden, har fået besked om at holde op med at acceptere det.

Den praktiske fælde er, at den manglende maskine har den private halvdel af hver legitimationsoplysning, så intet, du gør lokalt, når serveren.

WireGuard: fjern peer’en, for der findes ingen tilbagekaldelsesliste

WireGuard fører ingen blokeringsliste. Interfacet accepterer præcis de offentlige nøgler, der er konfigureret som peers, så tilbagekaldelse er sletning: kør wg set wg0 peer <public-key> remove, den form der er dokumenteret i wg(8), og slet derefter den matchende [Peer]-blok fra wg0.conf. Gør begge dele. En fjernelse, der kun sker i driftstiden, overlever til den næste genstart eller konfigurationsgenindlæsning, hvor filen sætter nøglen tilbage.

Eksisterende sessioner har ikke brug for en timer for at dø. Fjernelse af peer’en dropper dens handshake og nøglemateriale, så trafikken stopper, så snart der igen kræves et gyldigt nøglepar. Tjek wg show wg0 latest-handshakes på serveren: posten for den tabte nøgle bør forsvinde og blive væk, mens de andre peers fortsat rapporterer nylige epoker.

En advarsel betyder mere, end den ser ud til. Hvis den tabte enhed delte en nøgle med andre enheder, fordi nogen kopierede én konfigurationsfil, afbryder fjernelsen af den nøgle dem alle; det er stadig det rigtige træk, og du udsteder derefter nøgler per enhed i stedet for at gendanne den delte.

Certifikater: en CRL tæller kun, hvis daemonen læser den

Certifikatbaseret adgang tilføjer et trin, som folk springer over. easyrsa revoke laptop-01 markerer certifikatet som tilbagekaldt i CA-databasen, men VPN’en lærer intet fra den database. Derefter kører du easyrsa gen-crl for at skrive crl.pem, kopierer det til stien, der er angivet i serverens crl-verify-indstilling, og bekræfter, at den kørende daemon bruger den nye fil. At tilbagekalde uden at genskabe og distribuere CRL’en er virkningsløst.

Timing er den anden halvdel. En CRL konsulteres, når en klient forbinder eller genforhandler, så en etableret tunnel kan fortsætte med at videresende indtil da. Hvis enheden skal afskæres med det samme, afslut den session eksplicit via OpenVPN’s administrationsgrænseflade i stedet for at vente på det næste handshake. Genindlæsning eller genstart af tjenesten, afhængigt af hvordan udrulningen indlæser CRL’en, er en del af ændringen og ikke en valgfri ekstra.

Verifikation er værd at gøre fra en anden maskine: præsentér det tilbagekaldte certifikat og forvent et handshake-fejl, typisk VERIFY ERROR: depth=0, error=certificate revoked. Hvis forbindelsen stadig lykkes, læser klienten en anden CRL end den, du opdaterede.

Konti og sessioner: deaktivering er ikke det samme som udsmidning

Directory- eller SSO-login kontrolleres på autentificeringstidspunktet. Deaktivering af kontoen blokerer den næste login, men refresh-tokenet og den etablerede tunnel kan fortsætte med at virke, indtil de udløber. Tilbagekald sessionerne og tokens for den bruger, eller hæv en sessionversion, hvis identitetsudbyderen understøtter det. Fjern også den tabte enhed fra MFA-tilmeldingen, da en registreret autentificeringsapp er en adgangsvej i sig selv.

RADIUS-baserede VPN’er kan sende en afbrydelsesmeddelelse eller en autorisationsændring for at droppe en aktiv session, men ikke alle netværksadgangsservere respekterer det. I tvivlstilfælde afslut brugerens session fra serversiden og bekræft i loggene, at den gamle session blev lukket.

Rækkefølge for den næste time

Start med inventaret, ikke med klienten: list hver identitet, der er knyttet til enheden, hvad enten det er peer-nøgle, certifikatserienummer eller konto. Tilbagekald i hvert udstedende system i den rækkefølge, forbindelsen opbygges, altså konto først, derefter certifikat, derefter peer. Bevis derefter afvisningen fra en maskine, du kontrollerer.

To opfølgninger er nemme at glemme. For det første, skift alt andet, enheden har haft, især SSH-nøgler, cloud-konsol-legitimationsoplysninger og en delt foruddefineret WireGuard-nøgle. For det andet, kontroller, at konfigurationsstyring, snapshots eller guldimages ikke kan genindføre den fjernede klient ved den næste genopbygning.

Den holdbare løsning er én identitet per enhed. Når hver bærbar computer har sin egen peer-nøgle eller sit eget certifikat, koster et tab én tilbagekaldelseskommando og en nyudstedelse i stedet for en genopbygning af hele flåden.

Relaterede artikler