HTTPS փրոքսին նշանակում է երկու TLS կապ, ոչ թե մեկը
Փրոքսի թռիչքը և կայքը առանձին TLS հարաբերություններ են՝ առանձին վստահությամբ։ Կարդացեք, թե որ ծայրն է ձախողվել, նախքան վկայագրի որևէ կարգավորում փոխելը։
HTTPS փրոքսի պիտակը նկարագրում է միայն ձեր հաճախորդի և փրոքսիի միջև տրանսպորտը, և ոչ ավելին։ Այն չի ասում, որ դրա հետևում գտնվող կայքը գաղտնագրված է նույն կապով, և չի ասում, որ փրոքսին կարող է կարդալ էջը։ Հենց որ առանձնացնեք երկու կապերը, վկայագրի սխալները դադարում են առեղծվածային լինելուց, և VPN-ի հետ համեմատությունը դառնում է շոշափելի։
Երկու զույգ ծայրեր, երկու ստուգում
Սովորական թունելային ռեժիմում կան երկու TLS հարաբերություններ։ Առաջինն անցնում է ձեր հաճախորդից դեպի փրոքսի և նույնականացնում փրոքսին։ Երկրորդն անցնում է ձեր հաճախորդից դեպի թունելի ներսում գտնվող կայք և նույնականացնում կայքը։ Դրանք ձախողվում են անկախ և կարգավորվում են անկախ։
Նրանք ունեն առանձին վստահության որոշումներ, առանձին վկայագրերի շղթաներ և առանձին ձախողման հաղորդագրություններ։ Կազմակերպական CA օգտագործող փրոքսին և հանրային շղթա օգտագործող հանրային կայքը կարող են օրինականորեն տարբեր ստուգման կարգավորում պահանջել, և դա սխալ կարգավորում չէ։
Վերաբերվեք նրանց որպես երկու կապ, որոնք պատահաբար կիսում են մեկ բնիկ, քանի որ դրանք հենց այդպիսին են։
Ինչ է իրականում թունելավորում CONNECT-ը
Հաճախորդն ուղարկում է CONNECT հարցում՝ նշելով հոսթը և պորտը, և փրոքսին TCP կապ է բացում դեպի այդ նպատակը։ Փրոքսիի պատասխանից հետո հաջորդ բայթերը փոխանցվում են առանց մեկնաբանության, դրա համար էլ կայքի TLS ձեռքսեղմումը անցնում է փրոքսիով անփոփոխ։ Այսպիսով փրոքսին իմանում է նպատակակետի անունը և կապի մետատվյալները, սակայն այդ դասավորությունից ապակոդավորված էջեր չի ստանում։
Այդ տարբերությունը թունելային ռեժիմի ամբողջ անվտանգության փաստարկն է, և միաժամանակ դրա սահմանը։
Փրոքսի թռիչքի վրա առանց TLS-ի HTTP փրոքսին դեռևս CONNECT-ի միջով տեղափոխում է HTTPS կայք։ Հաճախորդ-փրոքսի փոխանակումը բաց է, մինչդեռ կայքի կապը՝ ոչ, և ամբողջը HTTPS փրոքսի անվանելը թաքցնում է այդ տարբերությունը։
Որ վկայագիրն է ձախողվել
Երբ ստուգումը ձախողվում է, կարդացեք սխալում նշված ծայրը, նախքան վստահության որևէ կարգավորում փոխելը։ Երկու ձախողումները տերմինալում նման են երևում և մատնանշում են բոլորովին տարբեր ուղղումներ, դրա համար էլ առաջին հարցը միշտ այն է, թե որ կապն է մերժել։
curl-ը բաժանում է ընտրանքները հենց այդ պատճառով։ Փրոքսիի CA ֆայլը կարգավորում է փրոքսիի ստուգումը, մինչդեռ CA ֆայլը կարգավորում է սերվերի ստուգումը, և կիրառելի վստահության պահոցի վարքը նույնպես կախված է նրանից, թե ինչպես է կառուցվել curl-ը։
curl -v --proxy https://proxy.example.net:443 \
--proxy-cacert org-ca.pem --cacert public-ca.pem https://www.example.com/Ստուգումը ճնշելը վերանորոգում չէ։ Այն ոչինչ չի ապացուցում երկու ծայրերից ոչ մեկի մասին։
Զննումը այլ դասավորություն է
TLS զննումը թունելավորում չէ։ Զննող միջնորդը դադարեցնում է կայքի նկատմամբ վստահության հարաբերությունը և հաճախորդին ներկայացնում իր սեփական վկայագիրը, ուստի հաճախորդը ստուգում է միջնորդին, ոչ թե կայքը։ Դա կարող է օրինական լինել հաստատված նախագծի պայմաններում, և դա էապես տարբեր պնդում է, քան բայթ առ բայթ փոխանցումը։ Մի ենթադրեք, որ յուրաքանչյուր փրոքսի զննում է, և մի ենթադրեք, որ գաղտնագրված փրոքսի թռիչքը դա բացառում է։
Ձեր վստահության պահոցում գտնվող կազմակերպական CA-ն ակնարկ է, թե որ դասավորության մեջ եք, ոչ թե ապացույց։ Հարցրեք նախագծի մասին՝ վկայագրերի շղթայից այն եզրակացնելու փոխարեն։
Այդ երկու դասավորությունները տարբեր պատասխաններ են տալիս այն հարցին, թե ով կարող է կարդալ էջը։
Համեմատեք փրոքսին և VPN-ը նույն չորս տողերով
Համեմատությունը օգտակար է դառնում միայն այն ժամանակ, երբ երկու տեղաբաշխումներն էլ նույն ձևով են նկարագրվում։
| Line | What to state |
|---|---|
| Protected segments | Which hops are encrypted, and between which endpoints |
| Verified identities | What each end proves, and against which trust anchor |
| Trusted intermediaries | Who can read or alter traffic by design |
| Traffic included | Which processes and destinations the policy actually covers |
Մեկ հարցման համար կարգավորված փրոքսին ծածկում է այդ հարցումը։ Այն սարքի յուրաքանչյուր պրոցես իր միջով չի անցկացնում, և օրինակի հրամանը հենց այդքան նեղ է։ VPN-ի ծածկույթը կախված է դրա երթուղավորումից և հավելվածային քաղաքականությունից, որոնք նույնպես պետք է ստուգել, ոչ թե ենթադրել։ Ոչ մի տարբերակ ամեն ինչ չի ծածկում միայն այն պատճառով, որ տեղադրվել է։
Գրեք չորս տողերը յուրաքանչյուր տարբերակի համար, և վեճը սովորաբար ինքնըստինքյան լուծվում է։ Օգտակար համեմատությունը այն չէ, թե որ պիտակը ավելի գաղտնագրված է հնչում։ Այլ այն է, թե որ հատվածներն են պաշտպանված, ով է ստուգվում դրանց ծայրերում, որ միջնորդներին եք վստահում, և ինչ երթևեկություն է քաղաքականությունն իրականում ընդգրկում։