Oedi un cleient OpenVPN: pam mai adfer yw'r lifer anghywir
Mae lladd y sesiwn yn wrthdroadwy; nid yw adfer y dystysgrif felly. Penderfynwch pa lifer y mae'r achos ei angen, yna ailadeiladwch y CRL dim ond pan fo hynny'n gweddu.
Mae oedi mynediad un cleient a'i dynnu am byth yn edrych yr un gwaith nes i chi geisio dadwneud y naill neu'r llall. Mae adfer tystysgrif yn ysgrifennu cofnod y mae'r gweinydd yn ei drin fel un terfynol, ac mae ei wrthdroi'n golygu golygu cronfa ddata'r dyroddwr â llaw. Mae gollwng y tiwnel byw yn orchymyn rheoli nad yw'n newid dim ar ymddiriedaeth. Dewiswch y lifer drwy ofyn a yw'r allwedd yn dal yn ymddiriedadwy, nid drwy ofyn pa mor frys y mae'r cais yn teimlo.
Y gred: mae adfered ac ataliedig yr un peth
Mae contractwr yn cael ei oedi am wythnos a'r redfa yw adfer, oherwydd bod adfer yn swnio fel diffodd rhywbeth. Mae'n edrych yn daclus, mae'n cymryd deg eiliad, ac mae'n gadael golygiad cronfa ddata fel yr unig ffordd yn ôl. Mae'r redfa yn ddealladwy ac mae'n agosach at losgi pasbort nag at gau drws. Mae angen triniaeth wahanol ar ddyfais sydd wedi'i hoedi a allwedd sydd wedi'i chyfaddawdu, a dim ond un ohonynt sy'n rhad i'w wrthdroi.
Mae'r gwahaniaeth yn ymwneud â'r cymhwyster, nid â'r person. Gellir oedi allwedd sydd yn y dwylo cywir o hyd a'i hailafael â hi heb golli unrhyw ymddiriedaeth. Ni ddylid adfer allwedd a allai fod wedi'i chopïo byth, oherwydd bod adfer yn datgan nad yw'r copi yn bodoli.
Ysgrifennwch yr ateb cyn cyffwrdd â'r naill system na'r llall. Os na allwch ddweud a yw'r allwedd wedi'i datgelu, yr ateb ceidwadol yw amnewid.
Gollyngwch y sesiwn fyw gyda'r rhyngwyneb rheoli
OpenVPN yn cynnig rhyngwyneb rheoli a all restru sesiynau a lladd un ohonynt wrth yr enw cyffredin. Galluogwch ef ar localhost, cadwch ef ymhell o'r rhyngwyneb cyhoeddus, ac anfonwch y gorchymyn lladd pan fo'n rhaid i sesiwn ddiflannu nawr. Mae'r gorchymyn yn cau'r tiwnel hwnnw'n unig, ac mae pob cleient arall yn parhau i weithio.
Mae hwn yn ymateb i broblem weithredol, nid yn bolisi atal. Gall yr un proffil ailgysylltu mewn munud, oherwydd ni newidiodd dim yn ei gymhwyster. Defnyddiwch ef pan fo'n rhaid i'r sesiwn fynd ac mae'r penderfyniad parhaol yn dal i gael ei wneud.
Cadarnhewch fod y sesiwn wedi'i chysylltu cyn ei lladd, rhag i chi hela cleient na chysylltodd erioed. Mae'r gorchymyn statws isod yn argraffu'r hyn sydd wedi'i gysylltu ar hyn o bryd.
printf 'status 2\nquit\n' | nc 127.0.0.1 7506
printf 'kill kiosk-14\nquit\n' | nc 127.0.0.1 7506Os yw'r lladd yn adrodd nad oes y fath gleient, nid yr enw cyffredin yn y dystysgrif yw'r llinyn a deipiwyd gennych. Darllenwch allbwn y statws yn hytrach nag enw ffeil y proffil.
Beth y mae'r CRL yn ei reoli mewn gwirionedd
Nid yw'r gweinydd yn ymgynghori â baner adfer a gedwir ar y dystysgrif. Mae'n darllen y rhestr o dystysgrifau a adferwyd a enwir gan crl-verify, ar bob cysylltiad newydd, ac yn gwrthod tystysgrif y mae ei rhif cyfresol yn ymddangos ar y rhestr honno. Daw dwy ganlyniad o hyn, ac mae'r ddwy yn bwysig yn weithredol. Rhaid i'r ffeil fod yn ddarllenadwy i'r cyfrif y mae'r gweinydd yn gollwng breintiau iddo, ac mae cleient sydd eisoes wedi cysylltu yn parhau i redeg nes iddo ailgysylltu.
Mae'r ail ganlyniad yn synnu pobl yn ystod digwyddiadau. Nid yw adfer tystysgrif yn cau'r tiwnel sy'n ei defnyddio ar hyn o bryd. Parwch yr adfer â lladd rheoli os oes rhaid i'r sesiwn ddod i ben ar unwaith, a thriniwch y ddau gam fel camau ar wahân yn y llawlyfr.
Archwiliwch y rhestr i weld beth y bydd y gweinydd yn ei orfodi mewn gwirionedd, yn hytrach na dibynnu ar stamp amser y ffeil olaf a gopïwyd gennych. Y cyfrif cyfresol yw'r rhan sy'n cyfrif.
openssl crl -in /etc/openvpn/server/crl.pem -noout -text | sed -n '1,14p'
ls -l /etc/openvpn/server/crl.pemMae rhestr heb gofnodion a rhestr â'r cofnodion cywir yn edrych yn unfath mewn rhestr cyfeiriadur, a dyna pam mae'r cyfrif cyfresol yn werth ei argraffu. Mae'r llinell caniatâd yr un mor bwysig, oherwydd bod ffeil na all y daemon ei darllen yn cynhyrchu methiant sy'n edrych fel cleient a wrthodwyd.
Adfer cofnod, yn ofalus
Mae adfer tystysgrif yn golygu gwrthdroi cofnod yn y gronfa ddata ddyroddi a chyhoeddi rhestr newydd. Mae easy-rsa 3 yn cadw'r gronfa ddata honno fel index.txt o dan y cyfeiriadur PKI, tra bod cynlluniau hŷn yn defnyddio trefniant gwahanol. Mae rhes yn dechrau â llythyren statws a dyddiad dod i ben. Mae rhes a adferwyd yn mewnosod stamp amser ar gyfer yr adfer cyn parhau â'r rhif cyfresol, enw ffeil y dystysgrif a'r enw gwahaniaethol. Mae rhoi rhes yn ôl yn golygu dileu'r stamp amser hwnnw a throi'r llythyren, gan adael popeth arall yn llonydd.
Gwnewch gopi wrth gefn o'r ffeil yn gyntaf, ac ysgrifennwch y golygiad fel sgript yn hytrach na theipio mewn golygydd testun. Mae gwall teipio sy'n newid faint o feysydd y mae rhes yn eu cario yn torri dyroddi ar gyfer pob tystysgrif a ychwanegwyd wedyn. Dyna'r rheswm dros awtomeiddio'r newid a chopïo'r ffeil cyn cyffwrdd â hi.
Mae ail adfer yr un enw yn methu'n aml hefyd, oherwydd bod y tro cyntaf wedi symud y dystysgrif honno a'i hallwedd allan o'r cyfeiriaduron y mae'r offeryn yn disgwyl eu canfod ynddynt. Yna ni all yr offeryn ddod o hyd i'r hyn y gofynnwyd iddo ei adfer, ac nid yw'r neges gwall bob amser yn egluro pam.
cp /etc/easy-rsa/pki/index.txt /root/index.txt.$(date +%F-%H%M)
grep -c '^R' /etc/easy-rsa/pki/index.txt
easyrsa gen-crlCyhoeddwch y rhestr newydd, trwsiwch ei pherchenogaeth, a gwnewch i'r gweinydd ei darllen. Mae ail-lwytho'n ddigon ar y rhan fwyaf o osodiadau, ond rhaid i'r cadarnhad ddod o gysylltiad newydd, gan na wnaeth y sesiwn bresennol ailwirio dim.
Gwiriwch pa lifer y mae'r achos yn ei haeddu
Gofynnwch yr un cwestiwn sy'n penderfynu'r llawlyfr cyfan: a yw'r allwedd breifat yn dal i fod dim ond lle y dylai fod. Os ydyw, mae lladd y sesiwn ynghyd ag oedi wedi'i ddogfennu yn cwmpasu'r achos ac nid yw'n gadael cofnod parhaol. Os nad ydyw, yr unig ateb diogel yw allwedd newydd gyda'r hen dystysgrif yn parhau'n adferedig.
Yna gwiriwch y canlyniad ag ymgais i gysylltu yn hytrach nag â gwahaniaeth ffurfweddiad. Mae'r gwahaniaeth yn dweud wrthych beth oeddech yn bwriadu, ac mae'r cysylltiad yn dweud wrthych beth y mae'r gweinydd yn ei orfodi.
openssl crl -in /etc/openvpn/server/crl.pem -noout -text | grep -c 'Serial Number'
printf 'status 2\nquit\n' | nc 127.0.0.1 7506Pan fo cleient wedi'i adfer yn cysylltu ac yn ymddangos yn allbwn y statws, bu'r golygiad cofnod yn gweithio. Pan fo cleient a adferwyd yn cael ei wrthod ac mae'r log yn enwi'r CRL, bu'r adfer yn gweithio. Mae unrhyw beth rhyngddynt yn broblem caniatâd neu ail-lwytho, ac mae'n werth ei thrwsio cyn i'r cais nesaf gyrraedd.