Dlaczego dwa certyfikaty OpenVPN mogą dzielić jedną politykę CCD
Numer seryjny nie jest nazwą użytkownika VPN. Zarezerwuj nazwę pospolitą, którą twój serwer faktycznie mapuje, w każdej akceptowanej CA, zanim podpiszesz następny.
CA może podpisać dwa certyfikaty, które otrzymują tę samą OpenVPN konfigurację specyficzną dla klienta, i nic w żadnym z nich nikogo nie ostrzega. Numery seryjne się różnią, klucze się różnią, a pełne podmioty też się różnią, gdy tylko zmieni się jednostka organizacyjna. Serwer ustala politykę dla każdego klienta przez jedną nazwę, i ta nazwa jest jedyną rzeczą, która musi być unikalna.
Serwer ustala nazwę, a nie numer seryjny
Przy zwykłym wyszukiwaniu certyfikatu serwer bierze nazwę pospolitą z przedstawionego certyfikatu i szuka wpisu client-config-dir o tej nazwie. Numer seryjny nigdy nie trafia do wyszukiwania. Dwa certyfikaty różniące się we wszystkich polach poza nazwą pospolitą trafiają do tego samego pliku, więc drugie połączenie dziedziczy stały adres i wypchnięte trasy pierwszego urządzenia.
W ten sposób kontrola unikalności po stronie CA przechodzi, a VPN wciąż koliduje. Obie kontrole odpowiadają na różne pytania.
Zdecyduj, jaka ma być nazwa efektywna, zanim cokolwiek podpiszesz, i zapisz ją obok urządzenia lub konta, do którego należy. Rejestr nazwy, właściciela, celu i odcisku certyfikatu obejmuje większość wdrożeń. Bez niego archiwum certyfikatów jest jedynym zapisem, która nazwa należy do którego urządzenia, a to archiwum nie odróżni autoryzowanej wymiany od drugiego urządzenia roszczącego sobie istniejącą nazwę. Zarezerwuj nazwę przy rejestracji, pod blokadą, jeśli dwóch operatorów może wystawiać jednocześnie.
Której nazwy mapowanie faktycznie używa
Zwykłe wyszukiwanie certyfikatu używa nazwy pospolitej. Serwer skonfigurowany do mapowania uwierzytelnionej nazwy użytkownika używa zamiast tego tej wartości, co czyni nazwę pospolitą certyfikatu nieistotną dla wyboru polityki. Przeczytaj działającą konfigurację, aby zobaczyć, które mapowanie obowiązuje.
Oba mapowania mogą występować jednocześnie, a wtedy wynik zależy od kolejności, w jakiej serwer je rozstrzyga. Mapowanie nazwy użytkownika, które cofa się do nazwy pospolitej, po cichu zaakceptuje certyfikat, którego rejestr nigdy nie zatwierdził. Zapisz nazwę efektywną obok polecenia, które ją wytworzyło, aby następny operator nie musiał odkrywać kolejności na nowo. Przetestowanie jednego połączenia na mapowanie jest tanie i rozstrzyga sprawę.
Cokolwiek wytworzy mapowanie, to jest wartość do zarezerwowania. Rezerwowanie nazw pospolitych w CA, gdy serwer opiera się na nazwach użytkowników, rezerwuje niewłaściwą rzecz.
Dwie CA mogą zatwierdzić tę samą nazwę
Usługa VPN może ufać więcej niż jednemu wystawcy, a każdy wystawca ma własne wyobrażenie o tym, które nazwy są zajęte. Dwie niezależne CA mogą obie zatwierdzić tę samą nazwę pospolitą dla różnych urządzeń, a serwer przyjmuje oba certyfikaty bez skargi. Zinwentaryzuj każdego wystawcę w pakiecie zaufania, nie tylko tego, z którego zwykle wystawiasz. Awaria pojawia się przy pierwszym użyciu certyfikatu drugiego wystawcy.
To samo rozumowanie dotyczy CA, która wymusza unikalność pełnego podmiotu, a nie unikalność nazwy pospolitej.
Dwa certyfikaty dzielące nazwę pospolitą, ale różniące się jednostką organizacyjną, mają różne podmioty, więc CA nie zgłasza konfliktu, podczas gdy serwer widzi jedną nazwę. Sprawdź ustawienie, którego twoje narzędzie wystawiające faktycznie używa, zamiast zakładać wartość domyślną. To obsługa unique_subject w dokumentacji openssl ca jest tam odpowiednią dźwignią, a nakładki wokół tego narzędzia zwykle ją udostępniają, zamiast ją zastępować.
Odnowienie to zarezerwowane ponowne użycie, a nie kolizja
Odnowienie, które zachowuje nazwę, jest świadomym ponownym użyciem, i rejestr powinien to powiedzieć prostymi słowami. Zapisz stary odcisk i nowy pod jedną nazwą, aby recenzent mógł odróżnić wymianę od przejęcia. Opcja duplicate-cn serwera jest niepowiązana: reguluje sesje równoczesne, a nie rejestrację czy rezerwacje nazw. Zdecyduj, jak długo oba poświadczenia mogą istnieć i kiedy stare przestaje być akceptowane.
Zanim przekażesz wymianę, odczytaj, co certyfikat naprawdę zawiera. Wiersz podmiotu to pole, które serwer zmapuje, cokolwiek sugeruje nazwa pliku.
openssl x509 -in device42.crt -noout -subject -serial -issuerUnieważnienie zwykle identyfikuje certyfikat pod jego wystawcą, więc wycofanie jednego numeru seryjnego nie wpływa na poprawnie wystawioną wymianę od tego samego wystawcy. Właśnie takiego zachowania potrzebuje czyste odnowienie, i właśnie dlatego unieważnienie nie może posprzątać nazwy współdzielonej przez dwa urządzenia. Zweryfikuj efektywną nazwę polityki i przydzielony adres na połączeniu testowym, zanim użytkownik zobaczy urządzenie. Następnie celowo wycofaj stare poświadczenie i zapisz, że to zrobiłeś.