Një klient i revokuar ende lidhet: lista nuk mbërriti kurrë
Revokimi është një hyrje e verifikimit të certifikatës, jo një komandë që mbyll një sesion. Krahasoni si e shohin listën një lidhje e re dhe një tunel në punë.
Revokimi nuk hyn kurrë në një tunel në punë për të fshirë një sesion. Lista është një hyrje e verifikimit të certifikatës dhe lexohet gjatë shkëmbimit të kanalit të kontrollit që hap një sesion TLS. Ky fakt i vetëm shpjegon të dyja surprizat: një klient i revokuar lidhet përsëri sepse lista nuk mbërriti kurrë te verifikuesi, dhe një sesion ekzistues mbijeton sepse askush nuk verifikoi asgjë përsëri.
Një listë është hyrje, jo veprim
Gjatë vendosjes së sesionit serveri vlerëson certifikatën e klientit ndaj ankorave të tij të besimit, dhe direktiva e revokimit i shton këtij vendimi një kërkim në listë. Kontrolli bëhet në server, kështu që klienti nuk mund të shohë se certifikata e tij u revokua dhe vazhdon të ofrojë të njëjtën. Prandaj një profil që ende lidhet provon vetëm se një verifikues e pranoi zinxhirin, jo se revokimi dështoi.
Vetë lista është një objekt i nënshkruar me një datë lëshimi dhe një datë përditësimi të ardhshëm. Një listë e palidhur, një e nënshkruar nga një autoritet tjetër ose një lista përditësimi i ardhshëm i së cilës ka kaluar nuk e zëvendësojnë atë aktuale, dhe nëse një listë e vjetër refuzohet ose pranohet në heshtje varet nga vendosja.
Lidhje e re kundrejt sesionit në punë
Revokimi vlerësohet kur një sesion vendoset ose rinegociohet, jo ndaj kanalit të të dhënave në çdo paketë. Një klient që është tashmë i lidhur mban çelësat e trafikut, kështu që vazhdon të lejojë paketat të kalojnë pasi certifikata e tij shfaqet në listë. Intervali i parazgjedhur i rinegocimit matet në orë, prandaj një listë e përditësuar mund të hyjë në fuqi për të rejat ndërsa një tunel në punë mbetet.
| Situation | What the list does | When it applies |
|---|---|---|
| Fresh connection | Blocks the handshake | At verification, immediately |
| Renegotiation | Blocks the new exchange | At the next renegotiation interval |
| Established data channel | Nothing | Until the session ends |
Zbatimi i menjëhershëm kërkon një veprim të qëllimshëm dhe jo vetëm listën. Rinisja e shërbimit detyron çdo klient të lidhet përsëri, ndërsa përfundimi i një sesioni të vetëm përmes ndërfaqes së menaxhimit i lë të tjerët të paprekur. Zgjidhni një për çdo incident dhe vini re cilën përdorët. Të dyja opsionet kanë një rreze tjetër ndikimi, dhe ky është vendimi i vërtetë.
Dorëzoni skedarin që verifikuesi lexon vërtet
Lista duhet të gjenerohet nga regjistri i autoritetit dhe pastaj të kopjohet në çdo makinë që verifikon certifikata. Gjenerimi i saj në hostin CA dhe mosinstalimi kurrë në server është dështimi më i zakonshëm, dhe duket saktësisht si një funksion revokimi i prishur.
ca ca.crt
cert server.crt
key server.key
crl-verify /etc/openvpn/crl.pem
Dy detaje vendosin nëse skedari lexohet vërtet. Një shteg relativ zgjidhet ndaj drejtorisë së konfigurimit, kështu që një kopje e lënë në shtëpinë e një operatori mund të mos gjendet kurrë. Dhe daemoni zakonisht heq dorë nga privilegjet pas nisjes, kështu që llogaria e ekzekutimit ka nevojë për leje kërkimi në çdo drejtori prind dhe leje leximi në skedar. Kontrolloni të dyja me llogarinë e ekzekutimit dhe jo me root, përndryshe testi provon gjënë e gabuar.
Në hostet systemd një njësi e forcuar mund të fshehë gjithashtu shtegun, me një pamje vetëm për lexim ose një drejtori të mbrojtur të sistemit. Nga brenda shërbimit kjo nuk dallohet nga një skedar që mungon, prandaj kontrolloni kufizimet e njësisë përpara se të kërkoni një gabim lejesh. Lexoni skedarin e njësisë përpara se të fajësoni mënyrën e skedarit.
Konfirmoni në server, jo në klient
Regjistri i serverit emërton çfarë ndodhi: hapja e listës, ngarkimi i saj ose verifikimi i dështuar me numrin serial të revokuar. Klienti raporton vetëm një dështim të përgjithshëm shtrëngimi duarsh, prandaj regjistrat e klientit janë një vend i keq për të kërkuar një vendim revokimi.
Verifikoni me një përpjekje të re nga profili i revokuar dhe pastaj ndaloni. Një lidhje e suksesshme nga ai profil është sinjali për të inspektuar shtegun e skedarit dhe llogarinë e ekzekutimit, jo për të supozuar se lista ishte e gabuar. Mbani atë përpjekje të suksesshme si test pranimi, dhe mos numëroni një rilidhje që nuk e vëzhguat.
Çfarë nuk revokon asgjë
Fshirja e profilit nga një laptop, heqja e skedarit të certifikatës nga klienti ose thënia përdoruesit të ndalojë lidhjen nuk ndryshon asgjë në server. Certifikata mbetet e vlefshme derisa autoriteti regjistron revokimin dhe verifikuesi lexon listën që rezulton.
Kjo është arsyeja pse zinxhiri ia vlen të shkruhet: regjistroni revokimin, gjeneroni dhe nënshkruani listën, shpërndani pikërisht atë skedar, dhe konfirmoni se llogaria e shërbimit mund ta lexojë atë. Çdo hallkë është e shkurtër, dhe cilado që mungon lë një klient të revokuar të lidhet gëzueshëm. Një listë kontrolli me katër rreshta mund një supozim pa asnjë.