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

Ինչու է խմբագրված ֆայլը նորից ստեղծվում

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

Նայեք, թե ինչ է գրում բեռնման հաջորդականությունը և երբ։ Պատասխանը գրեթե միշտ ծրագրաշարի init կամ ինքնագործարկման պանակում գտնվող սկրիպտն է։

Տեղադրեք հրահանգը այնտեղ, որտեղ սկրիպտը կառուցում է ֆայլը

QTS սարքերը OpenVPN սերվերի կարգավորումը նորից ստեղծում են դեմոնը գործարկող init սկրիպտի ներսում, ուստի խմբագրումը պետք է կատարվի այնտեղ։ Ավելացումը տեղադրեք ուղիղ մեկնարկի հրամանից առաջ՝ ստեղծված ֆայլը խմբագրելու փոխարեն։

sed -i '/daemon_mgr/i echo client-config-dir clientconfig >>/etc/openvpn/server.conf' /etc/init.d/vpn_openvpn.sh
grep -c client-config-dir /etc/openvpn/server.conf

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

Վերանորոգեք ձևաթուղթը, որը պահել է փախուստի ենթարկված բանալիներ

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

openssl dhparam -out dh2048.pem 2048
grep -n "BEGIN DH PARAMETERS" dh2048.pem

Նոր պարամետրերի հավաքածուն փոխարինելիս տեղադրեք միայն base64 ծանրաբեռնվածությունը, եթե պիտակը պահանջում է բանալու մարմինը, և պահեք զրահի տողերը միայն այն դեպքում, երբ դաշտը սպասում է ամբողջական PEM բլոկի։ Արդեն փախուստի ենթարկված ձևով պահված էջը վերականգնելը սովորաբար նշանակում է մաքրել ազդված մուտքերը և կիրառել, ինչը թույլ է տալիս ծրագրաշարին նորից կառուցել դրանք։ Ստեղծեք 2048 բիթից բարձր ամեն ինչ աշխատանքային կայանում, քանի որ երթուղիչի էնտրոպիայի մատակարարումը գործողությունը դարձնում է դանդաղ և երբեմն անվստահելի։ Պահեք պարամետրերի ֆայլը մի տեղ, որտեղ կարող եք հասնել գործարանային վերականգնումից հետո։

Նորից ստուգեք թարմացումներից հետո

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

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

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