Zašto OpenConnect odbija pristupnik nakon zamjene certifikata?
Neuspjeh provjere nakon zamjene certifikata pristupnika je odluka o povjerenju, a ne pokvaren tunel. Odaberite između izdavačkog CA i prikvačenja jednog ključa.
Pristupnici mijenjaju certifikate, a klijent koji se jučer povezao počinje se zaustavljati na prvoj TLS razmjeni. Poruka navodi razlog provjere, a ne mrežni kvar, i sam stroj se nije promijenio, što je koristan trag. Ono što se slomilo jest odnos između certifikata koji se sada predstavlja i korijena koje je klijent spreman razmotriti. Popraviti to je odluka o povjerenju, pa donesite tu odluku prije nego što upišete opciju.
Pročitajte neuspjeh prije nego što promijenite bilo koju postavku povjerenja
Pogreška u stilu nedostajućeg potpisnika znači da lanac završava na nečemu što klijent ne prihvaća. To može biti obnovljeni certifikat interne ustanove, zamjena javne ustanove ili uređaj u sredini koji predstavlja vlastiti certifikat. Sam tekst ne može razlikovati te slučajeve, pa pogledajte izdavača prije nego što odlučite.
Pokrenite vezu jednom u prvom planu i pustite je da ne uspije, jer interaktivni izlaz nosi naziv poslužitelja, lanac izdavača i otisak koji je klijent izračunao. Usporedite tog izdavača s ustanovom koju vaša organizacija doista vodi. Ako se otisak promijenio, a izdavač nije, tretirajte to kao sumnjivo dok se obnova ne potvrdi kanalom kojem već vjerujete. Nagađanje u ovom trenutku je način na koji osoba završi prikvačivši ključ presretača.
Zabilježite verziju klijenta u istoj bilješci. Dobar dio kvarova koji izgledaju kao problemi povjerenja dolazi od starijeg klijenta koji susreće noviju razmjenu pristupnika.
Odaberite između vjerovanja izdavaču i prikvačenja jednog ključa
Obje opcije čine da veza uspije. Kasnije se lome na suprotne načine, pa izbor pripada kvaru koji možete podnijeti.
| 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 |
Posegnite za CA datotekom kada certifikat dolazi od ustanove koju možete neovisno provjeriti, jer obnove tada nastavljaju raditi bez diranja klijentskih argumenata. Uparite je s prekidačem koji onemogućuje korijene sustava, inače javna ustanova može zadovoljiti provjeru u vaše ime. Umjesto toga prikvačite kada pristupnik nema CA koji možete pribaviti ili kada je najuži mogući izuzetak cilj. Nijedan put nije sigurniji u apstraktnom smislu: CA se skalira kroz obnove, prikvačeni ključ je lakši za pregled.
Koju god odabrali, pouzdana vrijednost mora stići kanalom kojem se vjerovalo prije nego što se promjena dogodila. Administrator, konzolna sesija na pristupniku ili kopija uzeta unaprijed svi su prihvatljivi. Kopiranje bilo kojeg otiska koji upit prikaže prikladno je i upravo je ono čemu se presretač nada.
Stavite vrijednost u naredbu koju doista pokrećete
Prikvačeni ključ putuje u opciji certifikata poslužitelja, a njegov prefiks odlučuje kodiranje: heksadecimalni sažeci javnog ključa pod sha1 ili sha256, te base64 prikvačeni ključ pod pin-sha256. Njegovo navođenje također onemogućuje povjerenje sustava za to pokretanje, pa prikvačeni ključ postaje cijela odluka.
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
Klijent uspoređuje skraćeni sažetak, prihvaćajući samo četiri znaka nakon prefiksa, što je zamka, a ne pogodnost. Skraćena vrijednost prolazi lokalno i dalje ne identificira pristupnik koji ste namjeravali. Kopirajte cijeli niz koji je klijent ispisao u prvom pokušaju umjesto da ga prepisujete iz poruke. Zatim premjestite dovršenu opciju u omotni skript, jediničnu datoteku ili profil koji pokreće vezu, kako bi odluka o povjerenju bila pregledna, a kasnije izmjene namjerne.
Stolni pokretači i dodatak NetworkManager pohranjuju vlastitu kopiju argumenata veze. Skripta uređena na disku ne doseže profil uvezen ranije, pa pohranjena vrijednost nastavlja pobjeđivati.
Rukujte izmjenom bez zaključavanja sebe
Opcija se može navesti više puta, pa planirana promjena može prihvatiti odlazeći i dolazeći ključ zajedno. Dodajte novi prikvačeni ključ prije nego što se pristupnik prebaci, držite oba navedena dok sesije migriraju i uklonite umirovljeni nakon što stari ključ nestane. Taj prozor treba vlasnika, jer zaboravljeni dvostruki prikvačeni ključ ostavlja ključ pouzdanim bez ikoga da ga čuva. Ponovna izgradnja koja proizvodi novi par ključeva lomi čisti prikvačeni ključ, a oporavak je isti postupak u drugom smjeru.
Napišite datum promjene uz prikvačeni ključ. Prikvačeni ključ bez datuma pregleda budući je prekid koji nosi zbunjujuću poruku o pogrešci.
Isključite verziju klijenta prije uređivanja povjerenja
Zastarjeli klijent može pasti tijekom parsiranja odgovora autentifikacije koji je pristupnik od tada izmijenio, a površinska poruka još govori o vezi, a ne o parseru. Usporedite instaliranu verziju s onim što pristupnik dokumentira i testirajte trenutačni paket u profilu za jednokratnu upotrebu prije promjene bilo koje postavke povjerenja.
openconnect --version
Nakon popravka provjerite dvije stvari umjesto jedne: portal se učitava kroz tunel i obična interna adresa odgovara. Dovršeno rukovanje dokazuje samo da je odluka o povjerenju prihvaćena.