V zapiskih imate common name in naslov ter tri ukaze, ki vsi izgledajo, kot da odstranijo odjemalca. Samo eden naredi, kar želite, in izbira je odvisna od tega, ali morate končati sejo, ki teče zdaj, zavrniti naslednjo prijavo ali odvzeti pravico do povezovanja sploh. Preden se česar koli dotaknete, preberite identiteto, ki jo res imate, ker bazen OpenVPN pozneje dodeli isti naslov tunela drugi seji.

Katero identiteto res imate

Statusna datoteka različice 3 je običajno izhodišče. Razdelek CLIENT_LIST nosi common name, pravi naslov, števce bajtov in čas povezave; razdelek ROUTING TABLE preslika virtualni naslov v common name s časovnim žigom zadnje reference. Common name je stabilna identiteta. Virtualni naslov je dodelitev, in pravi naslov za NAT se lahko med sejami spremeni, ne da bi se na strežniku karkoli spremenilo.

Upravljalni vmesnik ponuja podoben pogled prek svojega ukaza status in doda ID odjemalca za vsako sejo. Prav ta ID pričakuje client-kill, in to ni naslov tunela. Če morate vedeti, kateri common name je ob povezavi dobil kateri naslov, ima okolje skripta client-connect oboje, skupaj z zaupanja vrednim zunanjim naslovom, a ta skript teče kot uporabnik OpenVPN in potrebuje pot do dnevnika, v katero je mogoče pisati.

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

Ubiti zdaj, zavrniti pri prijavi, preklicati za vedno

Oba ukaza za odstranitev v upravljalnem vmesniku sta sejna dejanja. kill sprejme common name ali pravi naslov in vrata; client-kill sprejme ID odjemalca in takoj konča tisto instanco. Noben ni blokada: izgnani odjemalec z veljavnim certifikatom in geslom se znova poveže v nekaj sekundah, kar je v redu, ko reciklirate testni peer, in neuporabno, ko je bil prenosnik ukraden.

client-deny je drugačna vrsta odločitve. Običajno se izda iz kljuke za preverjanje pristnosti ali client-connect in sejo zavrne z razlogom, zato ustreza politiki, ki zavrača prijavo, ne pa tisti, ki prekine povezavo. Dokumentacija tudi opozarja, da zavrnitev, izdana med pogajanjem TLS, razveljavi znova izpogajani ključ, medtem ko lahko obstoječa seja teče do zaprtja prehodnega okna. Če je zahteva, da odjemalca zdaj ni več, je dokumentirani odgovor client-kill.

Trajna odstranitev je pod vsem tem. Prekličite certifikat in poskrbite, da crl-verify kaže na seznam, ki ga strežnik res znova naloži, onemogočite konfiguracijsko datoteko, specifično za odjemalca, v mapi ccd ali onemogočite račun v tistem zaledju, ki ga povprašuje kljuka za preverjanje pristnosti. Tudi preklic ni takojšen: s privzetimi nastavitvami reneg-sec lahko vzpostavljena seja teče, dokler se ne pogaja znova, zato se sejno dejanje in dejanje s poverilnicami dopolnjujeta, nista alternativi.

Je vtičnica za upravljanje prosta?

Upravljalni vmesnik streže enemu odjemalcu hkrati. Če povezavo že drži GUI ali demon za nadzor, se vaša skripta ne more pripeti ob stran, in glede na odjemalca lahko obstoječo izrine namesto da bi čisto odpovedala. Njegovo geslo potuje po tej vtičnici v čistem besedilu, zato spada na lokalni naslov ali vtičnico unix, nikoli na javni vmesnik.

Ko vtičnice ne morete prevzeti, imate še vedno možnosti, in vse so počasnejše. Najprej spustite sejo GUI, če jo nadzorujete, ali sprejmite pot skozi plast poverilnic in počakajte na naslednje pogajanje. Česar ne smete storiti, je ponovni zagon storitve, da bi se znebili enega odjemalca, ker to konča tudi vse druge seje in uniči dokaze statusne datoteke za to sejo.

Zaporedje, ki ga izvajam na živem strežniku

Priklopite se, preberite trenutno stanje, ukrepajte na ID-ju, ki ste ga pravkar prebrali, in ga nato preberite znova. Vrednosti, kopirane iz dokumenta, so najpogostejši način, da ubijete napačno osebo.

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

Ime in številka zgoraj so nadomestni znaki, in ID-ji se znova uporabijo, ko se drugi odjemalci odklopijo. Preden karkoli zapišete kot opravljeno, potrdite, da vrstice ni, in preverite, da se je število povezanih odjemalcev premaknilo za ena in ne za več.

Potrdite, da je ostal stran

Zapišite common name, naslov tunela, zunanji naslov in minuto odstranitve. Če se isti common name minuto pozneje spet pojavi, je sejno dejanje delovalo, plast poverilnic pa ne, kar je povsem drugačno popravilo kot pri ukazu, ki sploh ni začel veljati.

Nato preizkusite s strani odjemalca. Preklican certifikat bi moral spodleteti pri naslednjem rokovanju; če se še vedno povezuje, se CRL sploh ne bere, in to je ugotovitev, ki je vredna prijave. Izberite dejanje glede na to, kaj morate končati, potrdite z drugim status in popravite plast poverilnic, ko mora odgovor zdržati dlje kot seja.

Sorodni članki