Неправильний годинник пристрою може зупинити VPN: спершу перевірте час
Сертифікат оцінюється щодо моменту, а не щодо ярлика часового поясу. Прочитайте годинник, дати сертифіката та маршрут джерела часу, перш ніж щось змінювати.
VPN перестає підключатися, у журналі згадується сертифікат, і перший імпульс — замінити профіль. Годинник пристрою, що відстає або поспішає на хвилини чи години, дає саме цю помилку, бо термін дії сертифіката оцінюється щодо місцевого моменту. Ярлик часового поясу на екрані не є проблемою; проблема в самому часі. Перевірте годинник, перш ніж торкатися будь-якого матеріалу сертифіката.
Помилка виглядає як проблема сертифіката, а не годинника
Рукостискання TLS не вдається, коли сертифікат іншої сторони виходить за межі вікна дії щодо годинника перевіряча. Ця перевірка виконується на клієнті, тож неправильний годинник клієнта відхиляє цілком добрий сертифікат. Текст помилки називає сертифікат, і саме тому люди замінюють його й знову бачать ту саму невдачу. Годинник — дешевша гіпотеза, і його слід перевірити першим.
Годинник, що поспішає щодо реального часу, відхиляє поточний сертифікат як прострочений; годинник, що відстає, відхиляє новіший як ще не чинний. Обидва повідомлення вказують на дати, і обидва виникають без будь-якого контакту з центром сертифікації. Це і є ознака: справжнє прострочення зачіпає кожного клієнта, а проблема годинника — лише ту одну машину з неправильним часом.
Прочитайте момент, потім сертифікат
Перш ніж щось змінювати, виведіть годинник у UTC і власні дати сертифіката. Порівняння двох абсолютних моментів повністю прибирає питання часового поясу з розслідування. Якщо вікно сертифіката містить поточний момент, сертифікат не є вашою невдачею.
date -u
timedatectl
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null 2>/dev/null | openssl x509 -noout -dates
Якщо місцевий годинник неправильний, перевірте, чи він синхронізований і з чим. Машина з вимкненою синхронізацією або з джерелом часу, до якого не може дістатися, відхиляється, доки щось не зламається. Вивід стану називає джерело й останнє успішне коригування, що корисніше за саме поточне відхилення. Велике відхилення без налаштованого джерела — інша проблема, ніж мале відхилення щодо робочого джерела.
timedatectl timesync-status
chronyc tracking
Зупиніться, якщо сертифікат справді прострочений для кожного клієнта. Тоді годинник гаразд, і сертифікату потрібне оновлення, а не коригування.
Коди входу не спрацьовують із спорідненої, але іншої причини
Одноразові паролі на основі часу беруть значення з поточного кроку часу, зазвичай тридцяти секунд. Пристрій, чий годинник відхилився більш ніж на крок-два, створює коди, які сервер не прийме, навіть якщо користувач ввів правильні цифри. Помилка виглядає як неправильний пароль, що заганяє людей у цикл скидання, який не може виправити годинник.
Визначте, який компонент відхилив спробу, бо клієнт VPN, шлюз і постачальник ідентичності повідомляють про різні етапи. Якщо код відхилено, а пароль прийнято, обліковий запис, імовірно, гаразд, і підозрюваний — годинник. Якщо відхилено обидва, запис може бути заблокований, а годинник — неправдивий слід. Дотримуйтеся вказівок постачальника щодо відновлення, а не схвалюйте запити, які ви не починали.
Не переводьте годинник назад, щоб код спрацював. Це приховує причину й ламає наступну перевірку на основі часу.
Виправте джерело, а не показану годину
Синхронізація — це мережева служба, і тунель може змінити доступність джерела часу. Корпоративне джерело може вимагати тунелю, а публічне може бути заблоковане політикою. Перегляд може працювати, поки власний шлях служби часу не працює, і саме тому цю залежність легко проґавити. NTP — це протокол, що стоїть за коригуванням, і йому потрібен власний шлях, як і будь-якій іншій службі.
sudo systemctl status systemd-timesyncd
sudo chronyc sources -v
ping -c1 203.0.113.20
Є й проблема порядку завантаження: дуже неправильний годинник може завадити автентифікованому тунелю, а єдине придатне джерело часу може бути за цим тунелем. Керованому парку потрібна документована процедура для такого стану, і обхід перевірки сертифіката нею не є. На особистому пристрої користуйтеся власними засобами керування часом операційної системи й з’ясуйте, чому годинник губиться після вимкнення чи відновлення. Машина, що відхиляється при кожному завантаженні, має проблему з обладнанням або конфігурацією, а не з VPN.
Після ремонту повторіть початкове з’єднання й прочитайте нову помилку окремо. Погана ідентичність сервера, сертифікат, що справді прострочений, і відхилений обліковий запис — це три різні невдачі, і їх змішування й перетворює просте коригування годинника на тиждень заміни профілів.