Odvolanie nikdy neprenikne do bežiaceho tunela, aby vymazalo reláciu. Zoznam je vstup do overenia certifikátu a číta sa počas výmeny riadiaceho kanála, ktorá začína reláciu TLS. Táto jediná skutočnosť vysvetľuje obe prekvapenia: odvolaný klient sa znova pripojí, pretože zoznam sa k overovateľovi nikdy nedostal, a existujúca relácia prežíva, pretože nikto nič znova neoveril.

Zoznam je vstup, nie akcia

Počas nadväzovania relácie server overuje klientsky certifikát voči svojim dôveryhodným koreňom a direktíva odvolania k tomuto rozhodnutiu pridáva vyhľadanie v zozname. Kontrola prebieha na serveri, takže klient nemôže vidieť, že jeho certifikát bol odvolaný, a naďalej ponúka ten istý. Profil, ktorý sa stále pripája, teda dokazuje len to, že nejaký overovateľ reťazec prijal, nie že odvolanie zlyhalo.

Zoznam je sám podpísaný objekt s dátumom vydania a dátumom nasledujúcej aktualizácie. Nesúvisiaci zoznam, zoznam podpísaný inou autoritou alebo ten, ktorého dátum nasledujúcej aktualizácie už uplynul, nie je náhradou za aktuálny a to, či sa zastaraný zoznam odmietne, alebo ticho prijme, závisí od nasadenia.

Nové pripojenie verzus bežiaca relácia

Odvolanie sa vyhodnocuje pri nadviazaní alebo opätovnom vyjednaní relácie, nie voči dátovému kanálu pri každom pakete. Klient, ktorý je už pripojený, drží prevádzkové kľúče, a tak naďalej prepúšťa pakety aj po tom, čo sa jeho certifikát objaví v zozname. Predvolený interval opätovného vyjednania sa meria v hodinách, a preto môže aktualizovaný zoznam platiť pre nových, zatiaľ čo bežiaci tunel zostáva.

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

Okamžité vynútenie si vyžaduje zámerný krok, nie len zoznam. Reštart služby prinúti každého klienta znova sa pripojiť, zatiaľ čo ukončenie jednej relácie cez rozhranie správy nechá ostatné nedotknuté. Zvoľte pre každý incident jedno a poznačte si, ktoré ste použili. Obe možnosti majú iný dosah a to je skutočné rozhodnutie.

Doručte súbor, ktorý overovateľ skutočne číta

Zoznam sa musí vygenerovať zo záznamu autority a potom skopírovať na každý stroj, ktorý overuje certifikáty. Vygenerovať ho na hostiteľovi CA a nikdy ho nenainštalovať na serveri je najčastejšie zlyhanie a vyzerá presne ako úplne pokazená funkcia odvolania.

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

O tom, či sa súbor skutočne číta, rozhodujú dva detaily. Relatívna cesta sa vyhodnocuje voči konfiguračnému adresáru, takže kópia ponechaná v domovskom adresári operátora nemusí byť nikdy nájdená. A démon zvyčajne po spustení odloží oprávnenia, takže bežiaci účet potrebuje právo prehľadávať každý nadradený adresár a právo čítať súbor. Overte oboje pod bežiacim účtom, nie pod root, inak test dokáže nesprávnu vec.

Na hostiteľoch so systemd môže spevnená jednotka cestu tiež skryť, a to pohľadom len na čítanie alebo chráneným systémovým adresárom. Zvnútra služby to nemožno rozlíšiť od chýbajúceho súboru, takže sa najprv pozrite na obmedzenia jednotky, než začnete hľadať chybu v oprávneniach. Prečítajte si súbor jednotky, než obviníte režim súboru.

Potvrďte to na serveri, nie na klientovi

Serverový log pomenuje, čo sa stalo: otvorenie zoznamu, jeho načítanie alebo zlyhanie overenia s odvolaným sériovým číslom. Klient hlási len všeobecné zlyhanie ruky, a preto sú klientske logy zlým miestom na hľadanie rozhodnutia o odvolaní.

Overte to novým pokusom z odvolaného profilu a potom prestaňte. Úspešné pripojenie z tohto profilu je signálom preskúmať cestu k súboru a bežiaci účet, nie predpokladať, že zoznam bol nesprávny. Ponechajte tento úspešný pokus ako akceptačný test a nepočítajte opätovné pripojenie, ktoré ste nesledovali.

Čo nič neodvolá

Vymazanie profilu z notebooku, odstránenie súboru certifikátu z klienta alebo pokyn používateľovi, aby sa prestal pripájať, na serveri nič nezmení. Certifikát zostáva platný, kým autorita odvolanie nezaznamená a overovateľ neprečíta výsledný zoznam.

Preto sa ten reťazec oplatí zapísať: zaznamenajte odvolanie, vygenerujte a podpíšte zoznam, rozšírte práve tento súbor a potvrďte, že ho servisný účet dokáže prečítať. Každý článok je krátky a ktorýkoľvek chýbajúci nechá odvolaného klienta veselo sa pripájať. Kontrolný zoznam o štyroch riadkoch je lepší než predpoklad o žiadnom.

Súvisiace články