Vypršanie cookie v ConnMan OpenConnect, nie problém s certifikátom
Dve poruchy vyzerajú v logu rovnako. Porovnajte pripnutý odtlačok s cookie relácie, obnovte pole, ktorému vypršala platnosť, a potom reštartujte démona.
ConnMan funguje jedno popoludnie a potom odmietne a riadok v logu spomína overenie certifikátu. Ten riadok posiela ľudí k sadám CA, ktoré nikdy neboli pokazené. Dve rôzne poruchy dávajú takmer rovnaký tvar zlyhania: vyprší cookie relácie alebo sa certifikát servera skutočne zmenil. Dajú sa rozlíšiť zhruba za minútu a iba jedna z nich sa vôbec týka odtlačku.
Dve poruchy, jeden mätúci riadok logu
Rozlišujú sa podľa dvoch pozorovaní a ani jedno nevyžaduje druhé čítanie. Prvé je, kedy zlyhanie začalo: vypršaná cookie prichádza po hodinách alebo dňoch práce, a vymenený certifikát prichádza hneď po zmene brány.
| Signal | Expired cookie | Changed certificate |
|---|---|---|
| When it started | after hours or days of working | right after a gateway change |
| Fingerprint from a fresh authenticate | unchanged | different value |
| Usual log tail | HTTP CONNECT 401 / unauthorized | signer not found / verify failed |
| Repair | replace the cookie, restart | re-pin deliberately, then restart |
Test za minútu je spustenie authenticate nižšie. Porovnajte jeho FINGERPRINT s OpenConnect.ServerCert v súbore. Zhodný odtlačok s inou COOKIE znamená vymeniť iba cookie. Iný odtlačok znamená, že sa certifikát servera skutočne zmenil, takže ho zámerne znova pripnite a zaznamenajte, kto to schválil.
Vygenerujte materiál namiesto písania
ConnMan nemá krok importu profilu OpenConnect, na rozdiel od NetworkManageru. Číta súbor zabezpečenia, ktorého hodnoty musia byť vytvorené vopred, a podporovaný spôsob, ako ich vytvoriť, je režim authenticate v OpenConnete.
sudo openconnect --csd-wrapper=/home/user/.cisco/csd-wrapper.sh \
--authenticate --user myuser vpn.example.comVýstup vypisuje štyri hodnoty: POST, COOKIE, HOST a FINGERPRINT. Odtlačok s predponou sha256: je pripnutie servera. Cookie je artefakt relácie so životnosťou, ktorú určuje brána. Berte ich ako rôzne druhy tajomstva: vypršia podľa rôznych plánov a očakáva sa, že sa zmení iba jedno.
Súbor nesie oboje a starne to rôzne
Súbor zabezpečenia žije v /var/lib/connman-vpn/ a číta ho pre každé pripojenie démon VPN, nie applet v oznamovacej oblasti. Držte názov pripojenia v globálnej sekcii a podrobnosti protokolu v sekcii poskytovateľa.
[global]
Name = Company VPN
[provider_openconnect]
Type = OpenConnect
Name = Company Cisco VPN
Host = vpn.example.com
Domain = corp.example
OpenConnect.ServerCert = sha256:...
OpenConnect.Cookie = ...Použite názov hostiteľa, ktorý portál skutočne obsluhuje. Holá adresa IP môže prejsť kontrolou certifikátu a napriek tomu zlyhať, pretože zariadenie smeruje podľa virtuálneho hostiteľa a očakáva názov.
systemctl status connman-vpn --no-pager # is the daemon even installed and running
sudo systemctl restart connman-vpn # after the file edit
journalctl -u connman-vpn --since '1 hour ago' # after the connection attemptČo log skutočne ukazuje
Tip v oznamovacej oblasti nepovie, ktorú poruchu máte. Log to povie, ak čítate postupnosť a nie prvý alarmujúci riadok. Zastaraná cookie zvyčajne ukazuje, že vyjednávanie TLS sa skončilo a vrstva HTTP potom požiadavku odmietla; preto slová o certifikátoch stoja vedľa zlyhania autorizácie.
Porovnajte nové spustenie authenticate s hodnotami v súbore. Ak odtlačok sedí a líši sa iba cookie, máte odpoveď bez toho, aby ste sa dotkli nastavení dôvery.
Obnovte pole, ktorému vypršala platnosť
Zopakujte príkaz authenticate, nahraďte OpenConnect.Cookie a reštartujte démona. Odtlačok nechajte na pokoji, pokiaľ nový výstup neukáže inú hodnotu; v takom prípade bol certifikát servera skutočne vymenený a nové pripnutie je rozhodnutie, ktoré má niekto zaznamenať, nie vložiť z chybového hlásenia.
Automatizovať obnovu je rozumné: malý skript prečíta heslo zo štandardného vstupu, spustí režim authenticate a prepíše iba riadok s cookie. Držte prihlasovacie údaje mimo skriptu a čitateľné iba pre účet, ktorý ho spúšťa, a prepis robte atómovo, aby neúspešné spustenie nezanechalo napoly zapísaný súbor.
Ak je obnova potrebná každých niekoľko hodín, poznačte si interval. Je to vlastnosť pravidiel relácií brány a rozhoduje o tom, či obnovu automatizovať alebo požiadať o dlhšiu reláciu.