Kāpēc OpenConnect noraida vārteju pēc sertifikāta nomaiņas?
Verifikācijas kļūda pēc vārtejas sertifikāta nomaiņas ir uzticēšanās lēmums, nevis salauzts tunelis. Izvēlieties starp izdevēju CA un viena atslēgas piespraudumu.
Vārtejas nomaina sertifikātus, un klients, kas vēl vakar savienojās, sāk apstāties pirmajā TLS apmaiņā. Ziņojums nosauc verifikācijas iemeslu, nevis tīkla kļūmi, un pati mašīna nav mainījusies, kas ir noderīgā norāde. Salūza attiecības starp tagad uzrādīto sertifikātu un saknēm, ko klients ir gatavs ņemt vērā. To labot ir uzticēšanās lēmums, tāpēc pieņemiet to pirms opcijas ierakstīšanas.
Izlasiet kļūdu, pirms maināt jebkuru uzticēšanās iestatījumu
Kļūda ar trūkstošu parakstītāju nozīmē, ka ķēde beidzas ar kaut ko, ko klients nepieņem. Tas var būt iekšējas iestādes atjaunots sertifikāts, publiskas iestādes aizstājējs vai ierīce pa vidu, kas uzrāda savu sertifikātu. Tikai formulējums nevar atšķirt šos gadījumus, tāpēc pirms lēmuma apskatiet izdevēju.
Vienreiz palaidiet savienojumu priekšplānā un ļaujiet tam neizdoties, jo interaktīvā izvade satur servera nosaukumu, izdevēju ķēdi un klienta aprēķināto pirksta nospiedumu. Salīdziniet šo izdevēju ar iestādi, ko jūsu organizācija patiešām pārvalda. Ja pirksta nospiedums mainījās, bet izdevējs ne, uzskatiet to par aizdomīgu, līdz atjauninājums tiek apstiprināts kanālā, kuram jau uzticaties. Minēt šajā brīdī ir ceļš, pa kuru cilvēks beigās piespraudīs pārtvērēja atslēgu.
Ierakstiet klienta versiju tajā pašā piezīmē. Liela daļa kļūdu, kas izskatās pēc uzticēšanās problēmām, nāk no vecāka klienta, kas saskaras ar jaunāku vārtejas apmaiņu.
Izvēlieties starp uzticēšanos izdevējam un vienas atslēgas piespraušanu
Abas opcijas ļauj savienojumam izdoties. Tās vēlāk lūzt pretējos veidos, tāpēc izvēle pieder kļūmei, ko spējat paciest.
| Approach | Good fit | What breaks it |
|---|---|---|
Trust the issuing CA with --cafile | Internal PKI you can obtain over an already trusted channel | CA rotation, or a client that still falls back to public roots |
Pin one key with --servercert | No CA relationship, or exactly one key should ever be accepted | Any reissue that generates a new key pair |
Ķerieties pie CA faila, kad sertifikāts nāk no iestādes, kuru varat pārbaudīt neatkarīgi, jo atjauninājumi tad turpina darboties, neaiztiekot klienta argumentus. Sapārojiet to ar slēdzi, kas atslēdz sistēmas saknes, citādi publiska iestāde var izpildīt pārbaudi jūsu vietā. Tā vietā piespraudiet, kad vārtejai nav CA, ko varat iegūt, vai kad mērķis ir pēc iespējas šaurākais izņēmums. Neviens ceļš abstrakti nav drošāks: CA mērogojas atjauninājumos, piespraudumu ir vieglāk pārskatīt.
Kuru vien izvēlēsities, uzticamā vērtība jāsaņem pa kanālu, kam uzticējās pirms izmaiņām. Administrators, konsoles sesija uz vārtejas vai iepriekš ņemta kopija — visi der. Jebkura uzvednē redzamā pirksta nospieduma kopēšana ir ērta un ir tieši tas, uz ko pārtvērējs cer.
Ievietojiet vērtību komandā, ko patiešām palaižat
Piespraudums ceļo servera sertifikāta opcijā, un tā prefikss nosaka kodējumu: heksadecimāli publiskās atslēgas kopsavilkumi ar sha1 vai sha256, un base64 atslēgas piespraudums ar pin-sha256. Tā norādīšana arī atslēdz sistēmas uzticēšanos šai palaidei, tāpēc piespraustā atslēga kļūst par visu lēmumu.
sudo openconnect --protocol=gp vpn.example.com --user alice \
--servercert pin-sha256:AbCdEf... # single key pin
sudo openconnect vpn.example.com --cafile /etc/ssl/internal-ca.pem --no-system-trust
Klients saskaņo saīsinātu kopsavilkumu, pieņemot pat četras rakstzīmes aiz prefiksa, kas ir slazds, nevis ērtība. Saīsināta vērtība lokāli iztur un joprojām neidentificē vārteju, ko bijāt iecerējis. Kopējiet pilnu virkni, ko klients izdrukāja pirmajā mēģinājumā, tā vietā lai pārrakstītu to no ziņojuma. Pēc tam pārvietojiet gatavo opciju uz ietvērējskriptu, unit failu vai profilu, kas palaiž savienojumu, lai uzticēšanās lēmums būtu pārskatāms un vēlākas izmaiņas būtu apzinātas.
Darbvirsmas palaidēji un NetworkManager spraudnis glabā savu savienojuma argumentu kopiju. Diskā rediģēts skripts nesasniedz agrāk importētu profilu, tāpēc saglabātā vērtība turpina uzvarēt.
Apstrādājiet pārslēgšanos, neaizslēdzot sevi
Opciju var norādīt vairāk nekā vienu reizi, tāpēc plānotas izmaiņas var pieņemt izejošo un ienākošo atslēgu kopā. Pievienojiet jauno piespraudumu pirms vārtejas pārslēgšanās, turiet abus sarakstā, kamēr sesijas migrē, un izņemiet atsaukto, kad vecā atslēga ir pazudusi. Tam logam vajag īpašnieku, jo aizmirsts dubultpiespraudums atstāj atslēgu uzticamu bez kāda uzraudzības. Pārbūve, kas rada jaunu atslēgu pāri, salauž tīru piespraudumu, un atjaunošana ir tā pati procedūra pretējā virzienā.
Rakstiet izmaiņu datumu blakus piespraudumam. Piespraudums bez pārskatīšanas datuma ir nākotnes pārtraukums ar mulsinošu kļūdas ziņojumu.
Izslēdziet klienta versiju pirms uzticēšanās rediģēšanas
Novecojis klients var neizdoties, parsējot autentifikācijas atbildi, ko vārteja kopš tā laika ir mainījusi, un virsmas ziņojums joprojām runā par savienojumu, nevis parsētāju. Salīdziniet instalēto versiju ar to, ko dokumentē vārteja, un pirms jebkura uzticēšanās iestatījuma maiņas izmēģiniet pašreizējo pakotni vienreizējā profilā.
openconnect --version
Pēc labošanas pārbaudiet divas lietas, nevis vienu: portāls ielādējas pa tuneli, un parasta iekšējā adrese atbild. Pabeigta rokasspiediena apliecina tikai to, ka uzticēšanās lēmums tika pieņemts.