Ponovno izdavanje certifikata za prijenosno računalo pod istim zajedničkim imenom izgleda kao zamjena i svi pretpostavljaju da je stari mrtav. Nije. Prethodnik ostaje važeći certifikat koji je potpisalo isto tijelo, i svaka kontrola koja prima klijente po imenu nastavit će ga primati. Ono što razlikuje provjeru identiteta od provjere akreditiva jest serijski broj, i tu pripada popravak.

Počnite s politikom imenovanja koju koristi poslužitelj

Dvije kontrole se brkaju: primanje klijenta zbog toga za koga se predstavlja i uklanjanje jednog određenog certifikata iz upotrebe. Prva je provjera imena, druga je provjera opoziva. One odgovaraju na različita pitanja, a implementacija može imati jednu bez druge.

Pročitajte konfiguraciju poslužitelja i zabilježite koji je izvor identiteta u igri. username-as-common-name čini autentificirano korisničko ime efektivnim imenom za pretrage specifične za klijenta. Bez toga se koristi zajedničko ime subjekta iz certifikata. Kakav god bio odgovor, zapišite ga prije nego što dirnete bilo koju listu dozvoljenih.

Dva puta daju različit skup dozvoljenih imena za isti certifikat. Nagađanje ovdje znači uređivanje pogrešne datoteke i zaključak da kontrola ne radi.

Provjerite šta zapravo prima klijenta

Direktiva client-config-dir s odgovarajućom datotekom pruža opcije po klijentu; sama po sebi nije pravilo prijema. Prijem po imenu zahtijeva ccd-exclusive, koja odbija klijente koji nemaju odgovarajuću datoteku. Uključivanje toga na živom postavljanju isključuje svakoga čije ime nema datoteku, pa prebrojite datoteke prije nego što bilo što prebacite.

grep -nE 'ccd-exclusive|client-config-dir|username-as-common-name' /etc/openvpn/server/server.conf
ls -1 /etc/openvpn/ccd/

Broj je provjera: uporedite sadržaj direktorija s identitetima za koje očekujete da će se povezati.

Zatim potvrdite da svako ime datoteke tačno odgovara efektivnom identitetu, uključujući velika i mala slova i razmake. Datoteka za office-laptop ne radi ništa za certifikat čiji subjekt glasi Office-Laptop. Razmaci na kraju također se skrivaju od običnog popisa, i tako datoteka koja izgleda prisutno ostaje nepročitana.

Provjerite CRL koji učitava pristupnik

CRL navodi opozvane certifikate po izdavaocu i serijskom broju, što je razina detalja koja provjeri imena nedostaje. Dva certifikata mogu dijeliti zajedničko ime i razlikovati se po serijskom broju, a samo ih popis na razini serijskog broja razdvaja.

Potvrdite konfiguriranu putanju, datum izdavanja i polje sljedećeg ažuriranja prije nego što uopće povjerujete datoteci.

openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
openssl x509 -in office-laptop.crt -noout -serial -subject

Uporedite serijski broj u CRL-u sa serijskim brojem na certifikatu koji namjeravate zadržati. To poređenje je cijeli test, a obaviti ga jednom okom vrijedi više nego vjerovati skripti koju nitko nije pročitao. Distribuirajte ažurirani CRL putanjom koju pristupnik već čita. CRL u pogrešnom direktoriju ništa ne provodi i nijedan klijentski dnevnik to neće spomenuti.

Zamijenite, zatim dokažite oba ishoda

Izdajte zamjenu pod istim zajedničkim imenom, zabilježite oba serijska broja i tek onda opozovite stari. Taj redoslijed održava radni identitet dostupnim dok pripremate promjenu.

Prvo testirajte zamjenu: trebala bi se autentificirati i dosegnuti sve na što njeno ime ima pravo. Zatim testirajte stari certifikat i potvrdite da je odbijen, jer uspješna zamjena ne govori ništa o opozivu. Ako se oba još povezuju, ulaz opoziva se ne čita ili stari serijski broj nikada nije bio na popisu. Ako se nijedan ne povezuje, slomili ste pravilo prijema, a ne akreditiv.

Već uspostavljene sesije su odvojena stvar, jer se opoziv primjenjuje na nove autentifikacije osim ako pristupnik nije konfiguriran i da prekida žive veze. Odlučite je li potrebno trenutačno uklanjanje prije nego što to ikome obećate.

Šta provjera imena nikada ne može

Lista dozvoljenih odgovara smije li se taj identitet povezati. Ne može reći koji je certifikat taj identitet koristio i primat će stariji akreditiv sve dok akreditiv ostaje važeći i neopozvan. Ta praznina izbija tijekom incidenta, kada je zamjena izdana prije mjeseci, a prethodnik još radi.

Gdje je potrebna kontrola na razini certifikata, upotrijebite mehanizam koji imenuje certifikat: unose u CRL-u ili hook za provjeru koji provjerava otisak koji operator održava. Oba zahtijevaju održavanje i oba su iskrena u pogledu objekta koji ispituju. Priručnik OpenVPN 2.6 dokumentira crl-verify i prijem specifičan za klijenta kao odvojene opcije upravo zato.

Zapišite koja kontrola obavlja koji posao, zatim testirajte negativan slučaj. Opoziv koji nikada niste vidjeli da odbija vezu jest konfiguracija za koju se nadate da radi.

Povezani članci