Dve zlyhania VPN vyzerajú z používateľovej stoličky rovnako, ale vyžadujú opačné opravy. Nezhoda názvu znamená, že certifikát je platný, ale vydaný na niečo iné. Chyba expirácie znamená, že certifikát nie je platný v tejto chvíli. Ani jedno nie je problém hesla a resetovanie prihlasovacích údajov je v oboch prípadoch najčastejšie premárnená hodina. Prečítajte si zlyhávajúcu fázu, kým sa čohokoľvek dotknete.

Text chyby je diagnóza

Klient vám povie, ktorá kontrola zlyhala, aj keď je správa stručná. Nezhoda pomenuje očakávané meno hostiteľa a nájdené meno. Chyba expirácie spomína dátumy platnosti alebo čas. Tie dve vety ukazujú na rôzne časti certifikátu.

Čítajte ich vo fáze, v ktorej sa objavujú. Zlyhanie počas handshake je problém certifikátu; zlyhanie po postavení tunela je problém smerovania alebo prihlasovacích údajov. Zachovanie fázy je to, čo bráni vyšetrovaniu skĺznuť do nesúvisiacich nastavení.

Ak sa zlyhanie medzi pokusmi líši, máte tretiu možnosť: viac ako jeden uzol za tým istým názvom.

Kontroly názvu: čo klient porovnáva

Klient porovnáva identitu, ktorú má podľa konfigurácie očakávať, s názvami v certifikáte, ktoré sa nachádzajú v rozšírení subjectAltName. Surová IP v profile, alias, ktorý certifikát neuvádza, alebo názov, ktorý sa jednoducho prekladá na ten istý server – všetky zlyhajú v tejto kontrole. Dostať sa na správny stroj nie je to isté ako predložiť správnu identitu.

Skúmajte certifikát, ktorý server skutočne predkladá, nie súbor z predchádzajúceho pokusu. Príkaz nižšie žiada názov, ktorý ste nakonfigurovali, takže odpoveď obsahuje certifikát, ktorý by videl skutočný klient.

openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null 2>/dev/null \
  | openssl x509 -noout -subject -dates -ext subjectAltName

Certifikát od dôveryhodného vydavateľa môže byť stále pre inú službu. Nechajte kontroly názvu na strane klienta zapnuté, pretože dôvera v CA neoprávňuje každý názov, ktorý táto CA niekedy podpísala. Vypnutie kontroly mení chybu konfigurácie na expozíciu.

Expirácia: koho hodiny sa čítajú

Platnosť je pár časových značiek a overovateľ ich porovnáva s vlastnými hodinami. Zariadenie s nesprávnymi hodinami hlási platný certifikát ako expirovaný alebo ako ešte neplatný, a opravou sú hodiny, nie certifikát. Rozdiel v zobrazení časového pásma nie je to isté ako nesprávny základný čas.

Porovnajte dátumy certifikátu s UTC na klientovi, kým čokoľvek uzavriete:

openssl x509 -in cert.pem -noout -dates
date -u

Ak dátumy skutočne uplynuli, obnovte cez vydavateľa. Ak náhrada existuje, ale ešte nie je platná, postupujte podľa podporovaného prechodu, namiesto posúvania hodín, aby ste jej vyhoveli. Posunúť dátum zariadenia dozadu kvôli certifikátu je rozhodnutie s dôsledkami ďaleko za tunelom.

Prečo oprava jedného odhalí druhé

Validácia spúšťa sled kontrol a prvé zlyhanie zastaví správu. Opravte názov a klient vám potom môže povedať, že reťazec je neúplný alebo že certifikát expiroval. To neznamená, že prvá kontrola bola zbytočná. Znamená to, že reťazec mal viac ako jeden problém, preto očakávajte druhú chybu, namiesto toho, aby ste ju čítali ako dôkaz, že prvá oprava bola nesprávna.

Viac uzlov to zhoršuje. Služba s vyvažovaním záťaže môže predkladať rôzne certifikáty od rôznych členov, takže test, ktorý dvakrát prejde a raz zlyhá, vám hovorí o flotile, nie o vašom klientovi. Zachovajte adresu partnera a čas pokusu v diagnóze.

Práve tento detail mení nestabilný tiket na reprodukovateľný.

Dokážte to novým spojením

Po oprave otvorte nové spojenie namiesto obnovenia starého a potvrďte, že fáza, ktorá predtým zlyhávala, teraz prechádza. Potom potvrďte, že tunel skutočne prenáša prevádzku, pretože úspešný handshake nie je funkčná trasa.

Zachovajte presnú fázu chyby a podrobnosti certifikátu spolu s tiketom.

Práve tento záznam bráni ďalšiemu človeku resetovať heslá účtu pre problém s certifikátom. Identita a platnosť sú oddelené otázky a RFC 5280 je referenciou pre to, ako sa hodnotí druhá z nich.

Súvisiace články