--csd-wrapper-ը պրոֆիլին ավելացնելը տեղական սկրիպտը հանձնում է դեմոնին, որը այն գործարկում է մուտքի ընթացքում, ուստի ձեր առջև դրված որոշումը կոդի վերանայումն է, ոչ թե նախապատվության անջատիչ։ Ընտրանքը գոյություն ունի, որպեսզի հնարավոր լինի փոխարինել դարպասի հոսթի ստուգման բաղադրիչը, և այն ընդունում է ուղի դեպի ձեր տրամադրած սկրիպտը։ Ստորև ամեն ինչ ենթադրում է, որ տեղադրման սեփականատերն արդեն ասել է, թե որ կեցվածքի ստուգումն է պահանջվում. եթե այդ մասը դեռ բաց է, նախ լուծեք այն։ Ուղեցույցն ունի չորս քայլ. գտնել ձախողված փուլը, կարդալ սկրիպտը, ընտրել այն ինքնությունը, որի ներքո այն աշխատում է, և ապացուցել արդյունքը։

Քայլ 1. գտեք ձախողված փուլը

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

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

openconnect --version
openconnect --verbose --user="$VPN_USER" vpn.example.com </dev/null

Պահեք սղագրությունը տեղում, որովհետև քուքիներն ու նույնականացման պատասխանները մուտքի նյութ են։ Զրույցի մեջ փակցված հետքը հավատարմագրերի արտահոսք է նույնիսկ այն դեպքում, երբ գնահատման քայլը անվնաս է թվում։ Կիսվեք սխալի տեքստով և հոսքի այն կետով, որտեղ այն հայտնվել է, երբեք՝ բեռնվածքով։

Քայլ 2. կարդացեք սկրիպտը նախքան այն պրոֆիլ կմտնի

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

sha256sum ./vpn-csd-wrapper.sh
bash -n ./vpn-csd-wrapper.sh

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

Ստուգեք նաև փաթեթավորված բեռնվածքները, որովհետև ընթեռնելի վերնագիրը ոչինչ չի ապացուցում ֆայլի մնացած մասի մասին։ Ֆորումի թեմայից սկրիպտ ներբեռնելը այն հուսալի չի դարձնում միայն այն պատճառով, որ դրա անունը արձագանքում է իրական հոսթի ստուգման բաղադրիչին։ Գրանցեք, թե ով է տեղադրել այն, որտեղից է եկել և ինչպես կթարմացվի։

grep -nE 'base64 -d|xxd -r|eval |curl |wget ' ./vpn-csd-wrapper.sh

Քայլ 3. ընտրեք այն ինքնությունը, որի ներքո աշխատում է փաթաթան

--csd-user-ը նվազեցնում է արտոնությունները, մինչ CSD, TNCC կամ HIP ծրագիրն է գործարկվում։ Այդ հաշիվը տեղական կատարման կարգի մաս է, ոչ թե դարպասին ներկայացվող օգտանունը։

Տվեք փաթաթային առանձին հաշիվ՝ առանց ինտերակտիվ shell-ի, առանց sudo իրավունքների և առանց իրեն անհրաժեշտ չեղած խմբային անդամակցությունների։ Տվեք ընթերցման հասանելիություն սկրիպտին և այն կոնկրետ ֆայլերին, որոնք այն ստուգում է, ապա փորձարկեք արտոնությունների նվազումը նախքան VPN պրոֆիլին դիպչելը։ Խնդիրը այստեղ գտնելը ավելի էժան է, քան այն հաճախորդի ներսում գտնելը։

sudo -u vpn-csd /usr/local/libexec/vpn-csd-wrapper.sh

Արտոնությունների նվազեցումը սահմանափակում է վնասը, որը վատ սկրիպտը կարող է պատճառել։ Այն չի վերանայում կոդը, չի դարձնում հաշվետվությունը ճշմարիտ և չի հաստատում, որ դարպասի ադմինիստրատորը ընդունում է այս իրականացումը որպես սարքի քաղաքականությանը համապատասխանող։

Քայլ 4. պահեք փոփոխությունը հետադարձելի

Կրկնօրինակեք պրոֆիլը խմբագրելուց առաջ և պահեք փաթաթան տարբերակների հսկողության տակ, որպեսզի հետադարձը վերականգնի հայտնի հեշ, այլ ոչ թե պատճեն փնտրի։ Գրեք սկրիպտի ուղին, հեշը, գործարկման օգտատերը և հաստատողը մեկ տեղում։

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

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

Կարճ ուղիներ, որոնք երկրորդ խնդիր են ստեղծում

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

Սերվերի ստուգման անջատումը, հին քուքիի կրկնարկումը և չվերանայված սկրիպտների կուտակումը բոլորը տեսանելի ձախողումը փոխանակում են անտեսանելիի հետ։ Եթե տեղադրված հաճախորդը չի կարող ավարտել աջակցվող հոսքը, խնդրեք հաստատված այլընտրանք՝ ձեր ունեցածը ծալելու փոխարեն։

OpenConnect-ի ձեռնարկը առանձին նկարագրում է --csd-wrapper-ը և --csd-user-ը, և սա է այն հուշումը, որ կարևոր է. սկրիպտն ու ինքնությունը երկու որոշում են։ Վերանայեք դրանք առանձին և գրեք երկուսն էլ։ Այնուհետև մուտքի հուշումը դադարում է հանելուկ լինելուց, որը լուծում եք կոդ փակցնելով։

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