Jy het 'n common name en 'n adres in jou notas, en drie opdragte wat almal lyk of hulle 'n kliënt verwyder. Slegs een van hulle doen wat jy wil, en die keuse hang daarvan af of jy die sessie wat nou loop wil beëindig, die volgende aanmelding wil weier, of die reg om hoegenaamd te koppel wil wegneem. Lees die identiteit wat jy werklik het voordat jy aan enigiets raak, want 'n OpenVPN-poel gee later dieselfde tonneladres aan 'n ander sessie.

Watter identiteit jy werklik het

'n Weergawe 3-statuslêer is die gewone beginpunt. Die CLIENT_LIST-afdeling bevat die common name, die werklike adres, greptellers en verbindingstyd; die ROUTING TABLE-afdeling beeld 'n virtuele adres op 'n common name af saam met 'n tydstempel van die laaste verwysing. Die common name is die stabiele identiteit. Die virtuele adres is 'n toewysing, en die werklike adres agter 'n NAT kan tussen sessies verander sonder dat enigiets op die bediener verander.

Die bestuurskoppelvlak bied 'n soortgelyke beeld deur sy status-opdrag en voeg 'n kliënt-ID per sessie by. Daardie ID is wat client-kill verwag, en dit is nie die tonneladres nie. As jy wil weet watter common name watter adres by verbindingstyd ontvang het, het die omgewing van 'n client-connect-skrip albei, saam met die vertroude buitenste adres, maar daardie skrip loop as die OpenVPN-gebruiker en het 'n skryfbare logpad nodig.

What you holdWhere it came fromWhat it can act on
Common nameCLIENT_LIST, or the auth hookkill, and credential revocation
Client IDstatus on the management socketclient-kill, that one session
Tunnel addressROUTING TABLE, client-connect environmentNothing durable, the address is recycled

Nou doodmaak, by aanmelding weier, permanent herroep

Albei verwyderingsopdragte in die bestuurskoppelvlak is sessie-aksies. kill neem 'n common name of 'n werklike adres en poort; client-kill neem die kliënt-ID en beëindig daardie instansie onmiddellik. Nie een is 'n blokkade nie: 'n uitgeskopte kliënt met 'n geldige sertifikaat en wagwoord koppel binne sekondes weer, wat goed is wanneer jy 'n toetsportuur herwin en nutteloos wanneer 'n skootrekenaar gesteel is.

client-deny is 'n ander soort besluit. Dit word gewoonlik vanuit 'n authentication- of client-connect-haak uitgereik en verwerp die sessie met 'n rede, so dit pas by 'n beleid wat 'n aanmelding weier eerder as een wat 'n verbinding onderbreek. Die dokumentasie waarsku ook dat 'n weiering wat tydens 'n TLS-heronderhandeling uitgereik word die heronderhandelde sleutel ongeldig maak terwyl die bestaande sessie kan aanhou loop totdat die oorgangsvenster sluit. As die vereiste is dat die kliënt nou weg is, is die gedokumenteerde antwoord client-kill.

Duursame verwydering lê onder dit alles. Trek die sertifikaat terug en maak seker crl-verify wys na 'n lys wat die bediener werklik herlaai, deaktiveer die kliëntspesifieke konfigurasielêer in die ccd-gids, of deaktiveer die rekening in watter backend die authentication-haak ook al navra. 'n Herroeping is ook nie onmiddellik nie: met verstek reneg-sec-instellings kan 'n gevestigde sessie aanhou loop totdat dit heronderhandel, so die sessie-aksie en die geloofsbrief-aksie is aanvullings, nie alternatiewe nie.

Is die bestuursaansluiting vry?

Die bestuurskoppelvlak bedien een kliënt op 'n slag. As 'n GUI of moniteringsdaemon die verbinding al hou, kan jou skrip nie daarnaas aansluit nie, en afhangend van die kliënt kan jy die bestaande een uitstoot eerder as om netjies te faal. Sy wagwoord reis in duidelike teks op daardie aansluiting, so dit hoort op 'n plaaslike adres of 'n unix-aansluiting, nooit op 'n openbare koppelvlak nie.

Wanneer jy nie die aansluiting kan neem nie, het jy steeds opsies, en hulle is almal stadiger. Laat vaar die GUI se sessie eerste as jy dit beheer, of aanvaar die geloofsbrief-laag-roete en wag vir die volgende heronderhandeling. Wat jy nie moet doen nie, is om die diens te herbegin om een kliënt af te skud, want dit beëindig elke ander sessie ook en vernietig die statuslêer-bewyse vir hierdie een.

Die volgorde wat ek op 'n lewendige bediener loop

Koppel, lees die huidige toestand, handel op die ID wat jy pas gelees het, en lees dit dan weer. Waardes wat uit 'n dokument gekopieer is, is die algemeenste manier om die verkeerde persoon uit te skop.

status                     # note the client ID and common name
client-kill 3              # end that session now
kill Test-Client           # alternative: by common name
status                     # confirm the session is gone

Die naam en die nommer hierbo is plekhouers, en ID's word hergebruik nadat ander kliënte ontkoppel. Bevestig die ry is afwesig voordat jy enigiets as gedoen neerskryf, en kyk dat die telling van gekoppelde kliënte met een eerder as verskeie geskuif het.

Bevestig dat dit weggebly het

Teken die common name, die tonneladres, die buitenste adres en die minuut van verwydering aan. As dieselfde common name 'n minuut later weer verskyn, het die sessie-aksie gewerk en die geloofsbrief-laag nie, wat 'n heeltemal ander herstelling is as 'n opdrag wat nooit in werking getree het nie.

Toets dan van die kliëntkant af. 'n Herroepte sertifikaat behoort die volgende handdruk te laat misluk; as dit steeds koppel, word die CRL glad nie gelees nie, en dit is die bevinding wat die moeite werd is om te rapporteer. Kies die aksie volgens wat jy moet beëindig, bevestig met 'n tweede status, en herstel die geloofsbrief-laag wanneer die antwoord langer as die sessie moet hou.

Verwante artikels