Prečo OpenConnect odmieta bránu po výmene certifikátu?
Zlyhanie overenia po výmene certifikátu brány je rozhodnutie o dôvere, nie pokazený tunel. Vyberte medzi vydávajúcou CA a pripnutím jedného kľúča.
Brány menia certifikáty a klient, ktorý sa včera ešte pripájal, sa začína zastavovať na prvej TLS výmene. Správa uvádza dôvod overenia, nie sieťovú poruchu, a samotný stroj sa nezmenil, čo je užitočná stopa. Zlomil sa vzťah medzi certifikátom, ktorý sa teraz predkladá, a koreňmi, ktoré je klient ochotný zvažovať. Opraviť to je rozhodnutie o dôvere, takže ho urobte skôr, než napíšete nejakú voľbu.
Prečítajte si zlyhanie skôr, než zmeníte akékoľvek nastavenie dôvery
Chyba typu chýbajúci podpisujúci znamená, že reťaz sa končí na niečom, čo klient neprijíma. Môže to byť obnovený certifikát od internej autority, náhrada od verejnej autority alebo zariadenie v strede, ktoré predkladá svoj vlastný certifikát. Len samotná formulácia nedokáže tieto prípady rozlíšiť, takže pred rozhodnutím sa pozrite na vydavateľa.
Spustite spojenie raz v popredí a nechajte ho zlyhať, pretože interaktívny výstup nesie názov servera, reťaz vydavateľa a odtlačok, ktorý klient vypočítal. Porovnajte tohto vydavateľa s autoritou, ktorú vaša organizácia skutočne prevádzkuje. Ak sa odtlačok zmenil, ale vydavateľ nie, považujte to za podozrivé, kým sa obnova nepotvrdí kanálom, ktorému už dôverujete. Hádať v tomto bode je cesta, po ktorej človek nakoniec pripne kľúč odpočúvajúceho.
Zapíšte verziu klienta do tej istej poznámky. Veľká časť zlyhaní, ktoré vyzerajú ako problémy s dôverou, pochádza zo staršieho klienta, ktorý stretne novšiu výmenu brány.
Vyberte medzi dôverou voči vydavateľovi a pripnutím jedného kľúča
Obe možnosti umožnia spojeniu uspieť. Neskôr sa lámu opačnými spôsobmi, preto voľba patrí zlyhaniu, ktoré dokážete zniesť.
| 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 |
Siahnite po súbore CA, keď certifikát pochádza od autority, ktorú môžete overiť nezávisle, pretože obnovy potom fungujú ďalej bez zásahu do argumentov klienta. Spárujte ho s prepínačom, ktorý vypína systémové korene, inak môže verejná autorita splniť kontrolu namiesto vás. Namiesto toho pripnite, keď brána nemá CA, ktorú môžete získať, alebo keď je cieľom čo najužšia výnimka. Ani jedna cesta nie je v abstrakte bezpečnejšia: CA sa škáluje naprieč obnovami, pripnutie sa ľahšie kontroluje.
Ktorúkoľvek vyberiete, dôveryhodná hodnota musí prísť kanálom, ktorému sa dôverovalo pred zmenou. Správca, konzolová relácia na bráne alebo vopred vytvorená kópia, všetky vyhovujú. Kopírovanie akéhokoľvek odtlačku, ktorý výzva zobrazí, je pohodlné a presne to, v čo odpočúvajúci dúfa.
Vložte hodnotu do príkazu, ktorý skutočne spúšťate
Pripnutie putuje vo voľbe certifikátu servera a jej predpona rozhoduje o kódovaní: hexadecimálne odtlačky verejného kľúča pod sha1 alebo sha256 a pripnutie kľúča base64 pod pin-sha256. Jeho uvedenie tiež vypne systémovú dôveru pre to spustenie, takže pripnutý kľúč sa stane celým rozhodnutím.
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
Klient porovnáva skrátený odtlačok a prijíma len štyri znaky za predponou, čo je pasca, nie pohodlie. Skrátená hodnota prejde lokálne a stále neidentifikuje bránu, ktorú ste zamýšľali. Skopírujte celý reťazec, ktorý klient vytlačil pri prvom pokuse, namiesto prepisovania zo správy. Potom presuňte hotovú voľbu do obalového skriptu, unit súboru alebo profilu, ktorý spúšťa spojenie, aby bolo rozhodnutie o dôvere kontrolovateľné a neskoršie úpravy boli úmyselné.
Plošní spúšťače a doplnok NetworkManager ukladajú vlastnú kópiu argumentov spojenia. Skript upravený na disku sa nedostane k profilu importovanému skôr, takže uložená hodnota naďalej víťazí.
Zvládnite výmenu bez toho, aby ste sa zamkli vonku
Voľbu možno zadať viackrát, takže plánovaná zmena môže prijať odchádzajúci aj prichádzajúci kľúč spolu. Pridajte nové pripnutie predtým, než brána prepne, držte obe uvedené, kým relácie migrujú, a vyraďte odchádzajúce, keď starý kľúč zmizne. To okno potrebuje vlastníka, pretože zabudnuté dvojité pripnutie necháva kľúč dôveryhodný bez dozoru. Prestavba, ktorá vytvorí nový pár kľúčov, zlomí čisté pripnutie a obnova je rovnaký postup opačným smerom.
Napíšte dátum zmeny vedľa pripnutia. Pripnutie bez dátumu kontroly je budúci výpadok s mätúcou chybovou správou.
Vylúčte verziu klienta pred úpravou dôvery
Zastaraný klient môže zlyhať pri parsovaní odpovede na overenie, ktorú brána medzitým zmenila, a povrchová správa stále hovorí o spojení, nie o parseri. Porovnajte nainštalovanú verziu s tým, čo brána dokumentuje, a pred zmenou akéhokoľvek nastavenia dôvery otestujte aktuálny balík v jednorazovom profile.
openconnect --version
Po oprave overte dve veci, nie jednu: portál sa načíta cez tunel a bežná interná adresa odpovedá. Dokončené podanie ruky dokazuje len to, že rozhodnutie o dôvere bolo prijaté.