VPN przestaje się łączyć, log wspomina certyfikat, a pierwszym odruchem jest wymiana profilu. Zegar urządzenia mylony o minuty lub godziny daje dokładnie ten błąd, ponieważ ważność certyfikatu jest oceniana względem lokalnej chwili. Etykieta strefy czasowej na ekranie nie jest problemem; problemem jest sam czas. Sprawdź zegar, zanim dotkniesz jakiegokolwiek materiału certyfikatu.

Błąd wygląda jak problem z certyfikatem, a nie z zegarem

Uścisk dłoni TLS kończy się niepowodzeniem, gdy certyfikat drugiej strony wypada poza okno ważności względem zegara weryfikatora. Ten test działa na kliencie, więc zły zegar klienta odrzuca całkowicie dobry certyfikat. Tekst błędu nazywa certyfikat, dlatego ludzie go wymieniają i widzą tę samą awarię ponownie. Zegar jest tańszą hipotezą i należy go sprawdzić najpierw.

Zegar wyprzedzający rzeczywisty czas odrzuca bieżący certyfikat jako wygasły; zegar spóźniony odrzuca nowszy jako jeszcze nieważny. Oba komunikaty wskazują daty i oba powstają bez żadnego kontaktu z urzędem certyfikacji. To jest trop: prawdziwe wygaśnięcie dotyka każdego klienta, a problem zegara tylko tej jednej maszyny z niewłaściwym czasem.

Przeczytaj chwilę, potem certyfikat

Przed zmianą czegokolwiek wypisz zegar w UTC i własne daty certyfikatu. Porównanie dwóch chwil absolutnych całkowicie usuwa kwestię strefy czasowej ze śledztwa. Jeśli okno certyfikatu zawiera bieżącą chwilę, certyfikat nie jest twoją awarią.

date -u
timedatectl
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null 2>/dev/null | openssl x509 -noout -dates

Jeśli lokalny zegar jest zły, sprawdź, czy jest zsynchronizowany i z czym. Maszyna z wyłączoną synchronizacją albo ze źródłem czasu, do którego nie dociera, dryfuje, aż coś zawiedzie. Wyjście statusu nazywa źródło i ostatnią udaną korektę, co jest użyteczniejsze niż samo bieżące odchylenie. Duże odchylenie bez skonfigurowanego źródła to inny problem niż małe odchylenie wobec działającego źródła.

timedatectl timesync-status
chronyc tracking

Zatrzymaj się, jeśli certyfikat naprawdę wygasł dla każdego klienta. Wtedy zegar jest w porządku, a certyfikat wymaga odnowienia, nie korekty.

Kody logowania zawodzą z pokrewnego, ale innego powodu

Hasła jednorazowe oparte na czasie czerpią wartość z bieżącego kroku czasu, zwykle trzydziestu sekund. Urządzenie, którego zegar odbiega o więcej niż krok lub dwa, tworzy kody, których serwer nie przyjmie, nawet jeśli użytkownik wpisał właściwe cyfry. Błąd wygląda jak nieprawidłowe hasło, co wpędza ludzi w pętlę resetowania, która nie naprawi zegara.

Ustal, który element odrzucił próbę, bo klient VPN, brama i dostawca tożsamości raportują różne etapy. Jeśli kod jest odrzucany, a hasło przyjęte, konto jest prawdopodobnie w porządku i podejrzanym jest zegar. Jeśli odrzucane jest oba, konto może być zablokowane, a zegar to fałszywy trop. Stosuj wskazówki odzyskiwania dostawcy, zamiast zatwierdzać prośby, których nie rozpocząłeś.

Nie cofaj zegara, żeby kod zadziałał. To ukrywa przyczynę i psuje następny test oparty na czasie.

Napraw źródło, nie wyświetlaną godzinę

Synchronizacja to usługa sieciowa, a tunel może zmienić, czy źródło czasu jest osiągalne. Źródło firmowe może wymagać tunelu, a publiczne może być blokowane przez politykę. Przeglądanie może działać, gdy własna trasa usługi czasu zawodzi, dlatego tę zależność łatwo przeoczyć. NTP to protokół stojący za korektą i potrzebuje własnej trasy jak każda inna usługa.

sudo systemctl status systemd-timesyncd
sudo chronyc sources -v
ping -c1 203.0.113.20

Jest też problem kolejności rozruchu: bardzo zły zegar może uniemożliwić uwierzytelniony tunel, a jedyne użyteczne źródło czasu może znajdować się za tym tunelem. Zarządzana flota potrzebuje udokumentowanej procedury dla tego stanu, a obchodzenie weryfikacji certyfikatu nią nie jest. Na urządzeniu osobistym użyj własnych ustawień czasu systemu operacyjnego i ustal, dlaczego zegar ginie po wyłączeniu lub przywróceniu. Maszyna dryfująca przy każdym rozruchu ma problem ze sprzętem lub konfiguracją, a nie problem z VPN.

Po naprawie ponów pierwotne połączenie i odczytaj nowy błąd osobno. Zła tożsamość serwera, certyfikat, który naprawdę wygasł, i odrzucone konto to trzy różne awarie, a ich mieszanie sprawia, że prosta korekta zegara zamienia się w tydzień wymiany profili.

Powiązane artykuły