Twój klient odrzuca certyfikat, którego łańcuch waliduje się poprawnie, a błąd mówi, że nazwa się nie zgadza. Ten komunikat nie dotyczy tego, kto podpisał certyfikat. Dotyczy rozszerzenia alternatywnych nazw podmiotu, które zawiera tożsamości, jakie certyfikat może reprezentować, oraz tego, czy skonfigurowana przez Ciebie tożsamość występuje tam w odpowiedniej formie. Zaufanie odpowiada na pytanie, kto go podpisał, a sprawdzenie nazwy — do którego hosta należy.

Co klient naprawdę porównuje

Klient zamienia Twoją konfigurację na tożsamość referencyjną: nazwę hosta, adres lub identyfikator specyficzny dla protokołu. Następnie szuka tej tożsamości w certyfikacie, stosując reguły dopasowania używanego protokołu. Liczą się tylko wpisy tego samego typu, więc wpis DNS nie może spełnić adresu, a porównanie odbywa się niezależnie od tego, czy ktoś patrzy na certyfikat.

Gdy w tym rozszerzeniu brakuje tożsamości referencyjnej, sprawdzenie kończy się niepowodzeniem, nawet jeśli stara nazwa zwyczajna pasuje. Certyfikat może być legalnie wydany firmie i nadal być niewłaściwy dla vpn.example.com, jeśli nazwa nigdy nie została uwzględniona. Niepowodzenie to niezgodność nazwy, choć certyfikat jest autentyczny.

Nazwy DNS i adresy IP to osobne wpisy

Profil wskazujący na 203.0.113.10, podczas gdy certyfikat wymienia tylko vpn.example.com, jest odrzucany, ponieważ pakiety docierają, ale tożsamość się nie zgadza. Nazwy DNS i adresy dosłowne są przechowywane jako różne typy wpisów i jeden nigdy nie zastępuje drugiego. Dlatego usługa może być osiągalna po adresie, a mimo to bezużyteczna przez profil używający tego adresu.

Symbole wieloznaczne również mają swoje reguły: symbol wieloznaczny obejmuje jedną etykietę, a nie każdą nazwę w domenie. Porównywanie DNS nie rozróżnia wielkości liter, podczas gdy inne typy identyfikatorów tak, więc wartość wyglądająca identycznie na ekranie może nie przejść ścisłego porównania. Sprawdź reguły dopasowania dla używanego typu tożsamości, zamiast porównywać ciągi na oko. Dodanie nazwy do rozszerzenia to decyzja o wydaniu, a nie coś, co może zapewnić ustawienie klienta.

Zbadaj certyfikat, którego połączenie naprawdę użyło

Czytaj materiał przedstawiany przez aktywny punkt końcowy, a nie plik skopiowany ze strony administracyjnej. Moduł równoważenia obciążenia lub instancja zastępcza może przedstawiać coś innego niż certyfikat wgrany miesiące temu, a ta różnica jest niewidoczna w konsoli.

openssl s_client -connect vpn.example.com:443 -showcerts </dev/null | openssl x509 -noout -text

Blok alternatywnych nazw podmiotu, łańcuch wystawcy i okres ważności należą do jednego odczytu, ponieważ niezgodność nazwy i wygaśnięcie dają różne błędy. Porównaj każdą nazwę z tego bloku z tożsamością skonfigurowaną w profilu, znak po znaku, i zanotuj, jakiego jest typu. Powtórzenie polecenia wobec adresowej formy punktu końcowego pokazuje, czy certyfikat obejmuje obie tożsamości, czy tylko jedną. Przyjazny widok podmiotu w konsoli zarządzania nie jest wynikiem walidacji i nic nie mówi o tym, jakie nazwy zawiera rozszerzenie.

Nazwa zwyczajna nie jest nowoczesnym źródłem prawdy

Przeglądarki i większość bibliotek TLS ignorują teraz nazwę zwyczajną przy dopasowywaniu nazwy hosta i konsultują rozszerzenie. Niektóre klienty VPN nadal najpierw porównują nazwę zwyczajną lub wracają do niej, gdy brakuje rozszerzenia, i tak jeden certyfikat może przejść w przeglądarce, a nie przejść w kliencie. To samo sprawdzenie nazwy może przejść na jednej platformie, a nie przejść na innej, bez żadnej zmiany certyfikatu.

Ustal, które pole czyta Twój klient, zanim uznasz, że certyfikat jest niewłaściwy. Dwa klienty na tym samym punkcie końcowym mogą się nie zgadzać, a ta niezgodność to informacja o kliencie, nie o certyfikacie.

Napraw wydanie lub profil, nie sprawdzenie

Gdy profil zbudowano wokół aliasu, albo wskaż go na udokumentowaną nazwę hosta, albo wydaj ponownie certyfikat dla aliasu i wdróż go w zaplanowanym oknie. Wyciszenie ostrzeżenia nie jest trzecią opcją, ponieważ sprawdzenie to jedyny krok, który wiąże podpisany certyfikat z tym konkretnym hostem. Usunięcie go oznacza, że dowolny certyfikat od tej samej instytucji może zastąpić serwer, do którego chciałeś dotrzeć.

Odnowienie powinno zachować zamierzone nazwy i cel, a nie tylko przesuwać datę wygaśnięcia do przodu. Odnowienie, które gubi nazwę, to nowa awaria zaplanowana na następny restart, i zwykle przychodzi bez ostrzeżenia, ponieważ stary certyfikat był jeszcze ważny w chwili zmiany.

Zapisz oczekiwaną tożsamość, przedstawione nazwy i łańcuch, który je podpisał. Ten zapis zmienia następne odnowienie w porównanie, a nie w śledztwo. Definicja rozszerzenia jest w RFC 5280, jeśli trzeba sprawdzić konkretne wydanie.

Powiązane artykuły