Opozvan klijent se i dalje povezuje: lista nikada nije stigla
Opoziv je ulaz u provjeru certifikata, a ne naredba koja završava sesiju. Uporedite kako nova veza i tunel u radu vide listu.
Opoziv nikada ne ulazi u tunel koji radi da bi obrisao sesiju. Lista je ulaz u provjeru certifikata i čita se tokom razmjene kontrolnog kanala kojom počinje sesija TLS. Ta jedna činjenica objašnjava oba iznenađenja: opozvani klijent se ponovo povezuje jer lista nikada nije stigla do provjerivača, a postojeća sesija preživljava jer niko ništa nije ponovo provjerio.
Lista je ulaz, a ne radnja
Tokom uspostavljanja sesije server provjerava klijentski certifikat prema svojim sidrima povjerenja, a direktiva opoziva dodaje tom postupku pretragu liste. Provjera se dešava na serveru, pa klijent ne može vidjeti da mu je certifikat opozvan i nastavlja nuditi isti. Profil koji se i dalje povezuje time dokazuje samo da je neki provjerivač prihvatio lanac, a ne da je opoziv zakazao.
Sama lista je potpisani objekat sa datumom izdavanja i datumom sljedećeg ažuriranja. Nepovezana lista, lista koju je potpisalo drugo tijelo ili ona čiji je datum sljedećeg ažuriranja prošao nije zamjena za trenutnu, a od primjene zavisi da li se zastarjela lista odbija ili tiho prihvata.
Nova veza naspram sesije u radu
Opoziv se ocjenjuje kada se sesija uspostavlja ili ponovo pregovara, a ne prema podatkovnom kanalu na svakom paketu. Klijent koji je već povezan drži ključeve prometa, pa nastavlja propuštati pakete nakon što se njegov certifikat pojavi na listi. Podrazumijevani interval ponovnog pregovaranja mjeri se satima, pa ažurirana lista može stupiti na snagu za nove, dok tunel u radu ostaje.
| 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 |
Trenutno provođenje zahtijeva namjernu radnju, a ne samo listu. Restartovanje usluge prisiljava svakog klijenta da se ponovo poveže, dok prekidanje jedne sesije kroz upravljačko sučelje ostavlja ostale netaknutim. Izaberite jedno po incidentu i zabilježite koje ste upotrijebili. Dvije opcije imaju različit obuhvat i to je prava odluka.
Dostavite datoteku koju provjerivač zaista čita
Lista se mora generisati iz evidencije tijela i zatim kopirati na svaku mašinu koja provjerava certifikate. Generisati je na CA hostu i nikada je ne instalirati na serveru najčešći je kvar i izgleda upravo kao potpuno pokvarena funkcija opoziva.
ca ca.crt
cert server.crt
key server.key
crl-verify /etc/openvpn/crl.pem
Dva detalja odlučuju da li se datoteka zaista čita. Relativna putanja se razrješava prema direktoriju konfiguracije, pa kopija ostavljena u operaterovom home direktoriju možda nikada neće biti nađena. A demon obično odbaci privilegije nakon pokretanja, pa račun u radu treba dozvolu pretrage u svakom nadređenom direktoriju i dozvolu čitanja datoteke. Provjerite oboje s računom u radu, a ne s root, inače test dokazuje pogrešnu stvar.
Na systemd hostovima očvrsnuta jedinica može sakriti putanju, s prikazom samo za čitanje ili zaštićenim sistemskim direktorijem. Iz usluge se to ne razlikuje od nedostajuće datoteke, pa provjerite ograničenja jedinice prije nego što krenete tražiti grešku u dozvolama. Pročitajte datoteku jedinice prije nego što okrivite način rada datoteke.
Potvrdite na serveru, a ne na klijentu
Serverski dnevnik imenuje šta se dogodilo: otvaranje liste, njeno učitavanje ili neuspjeh provjere s opozvanim serijskim brojem. Klijent prijavljuje samo opći neuspjeh rukovanja, zato su klijentski dnevnici loše mjesto za traženje odluke o opozivu.
Provjerite svježim pokušajem s opozvanog profila i zatim stanite. Uspješna veza s tog profila signal je da pregledate putanju datoteke i račun u radu, a ne da pretpostavite da je lista bila pogrešna. Zadržite taj uspješni pokušaj kao prijemni test i ne računajte ponovno povezivanje koje niste gledali.
Šta ništa ne opoziva
Brisanje profila s prijenosnog računara, uklanjanje datoteke certifikata s klijenta ili reći korisniku da prestane se povezivati ne mijenja ništa na serveru. Certifikat ostaje valjan dok tijelo ne zabilježi opoziv i provjerivač ne pročita rezultirajuću listu.
Zato je lanac vrijedan zapisivanja: zabilježite opoziv, generišite i potpišite listu, distribuirajte upravo tu datoteku i potvrdite da je servisni račun može čitati. Svaka karika je kratka, a bilo koja koja nedostaje ostavlja opozvanog klijenta da se veselo povezuje. Kontrolna lista s četiri reda bolja je od pretpostavke bez ijednog.