Visszavont VPN-tanúsítvány még mindig csatlakozik? Ellenőrizd a CRL érvényesítését
A visszavont tanúsítványok továbbra is csatlakoznak, ha a CRL soha nem jut el az ellenőrzőhöz. Ellenőrizd ebben a sorrendben a kibocsátót, a betöltött sorszámot, az újratöltés viselkedését és az aktív munkameneteket.
Visszavontad a tanúsítványt, új listát generáltál, és a régi profil mégis felépít egy alagutat. Maga a visszavonás nem hibás: a CRL egy aláírt nyilatkozat arról, hogy egy sorszám már nem érvényes, és csak akkor változtatja meg a hozzáférést, amikor a TLS-t lezáró komponens betölti, a megfelelő kibocsátóhoz, mielőtt meghozza az elfogadási döntést. Itt van a legtöbb ilyen eset, és ezért a visszavonás és az elutasítás két külön tény.
Haladj végig az alábbi öt ellenőrzésen sorban, és állj meg az elsőnél, amelyik nem teljesül, mert minden későbbi ellenőrzés az előzőek igazságát feltételezi.
Ellenőrizd, melyik komponens hozza meg az elfogadási döntést
Nevezd meg a folyamatot, amely érvényesíti az ügyféltanúsítványt, mert csak az a folyamat tud érvényt szerezni egy listának. Egy OpenVPN-kiszolgálón maga a daemon, crl-verify beállítással. Az ocservnél a crl sor a ocserv.conf fájlban. A strongSwan esetében a bemenetek a betöltött CRL-ek a strictcrlpolicy mellett. A VPN előtti TLS-t lezáró proxy vagy készülék is lehet a valódi ellenőrző, és ha az, akkor a mögötte lévő daemon soha nem látja az ügyféltanúsítványt.
A WireGuard más kategóriába tartozik. Nincsenek tanúsítványai és nincs visszavonási listája; egy peer a konfigurációban szereplő nyilvános kulcsa alapján kerül be, tehát a hozzáférés megszüntetése azt jelenti, hogy eltávolítjuk azt a kulcsot. Ha csak WireGuardot használó telepítésben keresel CRL-t, az a mechanizmus nincs ott.
Figyelj az ügyféloldali csapdára is. Az az ügyfél, amely azért tagadja meg a kapcsolatot, mert nem tetszik neki a kiszolgáló tanúsítványa, a kiszolgáló láncát érvényesíti, nem a saját hitelesítő adatát vonja vissza. A felhasználói tanúsítvány csak ott vonható vissza, ahol azt a felhasználói tanúsítványt érvényesítik, és ez szinte mindig a kiszolgáló oldala.
Ellenőrizd, melyik kibocsátó számára írták alá a listát
A CRL egyetlen kibocsátó CA-ra korlátozódik. Gyökér és köztes esetén a levéltanúsítványok a köztesből származnak, tehát a számító lista a köztes CRL-je; a gyökér listája semmit nem mond ezekről a levelekről. Az az ellenőrző, amelyet rossz fájlra irányítanak, vígan elemzi, nem talál egyező bejegyzést, és mindent elfogad.
Erősítsd meg a párosítást, mielőtt hozzányúlsz a daemonhoz. A tanúsítványon szereplő kibocsátónak meg kell egyeznie a lista subjectjével:
openssl x509 -in client.crt -noout -issuer -serial
openssl crl -in intermediate.crl -noout -issuer -lastupdate -nextupdateHa mindkettő ugyanattól a CA-tól származik, a tanúsítványhoz nyomtatott sorszám az az érték, amelynek meg kell jelennie a listán. Ha nem egyeznek, rossz CRL-t vagy annak rossz példányát tartod.
Az érvényesség ugyanahhoz az ellenőrzéshez tartozik. Egy múltbeli nextUpdate elavulttá teszi a listát, és a zártan meghibásodó ellenőrző ekkor minden ügyfelet elutasít, nem csak a visszavontat.
Ellenőrizd, hogy a sorszám abban a példányban van-e, amelyet a daemon betöltött
A visszavonás bejegyzést ír a CA adatbázisába, az újragenerálás pedig új fájlt ír. Egyik művelet sem ér el egy futó daemont, amely a régi példányt töltötte be indításkor. Dumpold a listát, és keresd a sorszámot:
openssl crl -in intermediate.crl -noout -text | grep -i -A2 'Serial Number'
openssl ca -revoke client.crt
openssl ca -gencrl -out intermediate.crlUtána ellenőrizd, hogyan veszi fel a fájlt a megvalósításod. Az OpenVPN a crl-verify kapott útvonalat egyszer olvassa be indításkor, tehát egy új listához újraindítás vagy újraindítási jelzés kell; ugyanez az opció könyvtárra irányítva minden kapcsolatnál újraolvasódik, és ezért létezik a könyvtármód. A strongSwannak újra kell töltenie a hitelesítő adatait, például a swanctl --load-creds segítségével. Az, hogy a lemezen lévő fájl helyes, és az, hogy az ellenőrző használja, két külön tény.
Ellenőrizd a hiányzó vagy lejárt listára vonatkozó szabályt
Ez az a döntés, amelyet sok telepítés soha nem hoz meg kifejezetten, és ez dönti el, hogy a visszavonás véd-e téged, vagy mindenkit kizár. A fail-closed azt jelenti, hogy használható visszavonási információ nélkül elutasítás történik; a fail-open azt jelenti, hogy az ellenőrző enélkül is továbbmegy. A strongSwan a strictcrlpolicy néven teszi elérhetővé a választást. Az OpenVPN a crl-verify beállítással megtagadja az indulást olyan fájlon, amelyet nem tud beolvasni vagy elemezni, és a lejárt lista a lejárt CRL-re vonatkozó TLS-ellenőrzési hibaként jelenik meg, nem csendes elfogadásként.
| State of the revocation data | Fail-closed result | Fail-open result |
|---|---|---|
| List missing or unreadable | Verification fails, so expect an outage | Every client connects, including the revoked one |
List past nextUpdate | Validation errors until a fresh list is deployed | Old status is trusted indefinitely |
| Revoked serial present in the loaded list | Handshake rejected for that certificate | Handshake rejected for that certificate |
Bármelyik irányt választod, az automatizálás többet számít, mint a választás: az a feladat, amely a nextUpdate előtt újragenerálja a CRL-t, és az a riasztás, amikor a telepített példány elöregszik, mindkét szabályt távol tartja attól, hogy incidenssé váljon. Az OCSP-vel végzett online ellenőrzés a válaszadóhoz helyezi át a frissességet, de ugyanaz a szabály érvényes, mert az az ellenőrző, amelyet nem állítottak be a válasz ellenőrzésére, nem változtat semmit.
Ellenőrizd az aktív munkamenetet, majd a kulcs példányait
A visszavonást a tanúsítvány érvényesítése során értékelik, amely a csatlakozáskor és az újratárgyaláskor történik. Egy létrejött munkamenet addig fut, amíg újra nem tárgyal, és az OpenVPN alapértéke óránként egyszer, reneg-sec 3600 beállítással. Ha a személynek most el kell hagynia a hálózatot, fejezd be a munkamenetet a lista közzététele mellett, majd erősítsd meg, hogy az újracsatlakozást elutasítják.
Válaszd külön a hitelesítő adatot a példányaitól. Egy profil törlése egy laptopon nem akadályozza meg ugyanazon privát kulcs másik példányát a hitelesítésben; a visszavonás az, ami minden példányt hasznavehetetlenné tesz, és csak akkor, amikor a korábbi ellenőrzések teljesülnek. Adj a cserekészüléknek saját tanúsítványt, hogy az egyik visszavonható legyen a másik érintése nélkül.
Mielőtt késznek nyilvánítod: az érvényesítő komponens azonosított, a lista kibocsátója megegyezik a levél kibocsátójával, a visszavont sorszám abban a példányban van, amelyet a daemon ténylegesen betöltött, a hiányzó vagy lejárt listákra vonatkozó szabály szándékos és felügyelt, és az aktív munkamenetet befejezték, nem pedig kivárták. Az egész mögötti formátumokat az RFC 5280 határozza meg.