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

Երեք արձանագրություն, երեք իմաստ

Յուրաքանչյուր արձանագրություն բանալու խնդիրը սահմանում է իր բնութագրում, և այդ խնդիրները չեն համընկնում։ Նույնականացման գաղտնիքն ապացուցում է, որ երկու կողմերը գիտեն նույն արժեքը։ Կառավարման ուղու բանալին պաշտպանում է հաջորդ բանակցությունը։ Ձեռքսեղմման հավելումը փոխում է բանալիների գրաֆիկը՝ չփոխելով, թե ովքեր են կողմերը։

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

IPsec-ը և OpenVPN-ը բառը տարբեր կերպ են օգտագործում

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

OpenVPN-ի tls-auth և tls-crypt ընտրանքները կառավարման ուղուն կցում են ստատիկ բանալի՝ ավելացնելով HMAC ստորագրություն կամ գաղտնագրելով հենց բանակցությունը։ Այդ բանալին օգտվողի գաղտնաբառ չէ և չի փոխարինում հաճախորդի վկայագիրը։ Երկուսը տարբերելը կարևոր է թարմացման պահին, երբ գաղտնաբառի փոփոխությունը կառավարման ուղու բանալին անփոփոխ է թողնում։

WireGuard-ի PSK-ն ավելացնում է, այն չի նույնականացնում

WireGuard-ի կողմերն արդեն ունեն Curve25519 հանրային և գաղտնի բանալիներ, և ձեռքսեղմումը նույնականացնում է այդ ինքնությունները։ Ընտրովի նախապես համաձայնեցված բանալին խառնվում է շղթայական բանալուն և սիմետրիկ նյութ ավելացնում հանրային բանալիների փոխանակման վրա։

Այն ինքնին ոչ ինքնություն է տալիս, ոչ օգտվողի հաշիվ, ուստի օպերատորը չի կարող տարբերել երկու տերերի ըստ նրանց PSK-ի։ Երկու կողմերն էլ պետք է կրեն նույն արժեքը, հակառակ դեպքում ձեռքսեղմումը ձախողվում է առանց օգտակար սխալի հաղորդագրության։ Այդ պատճառով ռոտացիան պետք է պլանավորվի երկու կողմերի համար միաժամանակ, այլ ոչ թե որպես մեկ ֆայլի խմբագրում։

Ստուգեք տարածումը, ռոտացիան և հեռացումը

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

Base64 տեքստը գաղտնագրում չէ։ Նույն պանակում հանրային վկայագրի կողքին պահված գաղտնիքը դեռ բաց տեքստով գաղտնիք է։

openssl rand -base64 32
sudo wg show wg0 preshared-keys
sudo grep -R -n 'psk' /etc/ipsec.d/ 2>/dev/null

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

Փաստաթղթավորեք, թե որ գաղտնիքն է պաշտպանում որ փուլը, որպեսզի գաղտնաբառի վերականգնումը երբեք չշփոթվի գաղտնագրային բանալու թարմացման հետ։ Այդ մեկ տողը ամեն անգամ մեկ ժամ խնայում է, երբ ինչ-որ մեկը ստուգում է տեղակայումը։

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