OpenVPN-ի CA ստորագրության բանալին թողեք /etc/openvpn-ից դուրս
CA-ի աշխատանքային տարածքը թողարկում է ինքնություններ, ծառայությունը միայն սպառում է տեղակայված նյութերը։ Տվեք յուրաքանչյուր դերին իր հաշիվը, պանակը և պահուստը, և ստուգեք երկուսն էլ։
Ձեռնարկում նման տեսք ունեցող երկու պանակներ բոլորովին տարբեր աշխատանք են կատարում։ Մեկը պահում է վկայագրման մարմինը՝ նրա գաղտնի բանալին, հերթականության հաշվիչը և այն ամենի գրառումը, ինչ նա ստորագրել է։ Մյուսը պահում է այն, ինչ դեմոնին պետք է մեկնարկելու և հաճախորդներին սպասարկելու համար։ Երկուսն էլ նույն հոսթում նույն հաշվի տակ պահելը հարմար է մեկ կեսօրի համար և թանկ՝ տեղակայման ողջ մնացած կյանքի համար, որովհետև այդ ժամանակ դեմոնը աշխատում է այն միակ բանալու կողքին, որ կարող է ստեղծել ցանկացած ինքնություն։
Ինչ է պարունակում CA-ի աշխատանքային տարածքը
PKI պանակը թողարկողի վիճակն է, ոչ կարգավորումը։ Այն պարունակում է CA-ի գաղտնի բանալին և վկայագիրը, հերթականության ֆայլ, թողարկված վկայագրերի ցանկ և դրանցից ստեղծված յուրաքանչյուր ինքնության նյութը։
Հարցման ստորագրումը փոխում է այդ վիճակը, այդ պատճառով աշխատանքային տարածքը պատկանում է ադմինիստրատորի վերահսկած հաշվին այնպիսի հոսթում, որտեղ VPN ծառայությունը չի աշխատում։ Ով կարող է կարդալ CA-ի գաղտնի բանալին, կարող է թողարկել վկայագիր, որին սերվերը կվստահի, ուստի բանալու պաշտպանությունը մեկ ֆայլում ամբողջ վստահության մոդելն է։ Այն երկրորդ տեղ պատճենելը քայլ խնայելու համար ստեղծում է երկրորդ պաշտպանվող բան և երկրորդ մոռացվող բան։ Յուրաքանչյուր ստորագրություն նաև ավելացնում է հերթականությունը և ցանկում գրառում ավելացնում, այդ պատճառով աշխատանքային տարածքը վիճակի մեկ օրինակ է, ոչ թե ֆայլերի պանակ։
CA-ի հանրային վկայագիրն այլ է։ Այն նախատեսված է տարածման համար, և հենց դրանով են հաճախորդներն ու սերվերները ստուգում միմյանց։
Ինչ է կարդում դեմոնը մեկնարկելիս
Աշխատող սերվերը սպառում է փոքր հավաքածու՝ իր վկայագիրը, իր գաղտնի բանալին, գործընկերներին ստուգելու CA վկայագիրը և այն բանալի նյութը, ինչ պահանջում է ընտրված ռեժիմը։ Այն կարդում է այդ ուղիները մեկնարկին և կրկին վերաբեռնման ժամանակ։
Սեփականությունը պետք է գնահատվի այն միավորի նկատմամբ, որն իրապես մեկնարկում է, ոչ թե ինտերակտիվ root shell-ի նկատմամբ։ Հայտարարված մեկուսացումը կարող է ֆայլային համակարգի մի մասը դարձնել միայն-կարդալու կամ անտեսանելի, նույնիսկ երբ root-ով ձեռքի փորձը հաջողվում է։
systemctl show -p User -p Group -p ReadOnlyPaths [email protected]
stat -c '%a %U:%G' /etc/openvpn/server/server.key
runuser -u openvpn -- test -r /etc/openvpn/server/server.key; echo $?Երրորդ տողն այն է, որ մարդիկ բաց թողնում են։ Այն հարցնում է դեմոնի սեփական հաշվից, թե կարող է արդյոք կարդալ բանալին, և արտոնությունը գցելուց հետո սա հարցի միակ ձևն է, որ նշանակություն ունի։ root-ով զրոյական ելքը ոչինչ չի ասում այն մասին, թե ինչ է լինում գցելուց հետո։
Երկու ձախողման ուղիներն արժե տարանջատել ցանկացած թույլտվություն փոխելուց առաջ։ Ստորագրման ձախողումը մատնանշում է PKI պանակին, նրա ծնող պանակների որոնման թույլտվությանը և թողարկողը վարող հաշվին։ Մեկնարկի ձախողումը մատնանշում է միավորին, նրա աշխատանքային պանակին և սերվերի կարգավորման մեջ նշված ուղիներին։ Ամբողջ ծառը բոլորի համար ընթեռնելի դարձնելը ոչ մեկը չի ուղղում և հեռացնում է այն սահմանը, որից երկուսն էլ կախված են։
Ինչու CA-ի բանալին սերվեր պատճենելը հետագայում ձախողվում է
Պատճենը սովորաբար սկսվում է որպես վրիպազերծման քայլ՝ ինչ-որ մեկը ցանկանում է թարմացնել հաճախորդին VPN հոսթում, ուստի CA-ի բանալին հայտնվում է /etc/openvpn-ում և թարմացումն աշխատում է։ Անմիջական խնդիրը հաջողվում է, և սահմանը վերանում է։
Հետո սերվերը պահուստավորվում է, և ստորագրման մարմինը միանում է պահուստներին։ Պատկերը, աջակցության փաթեթը կամ կարգավորման պանակի օրինակը այժմ կրում է վստահելի ինքնություններ թողարկելու ունակությունը, քանի դեռ CA-ն վավեր է։ Ով պահում է այդ օրինակը, կարող է վկայագիր ստեղծել ցանկացած անվան համար, որ սերվերն ընդունում է, ներառյալ անուններ, որոնք երբևէ չեն թողարկվել։ Այդ թողարկման միակ գրառումն այն է, ինչ նրանք որոշեն պահել։
Այդ վիճակից վերականգնվելը ֆայլ ջնջելու հարց չէ։ Պետք է որոշել՝ բանալին բացահայտվե՞լ է, եթե այո՝ պտտել CA-ն, և վստահությունը վերաբաշխել բոլոր գործընկերներին։ Առանձին աշխատանքային տարածքը խուսափեցնում է ամբողջ զրույցից։
Հաշիվներ, պանակներ, պահուստներ
Թողարկողին տվեք իր հաշիվը և տնային պանակը՝ հեռու VPN հոսթից, որտեղ դա գործնական է։ Դեմոնին տվեք այլ հաշիվ՝ տեղակայված նյութերը կարդալու իրավունքով և վկայագրեր թողարկող ոչնչի վրա գրելու իրավունք չունեցող։ Տեղակայեք հանրային վկայագրերը դուրս պատճենելով և երբեք ներս չքաշելով թողարկողի գաղտնի վիճակը։ Պահուստավորեք երկու դերերն առանձին, որովհետև նրանց զգայունությունը և վերականգնման պատմությունները տարբեր են։
Չեղարկումից հետո թարմացրեք CRL ֆայլը, որը նշում է սերվերի կարգավորումը, ապա վերաբեռնեք ծառայությունը, որպեսզի նոր կապերը կարդան այն։ Easy-RSA փաստաթղթերը նկարագրում են աշխատանքային տարածքի դասավորությունը և ստորագրման ընթացքը՝ դրա շուրջ սեփականության կանոնները մնում են ձեր հոսթի որոշումը։ Հաստատեք, թե ինչ է բեռնել ծառայությունը openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate-ով, ենթադրելու փոխարեն, որ վերաբեռնումը վերցրել է այն։
Թեստ, որն ապացուցում է բաժանումը
Ստուգեք բացասական դեպքը, ոչ միայն աշխատողը։ Ստորագրեք վկայագիր թողարկողի հաշվից ինչպես նախատեսված է, ապա հաստատեք, որ նույն հաշիվը չի կարող մեկնարկել ծառայությունը կամ կարդալ սերվերի գաղտնի բանալին։ Այնուհետև հաստատեք, որ դեմոնի հաշիվը չի կարող կարդալ CA-ի գաղտնի բանալին։
Այս երեք ստուգումները տևում են մի քանի րոպե և դիմանում են անձնակազմի փոփոխություններին, որովհետև դրանք պնդումներ են թույլտվությունների մասին, ոչ թե սովորության։ Գրեք արդյունքը նրա ընդգրկած ուղիների և հաշիվների հետ, գումարած այն ամսաթիվը, երբ դրանք աշխատեցրիք։ Հակառակ դեպքում այս տեղակայումը ժառանգող հաջորդ մարդը սահմանը նորից կբաղադրի ձեռնարկից, որտեղ սահման երբեք չի եղել։ Թվագրված գրառումն է նաև այն, ինչը հաջորդ վերանայումը դարձնում է րոպեներ, ոչ թե կեսօր։