Պրոքսի IP-ների պտտում առանց VPN-ի. ինչ է տեսնում ելքը
Պտտեք պրոքսի ելքերը առանց VPN-ի. ինչ կարող է կարդալ HTTP պրոքսին, ինչպես են կպչուն սեսիաները կանխում կոտրված վիճակը և որ ելքը կարող եք պաշտպանել քաղաքականության մեջ։
Պրոքսի պտտումը և VPN-ը փոխում են ձեր հանրային հասցեն տարբեր շերտերում, և այդ տարբերությունն է որոշում, թե ինչ է արտահոսում։ VPN-ը յուրաքանչյուր փաթեթ տեղափոխում է թունել, ուստի աղբյուրի հասցեն, որը տեսնում է թիրախը, թունելի վերջնակետն է։ Պրոքսին նստում է ցանցային շերտից վեր. միայն այն հարցումներն են երևում ելքից, որոնք ուղարկում եք դրա միջով, իսկ մեքենայի մնացած ամեն ինչ պահում է իրական հասցեն։ Այս բաժանումը ճիշտ անելը պտտումը վանդակից վերածում է դիզայնի որոշման։
Որտեղից է իրականում գալիս հանրային հասցեն
Այն հասցեն, որը տեսնում է թիրախը, այն է, որտեղից ձեր երթևեկությունը վերջին անգամ դուրս է եկել, և տնային կապում դա մատակարարի հասցեն է ձեր երթուղիչում, ոչ թե ինչ-որ բան, որ պատկանում է մեքենային։ Երթուղիչի վերագործարկումը կարող է վերադարձնել նույն վարձույթը, և դրա MAC հասցեն փոխելը երբեմն ստեղծում է նորը, բայց ոչ մեկը ձեզ երկրի ընտրություն չի տալիս։ VPN-ը փոխարինում է աղբյուրի հասցեն IP շերտում, ուստի մեքենայից եկող յուրաքանչյուր փաթեթ, ներառյալ DNS-ը և ֆոնային թարմացումները, դուրս է գալիս թունելի վերջնակետից։ Պրոքսին աշխատում է մեկ շերտ վերևում. այն ընդունում է հարցում, բացում է իր սեփական կապը դեպի թիրախը, և միայն այդ հարցումն է երևում ելքից։ Մեքենայի մնացած ամեն ինչ դեռ օգտագործում է իրական հասցեն։
Այս բաժանումը բացատրում է անակնկալների մեծ մասը։ Դեպի պրոքսի ուղղված բրաուզերի ընդլայնումը փոխում է միայն այն, ինչ ուղարկում է բրաուզերը, և ոչ այլ բան, ուստի նույն հոսթի վրա երկրորդ հավելվածը դեռ արտահոսում է սկզբնական հասցեն։ Համակարգային VPN-ն ունի հակառակ խափանման ռեժիմ. այն ծածկում է երթևեկությունը, որը ցանկանում էիք տեղում պահել, և փակվում է միայն այն դեպքում, երբ հաճախորդը այդպես է կարգավորված։ Երկուսի միջև ընտրելը իրականում ընտրելն է, թե որ երթևեկությունը պետք է շարժվի։
Այնուհետև պտտումը կիրառվում է այն շերտի վրա, որը դուք ընտրել եք։ Պրոքսիի դեպքում պտտումը նշանակում է, որ հաջորդ հարցումը օգտագործում է այլ ելք։ VPN-ի դեպքում դա նշանակում է քանդել և վերակառուցել թունելը, ինչը դանդաղ է և երևում է որպես տեսանելի վերակապակցում։
Ինչ կարող է կարդալ HTTP պրոքսին, և ինչ չի կարող
Պարզ HTTP-ի դեպքում պրոքսին հարցման տողում տեսնում է բացարձակ URI, յուրաքանչյուր վերնագիր և մարմինը։ Այն կարող է գրանցել այդ ամենը և վերաշարադրել ցանկացած մասը, ինչի պատճառով պատասխանների մեջ սկրիպտ ներարկող անվճար պրոքսին անում է հենց այն, ինչ թույլատրում է արձանագրությունը։ Նույնականացումն օգտագործում է Proxy-Authorization, և բացակայող կամ սխալ հավատարմագրումը ստեղծում է 407 Proxy Authentication Required կապի սխալի փոխարեն։
HTTPS-ում հաճախորդն ուղարկում է CONNECT host:port և պրոքսին բացում է հում թունել, որից հետո տեսնում է գաղտնագրված բայթեր։ Այն դեռ սովորում է հոսթի անունը CONNECT տողից և սովորաբար TLS ձեռքսեղմման SNI դաշտից, ուստի հոսթի անվան մակարդակի գրանցումը գոյատևում է, նույնիսկ եթե բեռը չի գոյատևում։ Բեռը կարդալու համար պետք է ավարտել TLS-ը այն վկայականով, որին վստահում է հաճախորդը, ինչը այլ արտադրանք է՝ այլ ռիսկով։ Եվ HTTP իմաստաբանության ճշգրտումը CONNECT-ը սահմանում է որպես թունելի հարցում, ինչը ճիշտ մտավոր մոդել է այն բանի համար, ինչ ելքը կարող է և չի կարող տեսնել։
curl -v -x http://proxy.example.net:8080 https://example.com 2>&1 | grep -E 'CONNECT|Proxy-'
Մանրամասն ելքը ցույց է տալիս CONNECT տողը ցանկացած TLS երթևեկությունից առաջ, և հենց այդ պահին պրոքսին իմանում է ձեր նպատակակետը։ 407-ով պատասխանող պրոքսին երբեք չի բացել թունելը, ուստի այլ TLS կարգավորումներով կրկին փորձելը չի օգնի։
Պտտման հատիկավորությունը որոշում է, թե ինչ է կոտրվում
Յուրաքանչյուր հարցման վրա պտտելը այն կարգավորումն է, որն ամենաապահովն է թվում և ամենաշատն է կոտրում։ Cookie-ները, CSRF նշանները և սերվերի կողմի սեսիաները կապված են ինքնության հետ, և այն ինքնությունը, որը փոխվում է մուտքից մինչև հաջորդ կանչը, թիրախի համար թվում է սեսիայի առևանգում։ Շատ մատակարարներ առաջարկում են կպչուն սեսիա՝ կոդավորելով այն պրոքսիի օգտանվան մեջ, ուստի ելքը մնում է ամրագրված ընտրված պատուհանի ընթացքում։
Հատիկավորությունն ընտրեք առաջադրանքից, ոչ թե մատակարարի լռելյայնից։ Անկախ էջեր բերող սողացողը կարող է պտտվել յուրաքանչյուր հարցման վրա, մինչդեռ վճարման հոսքը կամ նույնականացված API-ն պետք է մեկ ելք պահի ամբողջ հոսքի համար։ Ներքևի երկու կանչերը ցույց են տալիս կպչուն օգտանուն և սովորական պտտվող վերջնակետ, և socks5h սխեման անունները լուծում է պրոքսիում, ոչ թե տեղում։
curl -sS -x http://user-session-a1b2:[email protected]:8080 https://ifconfig.me
curl -sS -x socks5h://127.0.0.1:1080 https://ifconfig.me
Տեղական DNS-ը լուռ արտահոսք է։ Եթե հաճախորդը անունը լուծում է միանալուց առաջ, լուծիչը դեռ իմանում է յուրաքանչյուր հոսթ, որը դուք այցելում եք, նույնիսկ եթե HTTP հարցումը դուրս է գալիս այլ տեղից։ Եվ socks5h ձևը և պրոքսիի կողմի լուծումը խուսափում են դրանից, և դրանք օգտագործելը ոչինչ չի արժենա։
Ինչ է դասակարգում թիրախը հասցեից բացի
Հասցեի համբավը մի քանի մուտքերից մեկն է։ Թիրախները միավորում են ASN-ը և դրա տվյալների կենտրոն կամ բնակելի պիտակը, հաճախորդի TLS մատնահետքը, HTTP/2 կարգավորումները, վերնագրերի հերթականությունը, հարցումների հաճախականությունը և նավիգացիայի ձևը։ Առանց գլխի բրաուզերի կողմից ղեկավարվող բնակելի ելքը կարող է ձախողվել այնտեղ, որտեղ իրական սեսիայով ղեկավարվող տվյալների կենտրոնի ելքն անցնում է։
Ելքի տեսակը որոշում է, թե ինչ կարող եք ազնվորեն պնդել երթևեկության մասին, և յուրաքանչյուրն ունի տարբեր արժեք։
| Exit type | What the target sees | Main cost |
|---|---|---|
| Datacenter proxy | Hosting ASN, cheap, often pre-blocked | Low reputation, easy to detect |
| Residential network | A consumer ISP address belonging to someone else | Consent and terms-of-service exposure |
| Mobile carrier | A carrier NAT address shared by many subscribers | Price, plus shared blame for abuse |
| Your own cloud egress | An address you are accountable for | Recognisable, but defensible |
Համօգտագործվող ելքը չեզոք չէ։ Այդ հասցեից աշխատող մնացած ամեն ինչ ընկնում է համբավի նույն զամբյուղը, և այլ վարձակալների կողմից արդեն այրված հասցեն ձախողվում է նախքան ձեր առաջին հարցումը կարդալը։
Ընտրեք ելք, որը կարող եք նկարագրել քաղաքականության մեջ
Օգտակար հարցը ոչ թե ինչպես թաքցնել հասցեն է, այլ ով է պատասխանատու դրանից դուրս եկող երթևեկության համար։ Ձեր սեփական ամպային ելքը յուրաքանչյուր առաջադրանքի համար, պայմանագրային մատակարար՝ տվյալների մշակման համաձայնագրով և հրապարակված պահպանմամբ, և ինքնահոսթավորված VPN՝ յուրաքանչյուր առաջադրանքի համար մեկ ինքնությամբ, բոլորը նկարագրելի են մեկ նախադասությամբ։ Անվճար ցանկը՝ ոչ, որովհետև դրա օպերատորը ձեր հանդեպ ոչ մի պարտավորություն չունի և ունի գրանցելու բոլոր խթանները։
Ձեր սեփական արագության սահմանները պահեք այն ամենից ցածր, ինչ թիրախը հանդուրժում է, և հավաքեք միայն այն դաշտերը, որոնք անհրաժեշտ են առաջադրանքին, որպեսզի սխալը փոքր մնա։ Բլոկից խուսափելու համար ավելի արագ պտտելը սովորաբար բարձրացնում է հարցումների հաճախականությունը, որն առաջացրել է այն։
Գրեք ընտրված ելքը, դրա պտտման պատուհանը և դրա սեփականատիրոջը աշխատանքի կարգավորումներում առաջին գործարկումից առաջ։ Երբ բլոկը գա, հենց այդ գրառումն է ասում ձեզ՝ փոխել ելքը, թե փոխել վարքը։