Թույլ չտալ NetworkManager-ին ցուցադրել պահված VPN գաղտնաբառը
Ամեն անգամ հարցրեք, հանձնեք բանալիների շղթային կամ պահեք ֆայլ, որը հասանելի է միայն root-ին։ Յուրաքանչյուր ընտրություն տարբեր ազդեցություն ունի, և գաղտնաբառի դրոշը պետք է համապատասխանի դրան։
NetworkManager-ը կարող է պահել VPN գաղտնաբառ, որպեսզի կապը բարձրանա առանց որևէ մեկի մուտքագրելու, և կարող է այդ արժեքը կրկին ցուցադրել խմբագրիչի կամ nmcli --show-secrets-ի միջոցով։ Հասանելի են սեփականության երեք մոդելներ, և ցուցադրման վարքը միայն ձեր ընտրածի ախտանիշն է։ Նախ ընտրեք մոդելը, ապա սահմանեք դրան համապատասխան դրոշը՝ փոխարենը տեղապահով դաշտ թաքցնելու, որը կշփոթեցնի հաջորդ մարդուն։
Սեփականության երեք մոդել
Առաջին մոդելը հարցնում է ամեն անգամ։ Ոչինչ չի պահվում, գաղտնիքը գոյություն ունի միայն ակտիվացման ընթացքում, և ով սկսում է կապը, պետք է իմանա գաղտնաբառը։ Սա ամենաանհարմար տարբերակն է և պաշտպանելու համար ամենահեշտը։
Երկրորդը գաղտնիքը հանձնում է օգտվողին պատկանող բանալիների շղթային։ Գործակալը բացվում է նստաշրջանի սկզբում և արժեքը տրամադրում է պահանջով, ինչը այն դուրս է պահում կապի ֆայլից, բայց կապը կապում է այդ օգտվողի նստաշրջանին։ Դրանից բխում են երկու պայման՝ գործակալը պետք է աշխատի, և այն պետք է բացված լինի։
Երրորդը պահում է պաշտպանված հավատարմագիր համակարգային կապի համար։ Այն դիմանում է վերագործարկումներին և աշխատում է մինչև որևէ մեկի մուտքը, և փոխարենը արժեքը սկավառակի վրա պաշտպանված է ֆայլի թույլտվություններով, ոչ թե գաղտնագրով։
Յուրաքանչյուր մոդել խելամիտ է ճիշտ համատեքստում։ Սխալը դրանք խառնելն է, և այդպես նոթբուքը հայտնվում է գաղտնիքով երկու տեղում և առանց հստակ պատասխանի, թե որն է հեղինակավոր։ Գրի առեք, թե պրոֆիլն որ մոդելն է օգտագործում։ Թիմի ձեռնարկի մեկ տողը փրկում է հաջորդ մարդուն չորրորդ որոնման տեղ հորինելուց։
Կարդացեք ընթացիկ վիճակը նախքան փոխելը
Նայեք պրոֆիլին և գաղտնիքի վիճակին որպես կապը կառավարող օգտվող։ Երկրորդ հրամանն է, որ ասում է՝ արժեքն իսկապես ընթեռնելի է, թե ոչ։
nmcli connection show "Office VPN"
nmcli --show-secrets connection show "Office VPN"
sudo stat -c '%U %a %n' /etc/NetworkManager/system-connections/*.nmconnection
Այդ պանակի բանալու ֆայլը սովորաբար պատկանում է root-ին 600 ռեժիմով։ Դա դուրս է պահում սովորական օգտվողներին և դուրս չի պահում root-ին, ինչը կարևոր է, երբ նույն մեքենան համատեղ է կամ երբ պահուստը աշխատում է root-ով։
Ֆայլի թույլտվությունները սահման են, ոչ գաղտնագրում։ Ով կարող է ֆայլը կարդալ root-ով, գաղտնաբառը տեսնում է բաց տեքստով։ Սա ընդունելի փոխանակում է հսկողություն չունեցող սերվերի համար և վատ՝ համատեղ աշխատանքային կայանի համար։ Մեկ անգամ գրառելը կանխում է երկար վեճը, թե արժեքը պաշտպանված է։
Ինչ է անում դրոշի յուրաքանչյուր արժեք
VPN գաղտնիքը կրում է flags հատկությունը, և արժեքները միայն թվերից պարզ չեն։
| Value | Meaning | Practical effect |
|---|---|---|
| 0 | No special flag | Secret is typically saved with the connection |
| 1 | Agent-owned | A keyring or secret agent supplies it |
| 2 | Not saved | Prompted at each activation |
| 4 | Not required | Connection proceeds without asking |
Փաստացի վարքը կախված է նաև փլագինից և նրանից՝ գործակալն աշխատում է, թե ոչ, ուստի աղյուսակը համարեք պայմանագիր, իսկ դիտարկված վարքը՝ այն, ինչ դուք ստուգում եք։ Մեկ աշխատասեղանում աշխատող արժեքը կարող է այլ կերպ վարվել առանց նստաշրջանի սերվերում։ Հենց այդ ճեղքում է ապրում շփոթեցնող տոմսերի մեծ մասը։
Սահմանեք հատկությունը բացահայտ՝ տող ջնջելով հույս դնելու փոխարեն։ Բացակայող դրոշը քաղաքականություն չէ, և հաջորդ փաթեթի թարմացումը կարող է այն լցնել մի բանով, ինչը դուք չէիք նախատեսել։
Համապատասխանեցրեք մոդելը կապի մեկնարկի պահին
Եթե կապը մեկնարկում է միայն այն ժամանակ, երբ օգտվողը մուտք է գործել, գործակալի սեփականությունը լավ է համապատասխանում և գաղտնիքը պահում է ֆայլից դուրս։ Եթե այն մեկնարկում է բեռնման պահին, մինչև որևէ նստաշրջանի գոյությունը, գործակալը չի կարող օգնել։
Սա է ամբողջ որոշումը մեքենաների մեծ մասի համար։ Սա նաև բացատրում է շփոթեցնող հաշվետվությունների դաս, երբ կապն աշխատում է ինտերակտիվ, բայց ձախողվում է վերագործարկումից հետո։ Դրոշը երբեք չի փոխվել, համատեքստն է փոխվել։
Առանց հսկողության դեպքի համար գործնական պատասխանը սահմանափակ root-պատկանող ֆայլն է կամ հաստատված հավատարմագրի աղբյուրը։ Պահեք այն կապի պրոֆիլից դուրս, եթե այդ պրոֆիլը երբևէ արտահանվի կամ պատճենվի այլ մեքենա։
Եթե արժեքն արդեն տեսանելի էր, փոխեք այն
Դրոշը փոխելը ձեռք չի տալիս հենց գաղտնաբառին։ Էկրանի նկարում, shell-ի պատմության մեջ, աջակցությանը ուղարկված փաթեթում կամ այլ օգտվողների համար բացվող ֆայլում հայտնված արժեքը պետք է համարվի բացահայտված։
Փոխեք այն սերվերում, ապա ուղղեք հաճախորդը և դադարեցրեք ցանկացած նստաշրջան, որը նույնականացվել է հինով։ Տեղական կապը ջնջելը հակառակ կողմում ոչինչ չի չեղարկում, և հենց դա են մարդիկ բաց թողնում։
Այնուհետև դադարեցրեք գաղտնաբառը հրամանի տողում դնելը։ Այն ընկնում է shell-ի պատմության մեջ և կարող է հայտնվել գործընթացների ցանկում, օգտագործեք ինտերակտիվ հուշումը կամ գործակալը։
Ստուգեք վերակապակցվելով
Կրկնեք այն հրամանը, որը ցույց տվեց գաղտնիքը, և հաստատեք, որ դաշտն այլևս չի տպվում։ Ապա անջատվեք և նորից միացեք, և վերագործարկեք, եթե կապը սկսվում է ինքնաշխատ, քանի որ հետաքրքիր խափանումը ի հայտ է գալիս միայն այն ժամանակ, երբ փոխվում է նստաշրջանի համատեքստը։
Եթե գաղտնիքը դեռ երևում է, ապա այն տրամադրում է այլ պրոֆիլ կամ այլ գործակալ։ Ստուգեք ակտիվ կապը և բանալիների շղթան՝ ֆայլեր ջնջելու փոխարեն, մինչև ախտանիշը տեղափոխվի։