It pauzearjen fan de tagong fan ien klient en it foar altyd fuortheljen dêrfan lykje deselde taak oant jo ien fan beide besykje werom te draaien. It weromlûken fan in sertifikaat skriuwt in record dat de tsjinner as definityf behannelet, en dat weromdraaie betsjut de databank fan de útjouwer mei de hân te bewurkjen. It falle litten fan de libbene tunnel is in behearsopdracht dy't neat oan fertrouwen feroaret. Kies de hendel troch te freegjen oft de kaai noch fertrouber is, net troch te freegjen hoe urgjint it fersyk field.

It leauwen: weromlutsen en skorst is itselde

In ûnderoannimmer wurdt in wike skorst en de refleks is weromlûke, om't weromlûken klinkt as eat útsette. It sjocht skjin út, it duorret tsien sekonden, en it lit in databankbewurking as de iennige wei werom. De refleks is begryplik en hy is tichter by it ferbaarnen fan in paspoart as by it sluten fan in doar. In skorte apparaat en in kompromittearre kaai hawwe oare behanneling nedich, en mar ien fan beide is goedkeap werom te draaien.

It ûnderskie giet oer it bewiisstik, net oer de persoan. In kaai dy't noch yn de goede hannen is, kin skorst en wer ferfette wurde sûnder ferlies fan fertrouwen. In kaai dy't kopiearre wêze kin, moat nea werombrocht wurde, om't werombringen beweart dat de kopy net bestiet.

Skriuw it antwurd op foardat jo ien fan beide systemen oanreitsje. As jo net sizze kinne oft de kaai bleatlein is, is it konservative antwurd ferfanging.

Lit de libbene sesje falle mei de behearsynterface

OpenVPN biedt in behearsynterface dat sesjes listje kin en ien derfan deadzje by mienskiplike namme. Skeakelje it yn op localhost, hâld it fuort fan de iepenbiere interface, en stjoer de deadzjende opdracht as in sesje no ferdwine moat. De opdracht slút allinnich dy tunnel, en elk oar klient bliuwt wurkjen.

Dit is in antwurd op in aktyf probleem, gjin skorsingsbelied. Itselde profyl kin yn in minút wer ferbine, om't neat oan syn bewiisstik feroare is. Brûk it as de sesje fuort moat en de bliuwende beslissing noch nommen wurdt.

Befêstigje dat de sesje ferbûn wie foardat jo him deadzje, sadat jo gjin klient jeie dy't nea ferbûn hat. De statusopdracht hjirûnder printsje wat op dit stuit ferbûn is.

printf 'status 2\nquit\n' | nc 127.0.0.1 7506
printf 'kill kiosk-14\nquit\n' | nc 127.0.0.1 7506

As it deadzjen meldt dat sa'n klient net bestiet, is de mienskiplike namme yn it sertifikaat net de tekenrige dy't jo typt hawwe. Lês de statusútfier ynstee fan de namme fan it profylbestân.

Wat de CRL eins regelet

De tsjinner rieplachtet gjin weromlûkingsflagge dy't op it sertifikaat bewarre is. Hy lêst de list fan weromlutsen sertifikaten dy't yn crl-verify neamd is, by elke nije ferbining, en wegeret in sertifikaat waans searjenûmer op dy list stiet. Twa gefolgen komme dêrút, en beide binne operasjoneel wichtich. It bestân moat lêsber wêze foar it akkount dêr't de tsjinner syn foarrjochten oan ôfstiet, en in al ferbûn klient bliuwt wurkjen oant hy wer ferbynt.

Dat twadde gefolch ferrast minsken by ynsidinten. It weromlûken fan in sertifikaat slút de tunnel net dy't it op dit stuit brûkt. Keppelje it weromlûken oan in behearsdeadzjen as de sesje daliks einigje moat, en behannelje de beide aksjes as aparte stappen yn de hânlieding.

Besjoch de list om te sjen wat de tsjinner wier hanthavenje sil, ynstee fan te fertrouwen op de tiidstimpel fan it lêste bestân dat jo kopiearre hawwe. It oantal searjenûmers is it part dat telt.

openssl crl -in /etc/openvpn/server/crl.pem -noout -text | sed -n '1,14p'
ls -l /etc/openvpn/server/crl.pem

In list sûnder ynfieringen en in list mei de goede ynfieringen sjogge der itselde út yn in mapylisting, dêrom is it de muoite wurdich it oantal searjenûmers te printsjen. De rige mei tastimmingen is like wichtich, om't in bestân dat de daemon net lêze kin in flater opsmyt dy't op in wegere klient liket.

In record weromsette, foarsichtich

In sertifikaat weromsette betsjut in record yn de útjaan databank om te kearen en in nije list te publisearjen. easy-rsa 3 hâldt dy databank as index.txt ûnder de PKI-map, wylst âldere yndielings in oare regeling brûkten. In rige begjint mei in statusletter en in ferfaldaam. In weromlutsen rige foeget in tiidstimpel foar it weromlûken ta foardat hy trochgiet mei it searjenûmer, de bestânsnamme fan it sertifikaat en de ûnderskiedende namme. In rige weromsette betsjut dat tiidstimpel wiskje en de letter omkeare, wylst al it oare gewurde litten wurdt.

Meitsje earst in reservekopy fan it bestân, en skriuw de bewurking as skript ynstee fan te typen yn in tekstbewurker. In typflater dy't feroaret hoefolle fjilden in rige hat, brekt it útjaan foar elk sertifikaat dat dernei tafoege wurdt. Dat is de reden om de feroaring te automatisearjen en it bestân te kopiearjen foardat jo it oanreitsje.

In twadde weromlûken fan deselde namme mislearret faak ek, om't de earste run dat sertifikaat en syn kaai ferpleatst hat út de mappen dêr't it ark se ferwachtet te finen. It ark kin dan net fine wat it frege waard werom te lûken, en de flatermelding is net altyd dúdlik oer wêrom.

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-crl

Publisearje de nije list, reparearje it eigendom derfan, en lit de tsjinner him lêze. In werlade is genôch op de measte ynstallaasjes, mar de befêstiging moat fan in farske ferbining komme, om't de besteande sesje nea wat wer kontrolearre hat.

Kontrolearje hokker hendel de saak fertsjinnet

Stel de iene fraach dy't de hiele hânlieding beslút: is de priveekaai noch allinnich dêr't hy wêze moat. As dat sa is, dan dekt it deadzjen fan de sesje plus in dokumintearre pauze de saak en lit it gjin permanint record efter. As it net sa is, is it iennige feilige antwurd in nije kaai wylst it âlde sertifikaat weromlutsen bliuwt.

Ferifiearje dan it resultaat mei in ferbiningspoging ynstee fan mei in konfiguraasjeferkil. It ferkil fertelt jo wat jo fan plan wiene, en de ferbining fertelt jo wat de tsjinner hanthavent.

openssl crl -in /etc/openvpn/server/crl.pem -noout -text | grep -c 'Serial Number'
printf 'status 2\nquit\n' | nc 127.0.0.1 7506

As in werombrocht klient ferbynt en yn de statusútfier ferskynt, hat de bewurking fan it record wurke. As in weromlutsen klient wegere wurdt en it logboek de CRL neamt, hat it weromlûken wurke. Alles dêr tuskenyn is in tastimming- of werladeprobleem, en it is de muoite wurdich dat te reparearjen foardat it folgjende fersyk komt.

Relatearre artikelen