Atšaukimas niekada neįsiskverbia į veikiantį tunelį, kad ištrintų sesiją. Sąrašas yra sertifikato patikros įvestis ir skaitomas valdymo kanalo apsikeitimo, kuriuo prasideda TLS sesija, metu. Šis vienas faktas paaiškina abi staigmenas: atšauktas klientas vėl jungiasi, nes sąrašas taip ir nepasiekė tikrintojo, o esama sesija išlieka, nes niekas nieko iš naujo nepatikrino.

Sąrašas yra įvestis, o ne veiksmas

Kuriant sesiją serveris tikrina kliento sertifikatą pagal savo pasitikėjimo inkarus, o atšaukimo direktyva prie šio sprendimo prideda sąrašo paiešką. Patikra atliekama serveryje, todėl klientas negali matyti, kad jo sertifikatas atšauktas, ir toliau siūlo tą patį. Todėl profilis, kuris vis dar jungiasi, įrodo tik tai, kad koks nors tikrintojas priėmė grandinę, o ne kad atšaukimas nepavyko.

Pats sąrašas yra pasirašytas objektas su išdavimo data ir kitos naujinimo data. Nesusijęs sąrašas, kito organo pasirašytas sąrašas arba toks, kurio kita naujinimo data jau praėjo, nepakeičia dabartinio, o ar pasenęs sąrašas atmetamas, ar tyliai priimamas, priklauso nuo diegimo.

Nauja jungtis prieš veikiančią sesiją

Atšaukimas vertinamas, kai sesija sukuriama arba deramasi iš naujo, o ne prieš duomenų kanalą kiekviename pakete. Jau prisijungęs klientas turi srauto raktus, todėl ir toliau praleidžia paketus po to, kai jo sertifikatas atsiranda sąraše. Numatytas perreguliavimo intervalas matuojamas valandomis, todėl atnaujintas sąrašas gali įsigalioti naujokams, kol veikiantis tunelis išlieka.

SituationWhat the list doesWhen it applies
Fresh connectionBlocks the handshakeAt verification, immediately
RenegotiationBlocks the new exchangeAt the next renegotiation interval
Established data channelNothingUntil the session ends

Neatidėliotinas vykdymas reikalauja sąmoningo veiksmo, o ne vien sąrašo. Paslaugos paleidimas iš naujo priverčia kiekvieną klientą jungtis iš naujo, o vienos sesijos nutraukimas per valdymo sąsają palieka kitas nepaliestas. Pasirinkite vieną kiekvienam įvykiui ir užsirašykite, kurią naudojote. Du variantai turi skirtingą poveikio mastą, ir tai yra tikrasis sprendimas.

Pristatykite failą, kurį tikrintojas iš tikrųjų skaito

Sąrašas turi būti sugeneruotas iš organo įrašo ir tada nukopijuotas į kiekvieną įrenginį, kuris tikrina sertifikatus. Sugeneruoti jį CA mazge ir niekada neįdiegti serveriui yra dažniausia klaida, ir ji atrodo kaip visiškai sugedusi atšaukimo funkcija.

ca ca.crt
cert server.crt
key server.key
crl-verify /etc/openvpn/crl.pem

Ar failas tikrai skaitomas, sprendžia dvi detalės. Santykinis kelias sprendžiamas konfigūracijos katalogo atžvilgiu, todėl operatoriaus namų kataloge palikta kopija gali būti nerasta niekada. O demonas paprastai po paleidimo atsisako privilegijų, todėl vykdymo paskyrai reikia paieškos teisės kiekviename tėviniame kataloge ir skaitymo teisės faile. Patikrinkite abu su vykdymo paskyra, o ne su root, kitaip testas įrodo ne tai.

systemd mazguose grūdinta unit gali paslėpti kelią, tik skaitoma peržiūra arba apsaugotu sistemos katalogu. Paslaugos viduje tai nesiskiria nuo trūkstamo failo, todėl prieš ieškodami teisių klaidos patikrinkite unit apribojimus. Perskaitykite unit failą prieš kaltindami failo režimą.

Patvirtinkite serveryje, o ne kliente

Serverio žurnalas įvardija, kas įvyko: sąrašo atidarymas, jo įkėlimas arba patikros nesėkmė su atšauktu serijos numeriu. Klientas praneša tik apie bendrą rankos paspaudimo nesėkmę, todėl kliento žurnalai yra bloga vieta ieškoti atšaukimo sprendimo.

Patikrinkite nauju bandymu iš atšaukto profilio ir tada sustokite. Sėkmingas prisijungimas iš to profilio yra signalas patikrinti failo kelią ir vykdymo paskyrą, o ne manyti, kad sąrašas buvo klaidingas. Išsaugokite tą sėkmingą bandymą kaip priėmimo testą ir neskaičiuokite pakartotinio prisijungimo, kurio nepastebėjote.

Kas nieko neatšaukia

Profilio ištrynimas iš nešiojamojo kompiuterio, sertifikato failo pašalinimas iš kliento arba vartotojo prašymas nustoti jungtis nieko nekeičia serveryje. Sertifikatas lieka galiojantis tol, kol organas įrašo atšaukimą ir tikrintojas perskaito gautą sąrašą.

Todėl verta užrašyti grandinę: užregistruokite atšaukimą, sugeneruokite ir pasirašykite sąrašą, paskirstykite būtent tą failą ir patvirtinkite, kad paslaugos paskyra gali jį skaityti. Kiekviena grandis trumpa, o bet kuri trūkstama palieka atšauktą klientą linksmai besijungiant. Keturių eilučių kontrolinis sąrašas nugali prielaidą be nė vienos.

Susiję straipsniai