Cicio un cleient OpenVPN: lladd, gwrthod neu ddirymu tystysgrif?
Mae tair gweithred OpenVPN yn tynnu cleient, ond mae pob un yn gorffen rhywbeth gwahanol: sesiwn fyw, un ymgais i fewngofnodi, neu'r hawl i ailgysylltu. Dewiswch yn ôl hunaniaeth.
Mae gennych common name ac anerchiad yn eich nodiadau, a thri gorchymyn sy'n edrych i gyd fel petaent yn tynnu cleient. Dim ond un ohonynt sy'n gwneud yr hyn yr ydych ei eisiau, ac mae'r dewis yn dibynnu a oes angen i chi ddod â'r sesiwn sy'n rhedeg nawr i ben, gwrthod y mewngofnodi nesaf, neu ddileu'r hawl i gysylltu o gwbl. Darllenwch yr hunaniaeth sydd gennych mewn gwirionedd cyn i chi gyffwrdd ag unrhyw beth, oherwydd mae pwll OpenVPN yn rhoi'r un anerchiad twnnel i sesiwn wahanol yn nes ymlaen.
Pa hunaniaeth sydd gennych mewn gwirionedd
Ffeil statws fersiwn 3 yw'r man cychwyn arferol. Mae'r adran CLIENT_LIST yn cario'r common name, yr anerchiad go iawn, cownteri beit a'r amser cysylltu; mae'r adran ROUTING TABLE yn mapio anerchiad rhithwir i common name gyda stamp amser cyfeiriad olaf. Y common name yw'r hunaniaeth sefydlog. Mae'r anerchiad rhithwir yn aseiniad, a gall yr anerchiad go iawn y tu ôl i NAT newid rhwng sesiynau heb i unrhyw beth ar y gweinydd newid.
Mae'r rhyngwyneb rheoli yn dangos golwg debyg drwy ei orchymyn status ac yn ychwanegu ID cleient fesul sesiwn. Yr ID hwnnw yw'r hyn y mae client-kill yn ei ddisgwyl, ac nid yr anerchiad twnnel ydyw. Os oes angen i chi wybod pa common name a dderbyniodd pa anerchiad ar adeg cysylltu, mae gan amgylchedd sgript client-connect y ddau, ynghyd â'r anerchiad allanol dibynadwy, ond mae'r sgript honno'n rhedeg fel defnyddiwr OpenVPN ac angen llwybr log y gellir ysgrifennu iddo.
| 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 |
Lladd nawr, gwrthod wrth fewngofnodi, dirymu am byth
Mae'r ddau orchymyn tynnu yn y rhyngwyneb rheoli yn weithredoedd sesiwn. Mae kill yn cymryd common name neu anerchiad go iawn a phorth; mae client-kill yn cymryd yr ID cleient ac yn gorffen y lluniad hwnnw ar unwaith. Nid yw'r naill na'r llall yn floc: mae cleient a gafodd ei gicio â thystysgrif a chyfrinair dilys yn ailgysylltu mewn eiliadau, sy'n iawn pan fyddwch yn ailgylchu peer prawf ac yn ddiwerth pan fydd llechen wedi'i dwyn.
Mae client-deny yn fath gwahanol o benderfyniad. Fe'i cyhoeddir fel arfer o fachyn dilysu neu client-connect ac yn gwrthod y sesiwn â rheswm, felly mae'n addas i bolisi sy'n gwrthod mewngofnodi yn hytrach nag un sy'n torri cysylltiad. Mae'r ddogfennaeth hefyd yn rhybuddio bod gwrthodiad a gyhoeddir yn ystod ailnegodi TLS yn annilysu'r allwedd a ailnegodwyd tra gall y sesiwn bresennol redeg nes i'r ffenestr drosglwyddo gau. Os yw'r gofyniad yn golygu bod y cleient wedi mynd nawr, yr ateb dogfennedig yw client-kill.
Mae tynnu parhaol yn byw o dan hyn i gyd. Dirymwch y dystysgrif a gwnewch yn siŵr bod crl-verify yn pwyntio at restr y mae'r gweinydd yn ei hail-lwytho mewn gwirionedd, analluogwch y ffeil ffurfweddu benodol i'r cleient yn y cyfeiriadur ccd, neu analluogwch y cyfrif yn unrhyw backend y mae'r bachyn dilysu yn holi iddo. Nid yw dirymiad yn syth chwaith: gyda gosodiadau reneg-sec diofyn gall sesiwn sefydledig barhau i redeg nes iddi ailnegodi, felly mae gweithred y sesiwn a gweithred y cymhwyster yn ategu ei gilydd, nid yn ddewisiadau amgen.
A yw'r soced rheoli yn rhydd?
Mae'r rhyngwyneb rheoli yn gwasanaethu un cleient ar y tro. Os yw GUI neu daemon monitro eisoes yn dal y cysylltiad, ni all eich sgript ymuno wrth ei ochr, ac yn dibynnu ar y cleient efallai y byddwch yn troi'r un presennol allan yn hytrach na methu'n lân. Mae ei gyfrinair yn teithio mewn testun clir ar y soced hwnnw, felly mae'n perthyn i anerchiad lleol neu soced unix, byth i ryngwyneb cyhoeddus.
Pan na allwch gymryd y soced, mae gennych opsiynau o hyd, ac maent i gyd yn arafach. Gadewch sesiwn y GUI yn gyntaf os ydych yn ei reoli, neu derbyniwch y llwybr haen cymhwyster a disgwyliwch yr ailnegodi nesaf. Yr hyn na ddylech ei wneud yw ailgychwyn y gwasanaeth i gael gwared ag un cleient, oherwydd mae hynny'n gorffen pob sesiwn arall hefyd ac yn dinistrio tystiolaeth y ffeil statws ar gyfer hon.
Y dilyniant a redaf ar weinydd byw
Cysylltwch, darllenwch y cyflwr presennol, gweithredwch ar yr ID rydych newydd ei darllen, yna ei ddarllen eto. Gwerthoedd a gopïwyd o ddogfen yw'r ffordd fwyaf cyffredin o ladd y person anghywir.
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 goneMae'r enw a'r rhif uchod yn ddeiliaid lle, ac mae IDau'n cael eu hailddefnyddio ar ôl i gleientiaid eraill ddatgysylltu. Cadarnhewch fod y rhes yn absennol cyn i chi ysgrifennu unrhyw beth fel wedi'i wneud, a gwiriwch fod cyfrif y cleientiaid cysylltiedig wedi symud o un yn hytrach nag o sawl un.
Cadarnhewch iddo aros i ffwrdd
Cofnodwch y common name, yr anerchiad twnnel, yr anerchiad allanol a munud y tynnu. Os yw'r un common name yn ymddangos eto funud yn ddiweddarach, gweithiodd gweithred y sesiwn ac ni weithiodd yr haen gymhwyster, sy'n drwsio hollol wahanol i orchymyn na chafodd effaith erioed.
Yna profwch o ochr y cleient. Dylai tystysgrif ddirymedig fethu'r handshake nesaf; os yw'n dal i gysylltu, nid yw'r CRL yn cael ei ddarllen o gwbl, a dyna'r canfyddiad sy'n werth ei adrodd. Dewiswch y weithred yn ôl yr hyn y mae angen i chi ei orffen, cadarnhewch gydag ail status, a thrwsiwch yr haen gymhwyster pan fydd yr ateb yn gorfod para'n hirach na'r sesiwn.