OpenVPN-ի կառավարման socket-ը՝ կառավարման ուղի, ոչ մետրիկներ
Ընդունված կառավարման հաճախորդը պահում է կառավարման հրամաններ, ոչ միայն կարդալու պատկեր։ Տիրացե՛ք Unix socket-ին, բաց թողեք նստաշրջանը պատկերների համար և TCP-ն դուրս պահեք։
Մեկ անգամ հարցրե՛ք կառավարման միջերեսին կարգավիճակի մասին, և այն սկսում է նմանվել կարգավիճակի պորտի։ Բայց այդպիսին չէ։ Հաճախորդն ընդունվելուց հետո կարող է արձակել արձանագրության կառավարման հրամանները, և այդ հաճախորդը գործարկող հաշիվը ժառանգում է այն ամենը, ինչ այդ հրամանները կարող են անել դեմոնին։ Այն որպես միայն կարդալու հոսք դիտարկելը այն սխալն է, որը մոնիտորինգի ինտեգրացիան վերածում է չնույնականացված կոնսոլի։
Հավատը և դրա գինը
Հավատը այն է, որ կառավարման լսողը համարժեք է մետրիկների վերջնակետի՝ միացրե՛ք հավաքիչ, կարդացե՛ք հաշվիչները, անցե՛ք առաջ։ Իրականում հավաքիչը բացում է նստաշրջան կառավարման հնարավորություններով, և տեղակայման մասին ձեր ցանկացած այլ ենթադրություն այժմ կախված է նրանից, թե այդ հավաքիչը որքան լավ է վարվում։
Միջերեսում ոչինչ չի գովազդում միայն կարդալու ռեժիմ։ Ընտրելու դիտորդի դեր չկա, և կազմաձևման մեջ օգտանունը այդպիսին չի ստեղծում։
Ինչ է իրականում պահում ընդունված հաճախորդը
Համայնքի դեմոնը ընդունում է միաժամանակ միայն մեկ ակտիվ կառավարման հաճախորդ։ Այդ մեկ տեղը նշանակում է, որ GUI-ն, սկրիպտը և մոնիտորինգի գործակալը չեն կարող բոլորը միանալ՝ երկրորդը սպասում է կամ ձախողվում, մինչ առաջինը պահում է նստաշրջանը։ Եթե ձեր նախագիծը ենթադրում է միաժամանակյա ընթերցողներ, ապա այն արդեն սխալ է։
Այնտեղ, որտեղ պարբերական պատկերը բավարար է, կարգավիճակի ֆայլի ելքը տալիս է նույն թվերը՝ առանց կենդանի նստաշրջանի։ Այդ ֆայլը պարբերաբար գրելը և սովորական ֆայլային թույլտվություններով կարդալը հավաքիչին ամբողջությամբ դուրս է պահում կառավարման հարթությունից, և դա այն դասավորությունն է, որն իրականում անհրաժեշտ է մոնիտորինգի մեծ մասին։
Սեփական socket, ոչ բաց
Unix տիրույթի socket-ը կառավարման ուղին դուրս է պահում ցանցից, ինչը խնդրից հեռացնում է փոփոխվող թունելի հասցեն։ Այն չի հեռացնում թույլտվությունների հարցը։ Ծնող գրացուցակը պետք է գրելի լինի ծառայության հաշվի համար և հասանելի լինի կառավարչի հաշվի համար, և դրանք երկու առանձին թույլտվություններ են՝
management /run/openvpn/office-management.sock unix /etc/openvpn/management.password
management-client-user vpn-observer
management-client-group vpn-observerԳաղտնաբառի ֆայլը կառավարման գաղտնիքը կրում է իր առաջին տողում։ Պաշտպանե՛ք այդ ֆայլը ինչպես ցանկացած այլ վկայական, և պահե՛ք դրա բովանդակությունը դուրս մատյաններից և աջակցության տոմսերից։ Օգտվողի և խմբի սահմանափակումները հավասարի ստուգումներ են Unix socket-ի վրա, ոչ ֆայլային համակարգի թույլտվություններ, ուստի նախատեսված գործընթացին անհրաժեշտ են և՛ ֆայլի հասանելիությունը, և՛ համապատասխան ինքնությունը։
Socket-ը ամբողջ աշխարհի համար հասանելի դարձնելը թույլտվության սխալը վերացնելու համար այն միակ ուղղումն է, որից պետք է խուսափել։ Այն տեղական կառավարման ուղին վերածում է մի բանի, որը հոսթի ցանկացած գործընթաց կարող է վարել։
TCP-ով հրապարակելը նույն նախագիծը չէ
Լսողը TCP պորտ տեղափոխելը այն ավելի ապահով կամ հարմար չի դարձնում։ Կառավարման գաղտնաբառը ուղարկվում է բաց տեքստով, ուստի TCP լսողը և՛ վկայականը, և՛ նստաշրջանը բացահայտում է ցանկացածին, ով կարող է դիտել ուղին։ Այլ հոսթից դրան հասնելու համար անհրաժեշտ է լիազորված վարչական ուղի կամ փոքր տեղական գործակալ, որը ցուցադրում է միայն ձեզ անհրաժեշտ դիտարկումները։
Բաց տեքստով փոխադրման վրա գաղտնաբառը նույնականացում է առանց գաղտնիության, և այդ համակցությունը ավելի վատն է, քան թվում է, որովհետև պաշտպանված է թվում։
Մեկնարկային կախվածություններ, որոնք չեք խնդրել
Մի քանի կառավարման ընտրանքներ փոխում են դեմոնի կյանքի ցիկլը։ Մեկնարկը պահելը մինչև կառավարչի միանալը, կամ ավարտելը, երբ կառավարիչը անհետանում է, ընտրովի դիտորդին վերածում է կոշտ կախվածության։ Այդ դեպքում վթարվող մոնիտորինգի գործակալը թունելն էլ իր հետ կիջեցնի։
Վերանայե՛ք այդ ընտրանքները նախքան socket-ից բացի որևէ այլ բան միացնելը։ Ընտրովի դիտարկումը պետք է մնա ընտրովի, և վերագործարկման քաղաքականությունը չպետք է կապվի գրաֆիկների համար ավելացված հավաքիչի հետ։
Ձախողված գործընթացից հետո մնացած socket ֆայլը ապացույց չէ, որ լսող գոյություն ունի։ Նախքան այն հեռացնելը պարզե՛ք, թե որ օրինակն է տիրում ուղուն, և օգտագործե՛ք ծառայության սեփական վերականգնման ընթացքը՝ գործող դեմոնի տակ ֆայլեր ջնջելու փոխարեն։
Ինչպիսին է ընդունումը
Չորս ստուգում ծածկում են նախագիծը՝ նախատեսված կառավարչի ինքնությունը միանում է, առանց այդ ինքնության գործընթացը մերժվում է, դեմոնը վերապրում է առանց նախազգուշացման անջատվող կառավարչին, և թունելը դեռևս տրաֆիկ է տեղափոխում վերահսկվող վերագործարկման ընթացքում։ Հաջող կառավարման կապը ապացուցում է միայն կառավարման հարթությունը։ Այն ոչինչ չի ասում այն մասին, թե արդյոք աշխատում է մասնավոր հավելվածների տրաֆիկը, ուստի դա ստուգե՛ք առանձին։ Գրե՛ք չորս արդյունքները այնտեղ, որտեղ հաջորդ օպերատորը կարող է գտնել դրանք։
Կառավարման միջերեսի փաստաթղթերը նկարագրում են մեկ հաճախորդի մոդելը և արձանագրության արտոնյալ բնույթը, և դա այն մասն է, որ արժե կարդալ նախքան դրա վրա վահանակ ուղղելը։