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

Սա գործող ուղու, իրականում ինչի հասել է ցույց տվող ստուգման քայլի և այն հետշրջման ուղեցույցն է, որը հետևում չի թողնում կիսակարգավորված կեռիկ։ Այստեղ ոչինչ նոր վկայական, նոր պլագին կամ արձանագրության ընդլայնում չի պահանջում։

Սահմանեք փոփոխականը և միացրեք ուղին

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

setenv UV_DEPLOY field-support
push-peer-info

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

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

Կարդացեք դաշտը սերվերի կեռիկից

Սերվերի կողմում ստացված զուգակցի տեղեկությունը վավերացվում է և տեղադրվում միացման աշխատահոսքի միջավայրում, և հենց դա է այն ընթեռնելի դարձնում կեռիկից՝ առանց ձեր կողմից արձանագրության աշխատանքի։ Սերվերը կարիք չունի վերլուծելու կառավարման ալիքը կամ ձեզ համար ինչ-որ բան պահելու. արժեքը պարզապես առկա է, մինչ միացումը հաստատվում է։ Նույնականացված անվան կողքին պիտակը գրանցող նվազագույն client-connect սկրիպտը այսպիսի տեսք ունի։

#!/bin/sh
# /etc/openvpn/server/hooks/label.sh
printf '%s %s\n' "$common_name" "${UV_DEPLOY:-unset}" \
  >> /var/log/openvpn/deploy-labels.log

Կարդացեք փոփոխականը միջավայրի միջոցով, այլ ոչ թե վերլուծելով լոգը, և միշտ տվեք նրան լռելյայն արժեք։ ${UV_DEPLOY:-unset} սկրիպտը պահում է աշխատունակ այն հաճախորդների համար, ովքեր երբեք չեն ուղարկում դաշտը, ինչը փուլային տեղադրման ընթացքում նորմալ վիճակ է։ Մի թափեք ամբողջ միջավայրը լոգի մեջ անունը գտնելու համար. այն պարունակում է շատ ավելին, քան պիտակը, ներառյալ արժեքներ, որոնք դուք չէիք նախատեսում պահել։

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

Ստուգեք, թե իրականում ինչ է հասել

Միացրեք մեկ հաճախորդ պիտակով և մեկը՝ առանց դրա, ապա կարդացեք ֆայլը։ Զույգը հենց թեստն է. մի տողը պետք է կրի արժեքը, իսկ մյուսը՝ լռելյայնը, և երկուսն էլ պետք է նշեն նույն նույնականացված ինքնությունը, որը դուք ակնկալում եք։

tail -n 5 /var/log/openvpn/deploy-labels.log
# field-support deployed-client-07
# unset         legacy-laptop-02

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

Ստուգեք նաև սերվերի լոգը միացման համար։ Զուգակցի տեղեկությունը կարող է այնտեղ հայտնվել, ինչը հարմար է վրիպազերծման համար և պատճառ է արժեքները ձանձրալի պահելու. ոչ մարդկանց անուններ, ոչ տոմսերի համարներ, ոչինչ, ինչ դուք չէիք ուզենա, որ լոգ կարդացողը տեսնի։

Պիտակին վերաբերվեք որպես պնդում, ոչ որպես ինքնություն

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

Այդ տարբերությունը որոշում է, թե որտեղ կարելի է օգտագործել պիտակը։ Լավ օգտագործումներն են սեսիան ճիշտ լոգ ֆայլ ուղղորդելը, վահանակում ցուցադրման խումբ ընտրելը կամ աջակցության սեսիան պիտակավորելը, որպեսզի մարդը հետագայում գտնի այն։ Վատ օգտագործումներն են սարքը ենթացանց թույլատրելը, firewall-ի քաղաքականություն ընտրելը կամ որոշելը, թե որ հաճախորդի տվյալները կարող է կարդալ սեսիան։

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

case "${UV_DEPLOY:-}" in
  field-support|field-qa|lab) : ;;
  *) UV_DEPLOY=unknown ;;
esac

Վերականգնեք այն մաքուր

Հատկությունը հեռացնելը երկու ջնջում և մեկ ստուգում է։ Հեռացրեք setenv և push-peer-info տողերը հաճախորդի պրոֆիլից, ապա հեռացրեք կամ անջատեք կեռիկը և նրա լոգի նպատակակետը սերվերում։

grep -rn 'UV_DEPLOY\|push-peer-info' /etc/openvpn/
tail -n 3 /var/log/openvpn/deploy-labels.log

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

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

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