ConnMan-ը աշխատում է մի կեսօր, հետո մերժում է, և մատյանի տողը հիշատակում է վկայագրի ստուգում։ Այդ տողը մարդկանց ուղարկում է CA փաթեթների մոտ, որոնք երբեք չեն փչացել։ Երկու տարբեր խափանումներ ստեղծում են ձախողման գրեթե նույն ձևը՝ սեսիայի քուքին սպառվում է, կամ սերվերի վկայագիրն իսկապես փոխվել է։ Դրանք կարելի է տարբերել մոտ մեկ րոպեում, և դրանցից միայն մեկն է առնչվում մատնահետքին։

Երկու խափանում, մեկ շփոթեցնող մատյանի տող

Դրանք բաժանվում են երկու դիտարկմամբ, և ոչ մեկը երկրորդ ընթերցում չի պահանջում։ Առաջինն այն է, թե երբ սկսվեց խափանումը՝ ժամկետանց քուքին գալիս է ժամերի կամ օրերի աշխատանքից հետո, և փոխարինված վկայագիրը գալիս է դարպասի փոփոխությունից անմիջապես հետո։

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

Մեկ րոպեի թեստը ներքևի authenticate աշխատանքն է։ Համեմատեք դրա FINGERPRINT-ը ֆայլի OpenConnect.ServerCert-ի հետ։ Նույն մատնահետքը տարբեր COOKIE-ի հետ նշանակում է փոխարինել միայն քուքին։ Տարբեր մատնահետքը նշանակում է, որ սերվերի վկայագիրն իսկապես փոխվել է, ուստի դիտավորյալ նորից ամրացրեք այն և գրանցեք, թե ով հաստատեց դա։

Ստեղծեք նյութը՝ փոխանակ այն մուտքագրելու

ConnMan-ը OpenConnect պրոֆիլի ներմուծման քայլ չունի, ի տարբերություն NetworkManager-ի։ Այն կարդում է տրամադրման ֆայլ, որի արժեքները պետք է նախապես ստեղծվեն, և դրանք ստեղծելու աջակցվող եղանակը OpenConnect-ի authenticate ռեժիմն է։

sudo openconnect --csd-wrapper=/home/user/.cisco/csd-wrapper.sh \
  --authenticate --user myuser vpn.example.com

Ելքը տպում է չորս արժեք՝ POST, COOKIE, HOST և FINGERPRINT։ Մատնահետքը, sha256: նախածանցով, սերվերի ամրացումն է։ Քուքին սեսիայի արտեֆակտն է, որի կյանքի տևողությունը որոշում է դարպասը։ Վերաբերվեք նրանց որպես գաղտնիքի տարբեր տեսակների՝ նրանք սպառվում են տարբեր ժամանակացույցերով, և միայն մեկն է սպասվում փոխվել։

Ֆայլը կրում է երկուսն էլ, և նրանք տարբեր կերպ են ծերանում

Տրամադրման ֆայլը գտնվում է /var/lib/connman-vpn/-ի տակ և ընթերցվում է յուրաքանչյուր միացման համար VPN դեյմոնի կողմից, ոչ թե սկուտեղի հավելվածի։ Միացման անունը պահեք գլոբալ բաժնում, իսկ արձանագրության մանրամասները՝ մատակարարի բաժնում։

[global]
Name = Company VPN

[provider_openconnect]
Type = OpenConnect
Name = Company Cisco VPN
Host = vpn.example.com
Domain = corp.example
OpenConnect.ServerCert = sha256:...
OpenConnect.Cookie = ...

Օգտագործեք այն հոսթի անունը, որը պորտալն իրականում սպասարկում է։ Մերկ IP հասցեն կարող է անցնել վկայագրի ստուգումը և այնուամենայնիվ ձախողվել, քանի որ սարքը երթուղավորում է վիրտուալ հոսթով և սպասում է անվանը։

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

Ինչ է իրականում ցույց տալիս մատյանը

Սկուտեղի հուշումը չի ասի, թե որ խափանումն ունեք։ Մատյանը կասի, եթե կարդաք հաջորդականությունը, այլ ոչ առաջին անհանգստացնող տողը։ Հնացած քուքին սովորաբար ցույց է տալիս, որ TLS բանակցությունն ավարտվել է, և HTTP շերտը հետո մերժել է, այդ իսկ պատճառով վկայագրերի մասին բառերը կանգնած են լիազորման խափանման կողքին։

Համեմատեք թարմ authenticate աշխատանքը ֆայլի արժեքների հետ։ Եթե մատնահետքը համընկնում է և տարբերվում է միայն քուքին, պատասխանն ունեք՝ չդիպչելով վստահության կարգավորումներին։

Թարմացրեք ժամկետանց դաշտը

Կրկնեք authenticate հրամանը, փոխարինեք OpenConnect.Cookie-ը և վերագործարկեք դեյմոնը։ Թողեք մատնահետքը հանգիստ, եթե թարմ ելքը տարբեր արժեք չցուցադրի՝ այդ դեպքում սերվերի վկայագիրն իսկապես փոխարինվել է, և վերաամրացումը որոշում է, որը ինչ-որ մեկը պետք է գրանցի, այլ ոչ թե տեղադրի սխալի հաղորդագրությունից։

Թարմացումը ավտոմատացնելը խելամիտ է՝ փոքր սկրիպտը գաղտնաբառը կարդում է ստանդարտ մուտքից, գործարկում է authenticate ռեժիմը և վերագրում է միայն քուքի տողը։ Պահեք հավատարմագրերը սկրիպտից դուրս և ընթեռնելի միայն այն հաշվի համար, որը գործարկում է այն, իսկ վերագրումը դարձրեք ատոմային, որպեսզի ձախողված աշխատանքը կիսատ գրված ֆայլ չթողնի։

Եթե թարմացումը պետք է ամեն մի քանի ժամը մեկ, գրառեք միջակայքը։ Դա դարպասի սեսիաների քաղաքականության հատկությունն է, և այն որոշում է՝ ավտոմատացնե՞լ թարմացումը, թե՞ ավելի երկար սեսիա խնդրել։

Առնչվող հոդվածներ