It ferrinnen fan de ConnMan OpenConnect-koekje, gjin sertifikaatprobleem
Twa fouten lykje itselde yn it loch. Ferlykje de fêstsette fingerôfdruk mei de sesjekoekje, fernij it fjild dat ferrûn is en start dan de daemon opnij.
ConnMan wurket in middei en wegeret dan, en de lochrigel neamt sertifikaatferifikaasje. Dy rigel stjoert minsken nei CA-bondels dy't nea stikken wiene. Twa ferskillende fouten jouwe hast deselde foarm fan mislearring: de sesjekoekje ferrint, of it sertifikaat fan 'e tsjinner is echt feroare. Se binne yn sawat in minút fan elkoar te skieden, en mar ien fan beide hat wat mei de fingerôfdruk te meitsjen.
Twa fouten, ien betiizjende lochrigel
Se skiede har op twa waarnimmings, en gjin fan beide freget in twadde lêzing. De earste is wannear't de flater begûn: in ferrûne koekje komt nei oeren of dagen fan wurkjen, en in ferfongen sertifikaat komt daliks nei in poarteferoaring.
| 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 |
De test fan in minút is de authenticate-útfiering hjirûnder. Ferlykje syn FINGERPRINT mei OpenConnect.ServerCert yn it bestân. In identike fingerôfdruk mei in oare COOKIE betsjut allinnich de koekje ferfange. In oare fingerôfdruk betsjut dat it sertifikaat fan 'e tsjinner echt feroare is, dus set it mei opsetsin opnij fêst en skriuw op wa't dat goedkard hat.
Genearje it materiaal ynstee fan it te typen
ConnMan hat gjin ymportstap foar in OpenConnect-profyl, oars as NetworkManager. It lêst in foarsjenningbestân wêrfan de wearden foarôf makke wurde moatte, en de stipe manier om se te meitsjen is de authenticate-modus fan OpenConnect.
sudo openconnect --csd-wrapper=/home/user/.cisco/csd-wrapper.sh \
--authenticate --user myuser vpn.example.comDe útfier printsje fjouwer wearden: POST, COOKIE, HOST en FINGERPRINT. De fingerôfdruk, mei it foarheaksel sha256:, is de fêstsetting fan 'e tsjinner. De koekje is it sesje-artefakt mei in libbensdoer dy't de poarte beslút. Behannelje se as ferskillende soarten geheim: se ferrinne neffens ferskillende skema's, en fan mar ien wurdt ferwachte dat er feroaret.
It bestân draacht beide, en se ferâlderje oars
It foarsjenningbestân stiet ûnder /var/lib/connman-vpn/ en wurdt per ferbining lêzen troch de VPN-daemon, net troch it systeemlade-applet. Hâld de ferbiningsnamme yn 'e globale seksje en de protokoldetails yn 'e oanbiederseksje.
[global]
Name = Company VPN
[provider_openconnect]
Type = OpenConnect
Name = Company Cisco VPN
Host = vpn.example.com
Domain = corp.example
OpenConnect.ServerCert = sha256:...
OpenConnect.Cookie = ...Brûk de hostnamme dy't it portaal echt betsjinnet. In keale IP-adres kin de sertifikaatkontrôle trochkomme en dochs mislearje, om't it apparaat rûtelet op 'e firtuele host en de namme ferwachtet.
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 attemptWat it loch echt sjen lit
De systeemlade-tip sil net sizze hokker flater jo hawwe. It loch sil it wol sizze, as jo de folchoarder lêze ynstee fan 'e earste alarmsinnige rigel. In ferâldere koekje lit typysk sjen dat de TLS-ûnderhanneling klear is en de HTTP-laach dêrnei wegeret, en dêrom steane de wurden oer sertifikaten neist in autorisaasjeflater.
Ferlykje in farske authenticate mei de wearden yn it bestân. As de fingerôfdruk oerienkomt en allinnich de koekje ferskilt, hawwe jo jo antwurd sûnder fertrouwensynstellingen oan te reitsjen.
Fernij it fjild dat ferrûn is
Werhelje it authenticate-kommando, ferfange OpenConnect.Cookie, en start de daemon opnij. Lit de fingerôfdruk gewurde, útsein as de farske útfier in oare wearde sjocht; yn dat gefal is it sertifikaat fan 'e tsjinner echt ferfongen en is opnij fêstsetten in beslút dat immen fêstlizze moat, net in plak út in flaterberjocht.
It fernijen automatisearje is ridlik: in lyts skript lêst it wachtwurd fan standertynfier, rint authenticate-modus en skriuwt allinnich de koekjerigel oer. Hâld de oanmeldgegevens bûten it skript en allinnich lêsber foar it akkount dat it rint, en meitsje it oerskriuwen atomêr sadat in mislearre útfiering gjin heal skreaun bestân efterlit.
As it fernijen elke pear oeren nedich is, skriuw it ynterval op. It is in eigenskip fan it sesjebelied fan 'e poarte, en it beslút oft it fernijen automatisearre wurde moat of om in langere sesje frege wurde moat.