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

Որոշեք երկու փաստից՝ որ արձանագրությունները պետք է անցնեն, և ով կարող է լուծել ներգրավված անունները։ Մնացած ամեն ինչ նախապատվություն է։

Վստահված անցումը տեղափոխում է միայն այն, ինչ հասկանում է

Վեբ վստահված անցումը վերլուծում է այն արձանագրությունը, որի համար կառուցվել է։ Հաճախորդը նրան հանձնում է հարցում, և այն փոխանցում է այդ հարցումը, ուստի առանց վստահված անցման կարգավորման հավելվածը բոլորովին չի մասնակցում։ HTTPS-ի համար հաճախորդին անհրաժեշտ է անթափանց ալիք, որը վստահված անցումը տրամադրում է CONNECT-ի միջոցով, ոչ թե հարցումը կարդալով։

SSH դինամիկ փոխանցումը բացում է տեղական պորտ, որը խոսում է SOCKS, և այդ պորտը TCP հոսքը փոխանցում է ցանկացած նպատակակետ, որը նշում է հաճախորդը։ TCP-ի վրա կառուցված արձանագրությունները սովորաբար աշխատում են դրա միջոցով։ UDP-ն՝ ոչ, եթե գործիքը բացահայտ աջակցություն չի ավելացնում։ Տեղական փոխանցումն էլ ավելի նեղ է՝ մեկ տեղական պորտ՝ քարտեզագրված մեկ հաստատուն հոսթի և պորտի, որը սպասարկում է մեկ հայտնի ծառայություն և ոչ ավելին։

ssh -D 1080 user@bastion
ssh -L 8443:fileserver.internal:443 user@bastion

VPN-ը տեղափոխում է փաթեթներ։ Այն ամենը, ինչ հաճախորդն ուղղում է թունել, անցնում է դրա միջով, ներառյալ UDP-ն և ICMP-ն, դրա համար այն հարմար է ցանցային պահանջի, ոչ թե մեկ կապի համար։

Ինչ-որ մեկը պետք է լուծի անունը

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

curl-ը հստակ ցույց է տալիս բաժանումը՝ մեկ դրոշակ հոսթի անունը փոխանցում է վստահված անցմանը, մյուսը նախ լուծում է այն տեղական։ Տեղական լուծման դեպքում միայն ներքին անունը ձախողվում է նախքան որևէ թունելի դիպչելը, և սխալը մեղադրում է վստահված անցմանը մի բանի համար, որ իրականում DNS որոշում էր։

VPN-ը գնում է երրորդ ճանապարհով՝ ուղիների կողքին տեղադրելով մասնավոր լուծիչը և որոնման դոմենը։ Դա հարմար է, և ստեղծում է ծանոթ պատրանք՝ երթուղին, որը գոյություն ունի չպատասխանող լուծիչի հետ, ուղիղ նման է մեռած թունելի, թեև փաթեթները հասնում են մյուս կողմը։

Երբ ցանցը թույլ է տալիս միայն մեկ ելք

Շատ կորպորատիվ ցանցեր ելքային կապեր թույլ են տալիս միայն նույնականացված վեբ վստահված անցման միջոցով։ OpenVPN և SSH-ը երկուսն էլ կարելի է աշխատեցնել այնտեղ՝ առաջինն իր տրանսպորտը վստահված անցման միջով թունելավորելով, երկրորդը՝ վստահված անցման հրահանգով, որը գործարկում է փոքր CONNECT օգնական։

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

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

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

Կեղծ հասցեն տարբերակներից մեկը չէ

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

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

Որոշեք ըստ արձանագրությունների և անունների

Ընտրեք վստահված անցում, երբ մեկ վեբ հաճախորդի պետք է մեկ վեբ ծառայություն և ունի վստահված անցման կարգավորումներ։ Ընտրեք SSH թունել, երբ բավական են մի քանի հայտնի TCP ծառայություններ և SSH հասանելիությունն արդեն կա։ Ընտրեք VPN, երբ մի քանի հավելվածներ, ոչ TCP երթևեկություն, մասնավոր DNS կամ կրկնօգտագործելի ուղի պահանջի մաս են կազմում։

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

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