Két OpenVPN-tanúsítvány, egy CCD-név: mi ment félre
A sorozatszám csak a kibocsátóján belül egyedi, míg az OpenVPN a CCD-fájlt név alapján választja ki. Foglalja le ezt a tényleges nevet a regisztrációnál, és ellenőrizze a megújítást.
Két ügyféltanúsítvány eltérő sorozatszámmal, eltérő kulcsokkal és akár eltérő teljes tárgyakkal is ugyanahhoz a házirend-fájlhoz vezethet, mert a kiszolgáló ezek közül semmit nem néz. Kiolvas egy nevet a tanúsítványból, és megnyitja a hozzá tartozó ügyfél-konfigurációs fájlt. Ha mindkét tanúsítvány ugyanazt a nevet viseli, a második abban a pillanatban örökli az első házirendjét, amikor csatlakozik.
Az ütközés a regisztrációnál keletkezik, és csak csatlakozáskor derül ki, általában akkor, amikor egy eszköz egy másik géphez tartozó címet vagy útvonal-készletet kap. Megelőzéséhez meg kell állapodni abban, melyik mezőt képezi le a kiszolgáló, majd le kell foglalni ezt az értéket, mielőtt bármit aláírnak.
A tanúsítványkezelő eszközök nem figyelmeztetik Önt, mert az X.509-en belüli egyediség és az OpenVPN-házirendnév egyedisége különböző követelmények, amelyeket különböző rendszerek kényszerítenek ki.
A kiszolgáló nevet keres, nem ujjlenyomatot
A szokásos tanúsítványalapú leképezésnél a kiszolgáló a bemutatott tanúsítványból veszi a köznapi nevet, és az ügyfél-konfigurációs könyvtárában keres egy ilyen nevű fájlt. Ez a fájl statikus címet rögzíthet, útvonalakat küldhet, vagy ügyfelenkénti tűzfajelöléseket alkalmazhat. A keresés karakterlánc-egyeztetés egy fájlnévvel, ezért a kis- és nagybetűk, a szóközök és az írásjelek is számítanak.
Egyes telepítések szándékosan megcserélik a leképezést, hogy egy hitelesített felhasználónév vegye át a köznapi név szerepét, és akkor a felhasználónévnek kell egyedinek lennie. Bármelyik eset áll fenn, a házirendet kiválasztó érték az az érték, amelyet lefoglal. Döntse el, melyik az, mielőtt bármit kiadna; az ütközés utáni találgatás többe kerül, mint a kérdés.
Ahol két hatóság ugyanarra a névre jut
Az a szervezet, amely egynél több kibocsátó hatóság tanúsítványait fogadja el, két független regisztrációs folyamatot működtet, amelyek egy névtérbe írnak. Minden hatóság saját egyediségi szabályai a hatóságon belül érvényesek, így mindkettő jogszerűen kibocsáthat ugyanarra a köznapi névre anélkül, hogy bármelyik észrevenne valami hibásat.
A sorozatszámok nem segítenek. Az X.509 előírja, hogy a sorozatszám a kibocsátója hatókörén belül egyedi legyen, ami e hatóság nyilvántartásának tulajdonsága, nem pedig globális eszközazonosító. A tárgy ellenőrzése is más vizsgálat, mint a köznapi név ellenőrzése: két tanúsítvány osztozhat egy CN-en, miközben szervezeti egységben eltér, és ezért különböző tárgyakat hordoz. E tulajdonságok mindegyike teljesülhet, miközben a kiszolgáló továbbra is ugyanarra a fájlnévre képezi le mindkét tanúsítványt.
Az OpenSSL CA dokumentációja a unique_subject beállítást tárgyalja, amely a saját adatbázisa véleményét irányítja, és a tisztességes kiindulópont a kibocsátó konfiguráció elolvasása, nem pedig annak feltételezése, hogy valamely konkrét EasyRSA- vagy OpenSSL-alapértelmezés érvényes.
Az aláírás előtt foglalja le a tényleges nevet
Vezessen olyan nyilvántartást, amely egy eszközt a jóváhagyott rekordjához, onnan pedig egy pontos házirend-fájlnévhez rendel, hogy egy nevet egyszer osszanak ki, és az kiutalva is maradjon. A foglalásnak atomikusnak kell lennie, ami a gyakorlatban adatbázis-megkötést vagy zárat jelent a kiosztás-majd-aláírás lépése körül, nem pedig egy két ember által szerkesztett táblázatot.
Ezután tegye az ellenőrzést a kibocsátás részévé: tagadja meg az aláírást, ha a kért név már létezik, és vonjon be az ellenőrzésbe minden hatóságot, amelyben a kiszolgáló megbízik, mert a másik hatóság által lefoglalt név ugyanúgy foglalt. Az egyértelmű indoklással elutasított kérés olcsóbb, mint egy jegy arról az eszközről, amely folyton valaki más statikus címét kapja.
A megújítás szándékosan újrahasznál egy nevet
Egy meglévő eszköz újrakibocsátása új sorozatszámot eredményezzen ugyanazon házirend-név alatt, és ez jogszerű újrahasználat, nem ütközés. Amit előre el kell dönteni, az az átfedés: lehet-e a régi és az új tanúsítvány egyidejűleg érvényes, és hogyan vonják vissza a régi hitelesítő adatot.
Ne nyúljon a duplicate-cn beállításhoz, hogy ezt megoldja. Az a kiszolgálóbeállítás az ugyanazt a nevet bemutató egyidejű kapcsolatokat szabályozza; nem zárja le a regisztrációt, és bekapcsolása nem teszi biztonságossá egy megosztott statikus címet két gép számára egyszerre. A visszavonás általában kibocsátó és sorozatszám alapján azonosítja a tanúsítványt, így a régi hitelesítő adat visszavonása nem kell érvénytelenítse a helyettesét, amennyiben a kiszolgáló megkapja és érvényesíti a helyes visszavonási adatokat.
Erősítse meg a leképezést a gépen lévő eszközökkel
Mielőtt átadja egy eszköznek az új hitelesítő adatát, olvassa ki a nevet a tanúsítványból úgy, ahogy a kiszolgáló fogja, majd hasonlítsa össze azzal a házirend-fájllal, amelyet kiválasztani vár.
openssl x509 -in device42.crt -noout -subject -nameopt sep_multiline
ls -l /etc/openvpn/ccd/device42
grep -n "duplicate-cn" /etc/openvpn/server.conf
Az első parancs külön nyomtatja a tárgy mezőit, ami azonnal láthatóvá tesz egy elkóborolt szervezeti egységet vagy egy megkettőzött szóközt. A második megerősíti, hogy pontosan ezen a néven létezik házirend-fájl, a harmadik pedig megmutatja, hogy a kiszolgáló engedélyezi-e több munkamenet használatát egy néven. Futtassa mindhármat egy friss tanúsítványon, mielőtt az elhagyja a regisztrációs lépést, amíg egy hiba még aláírásba kerül, nem incidensbe. Őrizze meg a kimenetet a jegy mellett, hogy a következő ember lássa, milyen nevet kapott valójában a kiszolgáló.
Fejezze be egy valódi kapcsolattal, és hasonlítsa össze a kiosztott címet és a küldött útvonalakat a házirend-fájllal, ne azzal, amit írni szándékozott. Ha két eszköz ugyanazt a statikus címet jelenti, a nyilvántartásban olyan ütközés van, amelyet semmilyen tanúsítványvizsgálat nem tár fel soha.