OpenVPN bezero bat kanporatzea: kill, deny edo ziurtagiria baliogabetu?
OpenVPN ekintza hiruk bezero bat kentzen dute, baina bakoitzak zerbait desberdina amaitzen du: uneko saio bat, saio-hasiera saiakera bat edo berriz konektatzeko eskubidea. Aukeratu identitatearen arabera.
Oharretan common name bat eta helbide bat dituzu, eta hiru komando, denak bezero bat kentzen dutela ematen dutenak. Bakarrak egiten du nahi duzuna, eta aukeraketa orain exekutatzen ari den saioa amaitzea, hurrengo saio-hasiera ukatzea edo konektatzeko eskubidea erabat kentzea behar duzun ala ez da. Ukitu aurretik duzun identitatea irakurri, OpenVPN igerileku batek tunel-helbide bera beste saio bati ematen baitio geroago.
Zein identitate duzun benetan
3 bertsioaren egoera-fitxategia da ohiko abiapuntua. CLIENT_LIST atalak common name-a, helbide erreala, byte-kontagailuak eta konexio-denbora daramatza; ROUTING TABLE atalak helbide birtual bat common name bati esleitzen dio azken erreferentziako denbora-zigiluarekin. Common name-a da identitate egonkorra. Helbide birtuala esleipen bat da, eta NAT baten atzeko helbide erreala alda daiteke saioen artean zerbitzarian ezer aldatu gabe.
Kudeaketa-interfazeak antzeko ikuspegia erakusten du bere status komandoaren bidez eta bezero-ID bat gehitzen du saio bakoitzeko. ID hori da client-kill-ek espero duena, eta ez da tunel-helbidea. Konexioan zein common name-k zein helbide jaso zuen jakin behar baduzu, client-connect script baten inguruneak biak ditu, kanpoko helbide fidagarriarekin batera, baina script hori OpenVPN erabiltzaile gisa exekutatzen da eta idazteko moduko log-bidea behar du.
| What you hold | Where it came from | What it can act on |
|---|---|---|
| Common name | CLIENT_LIST, or the auth hook | kill, and credential revocation |
| Client ID | status on the management socket | client-kill, that one session |
| Tunnel address | ROUTING TABLE, client-connect environment | Nothing durable, the address is recycled |
Orain hil, saio-hasieran ukatu, betirako baliogabetu
Kudeaketa-interfazean dauden bi ezabatzeko komandoak saio-ekintzak dira. kill-ek common name bat edo helbide erreala eta portua hartzen ditu; client-kill-ek bezeroaren IDa hartzen du eta instantzia hori berehala amaitzen du. Bat ere ez da blokeoa: baliozko ziurtagiria eta pasahitza dituen kanporatutako bezero bat segundo batzuetan konektatzen da berriro, probako peer bat birziklatzen ari zarenean ona da eta eramangarri bat lapurtu dutenean alferrikakoa.
client-deny beste erabaki mota bat da. Normalean autentifikazio- edo client-connect-kako batetik emititzen da eta saioa arrazoi batekin ukatzen du, beraz, saio-hasiera ukatzen duen politikari dagokio, konexioa eteten duenari baino. Dokumentazioak ohartarazten du TLS birkonpromisio batean emandako ukapenak birkonprometaturiko gakoa baliogabetzen duela, lehendik dagoen saioak trantsizio-leihoa itxi arte jarrai dezakeen bitartean. Bezeroa orain dela falta bada, dokumentatutako erantzuna client-kill da.
Ezabapen iraunkorra horren azpitik dago. Baliogabetu ziurtagiria eta ziurtatu crl-verify-ek zerbitzariak benetan berriz kargatzen duen zerrenda batera seinalatzen duela, desgaitu bezeroaren berariazko konfigurazio-fitxategia ccd direktorioan, edo desgaitu kontua autentifikazio-kakoak kontsultatzen duen backend-ean. Baliogabetzea ez da berehalakoa ere: reneg-sec ezarpen lehenetsiekin ezarritako saio batek berriz negoziatu arte jarrai dezake, beraz saio-ekintza eta kredentzial-ekintza osagarriak dira, ez alternatibak.
Kudeaketa-socket-a libre al dago?
Kudeaketa-interfazeak bezero bat aldi berean zerbitzatzen du. GUI edo monitorizazio-daemon batek konexioa jada badauka, zure script-a ezin da haren ondoan atxiki, eta bezeroaren arabera lehendik dagoena kanpora dezakezu garbi huts egin beharrean. Haren pasahitza testu arruntean bidaiatzen du socket horretan, beraz helbide lokal batean edo unix socket batean dagokio, inoiz ez interfaze publiko batean.
Socket-a hartu ezin duzunean, oraindik badituzu aukerak, eta denak motelagoak dira. Utzi GUI-ren saioa lehenengo, kontrolatzen baduzu, edo onartu kredentzial-geruzaren bidea eta itxaron hurrengo birkonpromisioa. Ez zenuke egin behar zerbitzua berrabiaraztea bezero bat kentzeko, horrek beste saio guztiak ere amaitzen baititu eta honen egoera-fitxategiko frogak suntsitzen baititu.
Zerbitzari bizian exekutatzen dudan segida
Atxiki, irakurri uneko egoera, jardun orain irakurri duzun IDan, eta gero irakurri berriro. Dokumentu batetik kopiatutako balioak dira pertsona okerra hiltzeko modurik ohikoena.
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 goneGoiko izena eta zenbakia leku-markak dira, eta IDak berrerabili egiten dira beste bezero batzuk deskonektatu ondoren. Ezer egindakotzat idatzi aurretik berretsi lerroa falta dela, eta egiaztatu konektatutako bezeroen kopurua batean mugitu dela, ez batzuen.
Berretsi urrun egon dela
Erregistratu common name-a, tunel-helbidea, kanpoko helbidea eta kentzearen minutua. Common name bera minutu bat geroago berriro agertzen bada, saio-ekintzak funtzionatu zuen eta kredentzial-geruzak ez, eta hori erabat desberdina den konponketa da inoiz indarrean sartu ez zen komando batena baino.
Gero probatu bezeroaren aldetik. Baliogabetutako ziurtagiri batek hurrengo handshake-an huts egin beharko luke; oraindik konektatzen bada, CRL ez da batere irakurtzen ari, eta hori da jakinarazteko merezi duen aurkikuntza. Aukeratu ekintza amaitu behar duzunaren arabera, berretsi bigarren status batekin, eta konpondu kredentzial-geruza erantzunak saioak baino gehiago iraun behar duenean.