VPN sertifikāts vēl nav derīgs: trīs iemesli, viena pārbaudes secība
Vēl nav derīgs nozīmē, ka ierīces pulkstenis atpaliek, logs tiešām sākas vēlāk vai starpsertifikāts vēl nav atvērts. Pārbaudiet tos šajā secībā.
Jūs atverat klientu, izvēlaties profilu, ko lietojat jau mēnešus, un tas apstājas ar "certificate is not yet valid". Jūsu pieteikšanās nav mainījusies, un uzticības krātuve, iespējams, ir kārtībā: rokasspiedienā uzrādītajam sertifikātam ir derīguma logs, kas sākas vēlāk nekā pārbaudītāja izmantotais mirklis. Trīs dažādas situācijas rada tieši šo ziņojumu, un tām vajadzīgas atšķirīgas darbības. Tālākā secība pateiks, kura no tām jums ir, pirms pieskaraties pulkstenim vai sertifikāta failam.
Kuru no trim iemesliem jūs redzat
Pirmais iemesls ir vietējs: pārbaudi veicošās ierīces pulkstenis ir agrāks par sertifikāta sākuma datumu. To redzat aparatūrā ar mirušu CMOS bateriju, virtuālajās mašīnās, kas atjaunotas no veca momentuzņēmuma, ierīcēs, kas bijušas izslēgtas pietiekami ilgi, lai zaudētu laiku, un tīklos, kur izejošais NTP ir bloķēts un neviens to nav pamanījis. Sertifikāts var būt pilnīgi derīgs un tomēr šādi neizdoties.
Otrais iemesls pieder izdevējam, jo sertifikāts tiešām sākas nākotnē: izdots agri, ģenerēts ar skaidru sākuma laiku vai parakstīts kā vēl neizpildīta aktivizācijas soļa daļa. Trešais iemesls zaudē visvairāk laika, jo lapa ir aktuāla, bet cits uzrādītās ķēdes sertifikāts nav, tāpēc kļūda nosauc materiālu, ko jūs nekad neesat instalējis.
Viens jautājums tos šķir. Vai kļūme seko ierīcei vai pakalpojumam? Divas mašīnas vienā tīklā, kas uzvedas atšķirīgi, norāda uz pulksteņiem. Ja katrs klients neizdodas vienādi, tas norāda uz sertifikāta logu un ķēdi aiz tā.
Lasiet logu no sertifikāta, kas faktiski tika uzrādīts
Nepārbaudiet PEM failu, kas palicis no iepriekšējas izvietošanas; palūdziet pakalpojumam ķēdi, ko tas sūta tagad. openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts izdrukā katru ķēdes sertifikātu. Saglabājiet vajadzīgo bloku un palaidiet openssl x509 -noout -subject -issuer -dates; pēdējais izdrukā notBefore un notAfter, un tieši šīs divas vērtības izšķir lietu. Windows sistēmā savienojuma sertifikāta dialogs un certutil -dump eksportētā failā rāda tos pašus laukus.
Lasiet abus loga galus, ne tikai sākumu. Sertifikāts, kas atveras pēc divām stundām, un tas, kas aizveras pēc divām stundām, neizdodas ar atšķirīgiem ziņojumiem un iesaista atšķirīgas komandas. Ievērojiet, kuru sertifikātu nosauc kļūda — lapu, starpsertifikātu vai sakni —, jo tas nosaka, vai klienta pusē vispār kaut ko var salabot.
Logu varat pārbaudīt arī negaidot. Pārbaude pieņem skaidru laiku: openssl verify -attime 1793600000 -CAfile ca.pem -untrusted intermediate.pem leaf.pem novērtē ķēdi šajā laika zīmogā. Palaidiet to ar pašreizējo laiku, lai atkārtotu kļūmi, un pēc tam ar sertifikāta sākuma laiku, lai apstiprinātu, ka tā pati ķēde iztur, tiklīdz logs atveras. RFC 5280 definē derīguma lauku un noteikumu, ka sertifikātu nedrīkst lietot ārpus tā, un tieši šo noteikumu jūsu klients tikko piemēroja.
Jūsu pulkstenis vai viņējais
Salīdziniet ierīces pulksteni ar sertifikāta sākumu UTC laikā no avota, kuram uzticaties. date -u dod mirkli, un timedatectl status systemd saimniekā arī ziņo, vai pulkstenis ir sinhronizēts. Windows sistēmā w32tm /query /status rāda pašreizējo avotu un pēdējo veiksmīgo sinhronizāciju. Uzdevumjoslā redzamā laika josla ir attēlojuma izvēle, nevis nepareizs pulkstenis; pārbaudītājs salīdzina UTC mirkļus.
| What you see | Most likely reading | Next step |
|---|---|---|
| Clock behind, one device affected | Local time fault | Resync time, keep validation on, retest |
| Clock correct, window opens soon | Certificate staged early | Wait for the window or follow the cutover plan |
| Clock correct, intermediate not yet valid | Chain material mismatch | Operator replaces the intermediate |
| Some peers pass, others do not | Inconsistent nodes | Record each peer's chain before changing anything |
Ja pulkstenis atpaliek, sinhronizējiet vēlreiz un pārbaudiet vēlreiz, pirms maināt jebkuru sertifikāta materiālu. Ierīce, kas atšķiras par minūtēm vai stundām, noraida katru nesen izdotu sertifikātu, ar ko tā saskaras, nevis tikai vienu pakalpojumu, tāpēc viena pakalpojuma skaidrojums parasti ir nepareizais. Ja pulkstenis ir pareizs un sinhronizēts, pārtrauciet skatīties uz ierīci: logs pieder izdevējam, un neviena vietējā iestatījuma maiņa nav jāveic, lai tas izietu.
Šī tabula ir viss lēmums. Pulksteņa pārvietošana uz to, ko sertifikāts gaida, nav labošana, un laika pārbaužu izslēgšana arī nav, jo abas slēpj stāvokli, kas radīja kļūdu.
Kāpēc ķēde neizdodas, kamēr lapa izskatās labi
Atjaunotās lapas un aizstājējstarpsertifikāti parasti tiek sūtīti kopā, un ne vienmēr nonāk vienā mirklī. Pakalpojums var sūtīt jaunu lapu, kas parakstīta ar starpsertifikātu, kura paša logs sākas vēlāk, vai turpināt apkalpot vecāku starpsertifikātu zem svaigas lapas. Abos gadījumos ķēde neizdodas, kamēr pašas lapas datumi izskatās saprātīgi.
Slodzes līdzsvarotie galapunkti to pārvērš no salauzta uz nekonsekventu. Ja atkārtojums izdodas vai viens tīkls strādā, bet otrs ne, pierakstiet, kurš partneris atbildēja un kādu ķēdi nosūtīja, pirms maināt iestatījumus. openssl s_client izdrukā pievienoto adresi, tāpēc daži mēģinājumi atklāj, vai katrs mezgls apkalpo to pašu ķēdi.
Labošanas ceļi, kas saglabā pārbaudi
Pulksteņa problēma tiek labota ierīcē, atstājot pārbaudi ieslēgtu. Sertifikāta problēmu labo operators ar materiālu, kas izdots logam, kurš jau ietver tagadni. Neviena klienta iestatīšana nepadara vēl nederīgu sertifikātu derīgu; karodziņi, kas izlaiž laika pārbaudes, pastāv diagnozes apstiprināšanai, nevis ieviešanai ražošanā.
Kad sertifikāts sagatavots plānotai aktivizācijai, ievērojiet pārejas plānu. Instalējiet to, kad atveras tā logs, vai izmantojiet pārklāšanās procedūru, ko dokumentē piegādātājs, tā vietā lai instalētu agri un mācītu lietotājus klikšķināt cauri brīdinājumiem. Brīdinājumi, ko cilvēki iemācās ignorēt, maksā vairāk par īsu kavēšanos.
Visbeidzot, pārbaudiet vēlreiz tā, kā notika kļūme: jauna sesija, tas pats klients, resurss, kas jums tiešām vajadzīgs. TLS bibliotēkas var kešot pārbaudītu ķēdi visā savienojuma darbības laikā, un atsākta sesija to ne vienmēr pārbauda vēlreiz, tāpēc veca sesija var turpināt neizdoties pēc labojuma vai turpināt strādāt pēc regresijas. Fails, kas atveras skatītājā, pierāda tikai to, ka fails ir lasāms; pabeigts rokasspiediens pierāda, ka ķēde tiek validēta.
Pirms aizverat biļeti, apstipriniet četras lietas: neizdevušās ierīces UTC laiku un sinhronizācijas stāvokli, katras uzrādītās ķēdes sertifikāta notBefore un notAfter, to pašu ķēdi no otra klienta un nosaukumu, ko kļūda piešķir sertifikātam. Ja pulkstenis ir pareizs un logs vēl nav atvēries, pārējais ir operatora darbs, un pareizais solis jūsu pusē ir gaidīt logu, nevis vājināt pārbaudi.