Egy közös név, két tanúsítvány: engedélyezési lista vagy visszavonás?
Ugyanarra a közös névre kiadott új tanúsítvány érvényben hagyja a régit. A névengedélyezési lista nem tudja megkülönböztetni őket; csak egy CRL vagy a sorozatszám-ellenőrzés képes erre.
Ugyanazon közös név alatt újra kiadni egy laptop-tanúsítványt cserének tűnik, és mindenki azt feltételezi, hogy a régi halott. Nem az. Az előd érvényes tanúsítvány marad, ugyanaz a hatóság írta alá, és minden olyan vezérlés, amely név szerint fogad el klienseket, továbbra is elfogadja. Az identitásellenőrzést a hitelesítőadat-ellenőrzéstől a sorozatszám választja el, és a javításnak ott kell lennie.
Kezdje a szerver által használt elnevezési szabályzattal
Két vezérlést kevernek össze: egy kliens elfogadását az alapján, hogy kinek mondja magát, és egy konkrét tanúsítvány szolgálatból való kivonását. Az első névellenőrzés, a második visszavonás-ellenőrzés. Különböző kérdésekre válaszolnak, és egy telepítésnél lehet az egyik a másik nélkül.
Olvassa el a szerver konfigurációját, és jegyezze fel, melyik identitásforrás van játékban. username-as-common-name teszi a hitelesített felhasználónevet a kliensspecifikus keresések tényleges nevévé. Enélkül a tanúsítvány tárgyának közös nevét használják. Bármi is a válasz, írja le, mielőtt bármelyik engedélyezési listához nyúlna.
A két útvonal különböző engedélyezett névkészletet ad ugyanahhoz a tanúsítványhoz. Itt a találgatás azt jelenti, hogy a rossz fájlt szerkeszti, és arra jut, hogy a vezérlés nem működik.
Ellenőrizze, mi fogadja el valójában a klienst
Egy client-config-dir egyező fájllal kliensenkénti beállításokat biztosít; önmagában nem elfogadási szabály. A név szerinti elfogadáshoz szükséges a ccd-exclusive, amely elutasítja azokat a klienseket, akiknek nincs egyező fájljuk. Ennek engedélyezése éles telepítésen mindenkit leválaszt, akinek a nevéhez nincs fájl, ezért számolja meg a fájlokat, mielőtt bármit átkapcsol.
grep -nE 'ccd-exclusive|client-config-dir|username-as-common-name' /etc/openvpn/server/server.conf
ls -1 /etc/openvpn/ccd/A darabszám az ellenőrzés: hasonlítsa össze a könyvtár listáját azokkal az identitásokkal, amelyeket vár.
Ezután erősítse meg, hogy minden fájlnév pontosan megfelel a tényleges identitásnak, beleértve a kis- és nagybetűket és a szóközöket. A következőhöz tartozó fájl: office-laptop semmit nem tesz egy olyan tanúsítványért, amelynek tárgya Office-Laptop. Ez a szóközök elrejtőznek egy egyszerű lista elől is, és így egy létezőnek tűnő fájl olvasatlan marad.
Ellenőrizze az átjáró által betöltött CRL-t
A CRL a visszavont tanúsítványokat kibocsátó és sorozatszám szerint nevezi meg, ez az a részletesség, amely a névellenőrzésből hiányzik. Két tanúsítvány oszthat közös nevet, és különbözhet sorozatszámban, és csak egy sorozatszám szintű lista választja el őket.
Erősítse meg a beállított útvonalat, a kiállítás dátumát és a következő frissítés mezőjét, mielőtt egyáltalán megbízna a fájlban.
openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
openssl x509 -in office-laptop.crt -noout -serial -subjectHasonlítsa össze a CRL-ben lévő sorozatszámot a megtartani kívánt tanúsítvány sorozatszámával. Ez az összehasonlítás az egész teszt, és egyszer szemmel elvégezni többet ér, mint egy olyan szkriptben megbízni, amelyet senki nem olvasott el. Ossza szét a frissített CRL-t azon az útvonalon, amelyet az átjáró már olvas. A rossz könyvtárban lévő CRL semmit nem kényszerít ki, és egyetlen kliensnapló sem említi.
Cserélje ki, majd bizonyítsa mindkét eredményt
Adja ki a cserét ugyanazon közös név alatt, jegyezze fel mindkét sorozatszámot, és csak ezután vonja vissza a régit. Ez a sorrend működő identitást tart elérhetővé, miközben a változást előkészíti.
Először a cserét tesztelje: hitelesítenie kell magát, és el kell érnie mindazt, amire a neve jogosult. Ezután tesztelje a régi tanúsítványt, és erősítse meg, hogy elutasítják, mert egy sikeres csere semmit nem mond a visszavonásról. Ha mindkettő továbbra is csatlakozik, a visszavonási bemenetet nem olvassák, vagy a régi sorozatszám soha nem került listára. Ha egyik sem csatlakozik, az elfogadási szabályt törte meg, nem a hitelesítő adatot.
A már létrehozott munkamenetek külön kérdés, mivel a visszavonás az új hitelesítésekre vonatkozik, kivéve, ha az átjáró arra is be van állítva, hogy eldobja az élő kapcsolatokat. Döntse el, szükséges-e az azonnali eltávolítás, mielőtt bárkinek megígéri.
Amit a névellenőrzés soha nem tud megtenni
Az engedélyezési lista megválaszolja, hogy ez az identitás csatlakozhat-e. Nem tudja megmondani, melyik tanúsítványt használta ez az identitás, és elfogad egy régebbi hitelesítő adatot, amíg az érvényes és nem visszavont marad. Ez a rés akkor kerül felszínre egy incidens során, amikor a cserét hónapokkal korábban adták ki, és az előd még mindig működik.
Ahol tanúsítvány szintű vezérlés szükséges, használjon olyan mechanizmust, amely megnevezi a tanúsítványt: CRL-bejegyzések, vagy egy ellenőrző hook, amely az üzemeltető által karbantartott ujjlenyomatot ellenőrzi. Mindkettő karbantartást igényel, és mindkettő őszinte az általa vizsgált objektummal kapcsolatban. A OpenVPN 2.6 kézikönyv dokumentálja crl-verify és a kliensspecifikus elfogadást külön beállításokként, éppen ezért.
Írja le, melyik vezérlés melyik feladatot látja el, majd tesztelje a negatív esetet. Az a visszavonás, amelyet soha nem látott kapcsolatot elutasítani, olyan konfiguráció, amelyről reméli, hogy működik.