Dod i ben y cwci ConnMan OpenConnect, nid problem tystysgrif
Mae dau fethiant yn edrych yr un fath yn y log. Cymharwch yr ôl-bys llaw sy'n cael ei binio â chwci'r sesiwn, adnewyddwch y maes sydd wedi dod i ben, ac yna ailgychwynnwch y daemon.
Mae ConnMan yn gweithio am brynhawn ac yna'n gwrthod, ac mae llinell y log yn sôn am wirio tystysgrif. Mae'r llinell honno'n anfon pobl at becynnau CA na chawsant eu torri erioed. Mae dau fai gwahanol yn cynhyrchu bron yr un siâp methiant: mae cwci'r sesiwn yn dod i ben, neu mae tystysgrif y gweinydd wedi newid mewn gwirionedd. Gellir eu gwahanu mewn tua munud, a dim ond un ohonynt sy'n ymwneud â'r ôl-bys o gwbl.
Dau fai, un llinell log ddryslyd
Maent yn gwahanu ar ddau arsylwad, ac nid oes angen ail ddarlleniad ar y naill na'r llall. Y cyntaf yw pryd y dechreuodd y methiant: mae cwci wedi dod i ben yn cyrraedd ar ôl oriau neu ddyddiau o waith, a tystysgrif wedi'i disodli yn cyrraedd yn syth ar ôl newid porth.
| 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 |
Y prawf munud yw'r rhediad authenticate isod. Cymharwch ei FINGERPRINT â OpenConnect.ServerCert yn y ffeil. Mae ôl-bys unfath gyda COOKIE gwahanol yn golygu disodli'r cwci yn unig. Mae ôl-bys gwahanol yn golygu bod tystysgrif y gweinydd wedi newid mewn gwirionedd, felly ail-biniwch hi'n fwriadol a chofnodwch pwy a gymeradwyodd hynny.
Cynhyrchwch y deunydd yn lle ei deipio
Nid oes gan ConnMan gam mewnforio ar gyfer proffil OpenConnect, yn wahanol i NetworkManager. Mae'n darllen ffeil ddarparu y mae'n rhaid cynhyrchu ei gwerthoedd ymlaen llaw, a'r ffordd a gefnogir i'w cynhyrchu yw modd authenticate OpenConnect.
sudo openconnect --csd-wrapper=/home/user/.cisco/csd-wrapper.sh \
--authenticate --user myuser vpn.example.comMae'r allbwn yn argraffu pedwar gwerth: POST, COOKIE, HOST a FINGERPRINT. Yr ôl-bys, gyda'r rhagddodiad sha256:, yw pin y gweinydd. Y cwci yw arteffact y sesiwn â hyd oes y mae'r porth yn ei benderfynu. Triniwch hwy fel gwahanol fathau o gyfrinach: maent yn dod i ben ar amserlenni gwahanol, a dim ond un sy'n disgwyl newid.
Mae'r ffeil yn cario'r ddau, ac maent yn heneiddio'n wahanol
Mae'r ffeil ddarparu yn /var/lib/connman-vpn/ ac mae'r daemon VPN yn ei darllen fesul cysylltiad, yn hytrach na'r applet hambwrdd. Cadwch enw'r cysylltiad yn yr adran fyd-eang a manylion y protocol yn adran y darparwr.
[global]
Name = Company VPN
[provider_openconnect]
Type = OpenConnect
Name = Company Cisco VPN
Host = vpn.example.com
Domain = corp.example
OpenConnect.ServerCert = sha256:...
OpenConnect.Cookie = ...Defnyddiwch yr enw gwesteiwr y mae'r porth yn ei wasanaethu mewn gwirionedd. Gall cyfeiriad IP noeth basio'r gwiriad tystysgrif a methu o hyd, oherwydd bod y teclyn yn llwybrwneud ar y gwesteiwr rhithwir ac yn disgwyl yr enw.
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 attemptBeth mae'r log yn ei ddangos mewn gwirionedd
Ni fydd awgrym yr hambwrdd yn dweud pa fai sydd gennych. Bydd y log yn gwneud, os darllenwch y dilyniant yn hytrach na'r llinell gyntaf sy'n peri braw. Mae cwci hen yn dangos yn nodweddiadol fod trafodaeth TLS wedi cwblhau a bod haen HTTP yn gwrthod wedyn, a dyna pam mae'r geiriau am dystysgrifau'n sefyll wrth ymyl methiant awdurdodi.
Cymharwch rediad authenticate ffres â'r gwerthoedd yn y ffeil. Os yw'r ôl-bys yn cyfateb a dim ond y cwci sy'n wahanol, mae gennych eich ateb heb gyffwrdd â gosodiadau ymddiriedaeth.
Adnewyddwch y maes sydd wedi dod i ben
Ailadroddwch y gorchymyn authenticate, disodlwch OpenConnect.Cookie, ac ailgychwynnwch y daemon. Gadewch yr ôl-bys yn llonydd oni bai bod yr allbwn ffres yn dangos gwerth gwahanol; yn yr achos hwnnw cafodd tystysgrif y gweinydd ei disodli mewn gwirionedd ac mae ail-binio yn benderfyniad y dylai rhywun ei gofnodi yn hytrach na'i ludo o neges wall.
Mae awtomeiddio'r adnewyddiad yn rhesymol: mae sgript fach yn darllen y cyfrinair o'r mewnbwn safonol, yn rhedeg modd authenticate, ac yn ailysgrifennu llinell y cwci yn unig. Cadwch yr hygrededd allan o'r sgript ac yn ddarllenadwy dim ond i'r cyfrif sy'n ei rhedeg, a gwnewch yr ailysgrifennu'n atomig fel na fydd rhediad aflwyddiannus yn gadael ffeil hanner ysgrifenedig.
Os oes angen yr adnewyddiad bob ychydig oriau, nodwch yr ysbaid. Mae'n briodwedd o bolisi sesiwn y porth, ac mae'n penderfynu a ddylid awtomeiddio'r adnewyddiad neu ofyn am sesiwn hirach.