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.

SignalExpired cookieChanged certificate
When it startedafter hours or days of workingright after a gateway change
Fingerprint from a fresh authenticateunchangeddifferent value
Usual log tailHTTP CONNECT 401 / unauthorizedsigner not found / verify failed
Repairreplace the cookie, restartre-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.com

Vý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.

Súvisiace články