Niezgodność nazwy lub wygaśnięcie certyfikatu: jak je rozróżnić
Niezgodność nazwy oznacza, że certyfikat dotyczy czegoś innego; wygaśnięcie oznacza, że nie jest teraz ważny. Przeczytaj etap, który zawodzi, zanim zresetujesz dane logowania.
Dwie awarie VPN wyglądają z perspektywy użytkownika identycznie, a wymagają przeciwnych napraw. Niezgodność nazwy oznacza, że certyfikat jest ważny, ale wystawiony na coś innego. Błąd wygaśnięcia oznacza, że certyfikat nie jest ważny w tej chwili. Żadna z nich nie jest problemem z hasłem, a resetowanie danych logowania to najczęściej zmarnowana godzina w obu przypadkach. Przeczytaj etap, który zawodzi, zanim czegokolwiek dotkniesz.
Tekst błędu jest diagnozą
Klient mówi, która kontrola zawiodła, nawet gdy komunikat jest zwięzły. Niezgodność podaje oczekiwaną nazwę hosta i znalezioną nazwę. Błąd wygaśnięcia wspomina daty ważności lub czas. Te dwa zdania wskazują na różne części certyfikatu.
Czytaj je na etapie, na którym się pojawiają. Awaria podczas uzgadniania to problem certyfikatu; awaria po podniesieniu tunelu to problem routingu lub danych logowania. Utrzymanie etapu jest tym, co powstrzymuje dochodzenie przed dryfowaniem w niepowiązane ustawienia.
Jeśli awaria zmienia się między próbami, masz trzecią możliwość: więcej niż jeden węzeł za tą samą nazwą.
Kontrole nazwy: co porównuje klient
Klient porównuje tożsamość, której oczekuje według konfiguracji, z nazwami w certyfikacie, które znajdują się w rozszerzeniu subjectAltName. Surowy adres IP w profilu, alias, którego certyfikat nie wymienia, albo nazwa, która po prostu rozwiązuje się na ten sam serwer – wszystkie one zawodzą na tej kontroli. Dotarcie do właściwej maszyny to nie to samo co przedstawienie właściwej tożsamości.
Zbadaj certyfikat, który serwer faktycznie przedstawia, a nie plik z wcześniejszej próby. Poniższe polecenie pyta o skonfigurowaną nazwę, więc odpowiedź zawiera certyfikat, który zobaczyłby prawdziwy klient.
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null 2>/dev/null \
| openssl x509 -noout -subject -dates -ext subjectAltNameCertyfikat zaufanego wystawcy nadal może dotyczyć innej usługi. Pozostaw kontrole nazwy po stronie klienta włączone, ponieważ zaufanie do CA nie upoważnia każdej nazwy, którą ten CA kiedykolwiek podpisał. Wyłączenie kontroli zamienia błąd konfiguracji w ekspozycję.
Wygaśnięcie: czyj zegar jest czytany
Ważność to para znaczników czasu, a weryfikator porównuje je z własnym zegarem. Urządzenie z błędnym zegarem zgłasza ważny certyfikat jako wygasły lub jeszcze nieważny, a naprawą jest zegar, nie certyfikat. Różnica w wyświetlaniu strefy czasowej to nie to samo co błędny czas bazowy.
Porównaj daty certyfikatu z UTC na kliencie, zanim cokolwiek stwierdzisz:
openssl x509 -in cert.pem -noout -dates
date -uJeśli daty rzeczywiście minęły, odnów przez wystawcę. Jeśli zamiennik istnieje, ale nie stał się jeszcze ważny, postępuj zgodnie z obsługiwanym przejściem, zamiast przestawiać zegar, by mu dogodzić. Cofanie daty urządzenia, by zadowolić certyfikat, to decyzja o skutkach daleko poza tunelem.
Dlaczego naprawa jednego ujawnia drugie
Walidacja wykonuje sekwencję kontroli, a pierwsza awaria zatrzymuje raport. Napraw nazwę, a klient może ci wtedy powiedzieć, że łańcuch jest niekompletny lub że certyfikat wygasł. To nie znaczy, że pierwsza kontrola była niepotrzebna. To znaczy, że łańcuch miał więcej niż jeden problem, więc spodziewaj się drugiego błędu, zamiast czytać go jako dowód, że pierwsza naprawa była błędna.
Wiele węzłów pogarsza sprawę. Usługa z równoważeniem obciążenia może przedstawiać różne certyfikaty od różnych członków, więc test, który przechodzi dwa razy i raz zawodzi, mówi o flocie, a nie o twoim kliencie. Zachowaj adres drugiej strony i czas próby w diagnozie.
To właśnie ten szczegół zamienia niestabilne zgłoszenie w powtarzalne.
Udowodnij to nowym połączeniem
Po naprawie otwórz nowe połączenie zamiast wznawiać stare i potwierdź, że etap, który wcześniej zawodził, teraz przechodzi. Następnie potwierdź, że tunel faktycznie przenosi ruch, ponieważ udane uzgadnianie nie jest działającą trasą.
Zachowaj dokładny etap błędu i szczegóły certyfikatu wraz ze zgłoszeniem.
To właśnie ten zapis powstrzymuje następną osobę przed resetowaniem haseł do konta z powodu problemu z certyfikatem. Tożsamość i ważność to osobne pytania, a RFC 5280 jest odniesieniem dla tego, jak ocenia się to drugie.