Ինչու են պրոքսիները արգելափակում և ինչպես է դա աշխատում
Ով և ինչով է արգելափակում պրոքսիները, ինչ հատկանիշներով են դրանք ճանաչում և ինչու է FakeTLS-ը ավելի երկար դիմանում։
Բովանդակություն
Telegram-ի պրոքսին դադարում է աշխատել ոչ պատահաբար. այն գտնում և անջատում են միանգամայն կոնկրետ հատկանիշներով։ Ստորև՝ ով է արգելափակում, ինչ է տեսնում սարքավորումը, ինչու է քողարկումը օգնում և ինչ դեպքերում դադարում է օգնել։
Ով և ինչով է արգելափակում
Ռուսաստանում տրաֆիկն անցնում է TSPU սարքավորումով. դրանք ծրագրաապարատային համալիրներ են, որոնք տեղակայված են կապի օպերատորների ցանցերում։ Դրանք առաջացել են «ինքնիշխան ինտերնետի» մասին օրենքի հիման վրա (թիվ 90-FZ, 2019 թվականի մայիսի 1). 2020 թվականից Ռոսկոմնադզորը պարտավորեցրել է օպերատորներին դրանք տեղադրել։ Այդպիսի համալիրի հիմնական տեխնոլոգիաներն են փաթեթների խորը վերլուծությունը և ներխուժումների կանխարգելման համակարգը։[1]
[1] TSPU-ի նկարագրությունը տրված է Վիքիպեդիայի «TSPU» հոդվածով. նյութի աղբյուրներում դրա հղումը կա։
Համալիրները կառավարում է Ռոսկոմնադզորը կենտրոնացված եղանակով, ուստի մի տեղում ավելացված կանոնը կարող է միանգամից սկսել գործել բազմաթիվ օպերատորների մոտ։ Պրոքսի օգտագործողի համար սա նշանակում է մեկ բան. եթե պրոքսին ձեր մոտ «մահացել է», պարտադիր չէ, որ սերվերը կոտրվել է։
Երկրորդը, որ կարևոր է հասկանալ. սարքավորումը հաղորդագրություններ չի կարդում։ Այն գնահատում է տրաֆիկի տեսքը և արգելափակում է ըստ դրա։
Ինչ է տեսնում սարքավորումը
Telegram-ի հաղորդագրությունները գաղտնագրվում են բանալիով, որը ստեղծվում է սարքի գրանցման ժամանակ և ցանցով չի փոխանցվում։ Այն կա միայն հաճախորդի և Telegram-ի սերվերի մոտ. ո՛չ պրոքսին, ո՛չ ճանապարհին գտնվող սարքավորումը այն չգիտեն։ Ուստի նամակագրության բովանդակությունը ֆիլտրին հասանելի չէ։
Փոխարենը շատ բան մնում է բաց, և հենց այդ հավաքածուից է կազմվում կապի «մատնահետքը»՝
- սերվերի հասցեն և պորտը, որին ուղղված է կապը;
- կապի առաջին բայթերը՝ արձանագրությունը առավել հաճախ որոշում են հենց դրանցով;
- փաթեթների չափերը, դրանց հերթականությունը և դադարները դրանց միջև՝ հոսքի «ռիթմը»;
- արձանագրությունների բաց դաշտերը, օրինակ՝ կայքի անունը (SNI) TLS կապի սկզբում։
Սարքավորումը համեմատում է այդ հատկանիշները հայտնի օրինակների հետ։ Եթե կապը նման է MTProto պրոքսիի օրինակին, այն դանդաղեցնում կամ կտրում են՝ առանց որևէ հաղորդագրություն կարդալու։
Ինչ հատկանիշներով են ճանաչում պրոքսին
Սովորական ռեժիմ. ճանաչելի տեսք
Պրոքսիի հիմնական ռեժիմը կոչվում է obfuscated2։ Այն գաղտնագրում է ամբողջ հոսքը տրանսպորտի վրա, այնպես որ տվյալներում արձանագրության բաց հատկանիշներ չեն մնում։ Կապի սկիզբը 64 «պատահական» բայթ է, որոնցից ստացվում են բանալիները։
Բայց գաղտնագրումը թաքցնում է բովանդակությունը, ոչ թե տեսքը։ Մեկնարկային փաթեթը միշտ նույն երկարությամբ է, հետո գալիս է հարցումների և պատասխանների բնորոշ ռիթմը։ mtg-ի հեղինակների խոսքով՝ MTProto-ի սովորական տրաֆիկն ունի առանձնահատկություններ, որոնք DPI համակարգերն արդեն կարող են իմանալ, իսկ պաշտոնական MTProxy-ի README-ում ուղիղ ասված է. որոշ մատակարարներ MTProxy-ն որոշում են փաթեթների չափերով։[2]
[2] Սա կոչվում է արձանագրության «մատնահետք». DPI համակարգը տրաֆիկի տեսքը համեմատում է օրինակների հետ։
dd նախածանց. պատահական լրացում
Չափերով ճանաչման դեմ մտածել են padding. փաթեթներին ավելացնում են 0-ից 15 պատահական բայթ, և երկարությունները դադարում են հաստատուն լինել։ Secret-ում այդ ռեժիմը միացնում է dd նախածանցը։ Սա ֆիլտրի գործը բարդացնում է, բայց կապի սկիզբը մնում է նախկինը։
Հասցեի ուղիղ արգելափակում
Օպերատորի համար ամենապարզ եղանակը տրաֆիկը վերլուծելը չէ, այլ հասցեն փակելը։ Եթե սերվերի IP հասցեն կամ նրա պորտը հայտնվել են ցանկում, ոչ մի ռեժիմ չի օգնի. փաթեթները պարզապես չեն հասնի։ Ուստի պրոքսին ունի կյանքի ժամկետ, որը կախված չէ արձանագրությունից։
Ինչ է անում օպերատորը, երբ պրոքսին ճանաչվել է
Ճանաչված կապը սարքավորումը կարող է մշակել տարբեր կերպ։ DPI-ն ըստ սահմանման կարողանում է տրաֆիկի մասին ազդանշան տալ, արգելափակել, վերաուղղորդել կամ գրանցել, իսկ TSPU-ն, ըստ Վիքիպեդիայի նկարագրության, կառավարում է տրաֆիկը՝ դանդաղեցնում է կամ անջատում տեղային մակարդակով։ Այստեղից էլ՝ նույն պատճառի տարբեր ախտանիշները՝
- կապը կտրում են։ Telegram-ը ցույց է տալիս «Connecting…» և չի հասնում «Connected» կարգավիճակին;
- կապը դանդաղեցնում են։ Պրոքսին ձևականորեն միացած է, բայց զրույցները երկար են բացվում, իսկ լուսանկարներն ու տեսանյութերը չեն բեռնվում;
- հասցեն փակում են ամբողջությամբ։ Այդ դեպքում պրոքսին չի աշխատում ոչ մի ռեժիմով, մինչև տերը չփոխի սերվերը։
Ուստի դանդաղ պրոքսին միշտ չէ, որ ծանրաբեռնված է. երբեմն նրա տրաֆիկը պարզապես ընտրված է դանդաղեցնելու համար։ Պատճառները մեկ հատկանիշով տարբերել չի լինում. օգնում է միայն ցանցերի և այլ պրոքսիների համեմատությունը։
Ինչու է FakeTLS-ը ավելի երկար դիմանում
FakeTLS ռեժիմում (secret-ը սկսվում է ee-ով) հաճախորդը կապը սկսում է որպես սովորական HTTPS փոխանակում. ուղարկում է ClientHello իրական կայքի անունով՝ SNI դաշտում։ Ֆիլտրը տեսնում է այդ կայք այցելություն, ոչ թե պրոքսիի։
Քողարկումն ունի նաև երկրորդ շերտ։ Ֆիլտրը կարող է չսպասել հաճախորդին, այլ ինքը թակել կասկածելի հասցեին և նայել, թե ինչ կպատասխանի սերվերը։ Լավ իրականացումն այդպիսի հարցմանը պատասխանում է որպես իսկական կայք. mtg-ն, օրինակ, օտար հարցումները փոխանցում է քողարկող կայքին։ Եզրակացությունը պարզ է. արգելափակել այն ամենը, ինչ նման է հանրահայտ կայքերին դիմելուն, թանկ է՝ կազդի սովորական օգտատերերի վրա։
Կարևոր է
Ձեռքսեղմումը քայլ առ քայլ և քողարկման տիրույթի ընտրությունը վերլուծված է «FakeTLS. ինչպես է պրոքսին կայք ձևացնում» հոդվածում։
Որտեղ է FakeTLS-ը դադարում աշխատել
Սա հավերժական պաշտպանություն չէ։ telemt նախագծի FAQ-ի համաձայն՝ DPI-ն կարող է FakeTLS-ը ճանաչել SNI-ով, ALPN-ով և էնտրոպիայով, իսկ մատնահետքի կայունությունը կախված է Telegram հաճախորդի տարբերակից, ընտրված տիրույթից և ցանցային ուղուց։ Եթե տիրույթը չի համապատասխանում սերվերի հասցեին, մատակարարը կարող է դա նկատել. mtg-ի README-ում ասված է, որ google.com-ը օտար IP հասցեի վրա վատ ընտրություն է։
Ինչու է հարևանի մոտ աշխատում, իսկ ձեր մոտ՝ ոչ
Սարքավորման կանոնները սահմանվում են կենտրոնացված, բայց արդյունքը միևնույն է կախված է նրանից, թե որտեղ եք գտնվում։ Տնային մատակարարի, շարժական օպերատորի և կորպորատիվ ցանցը տարբեր ուղիներ և տարբեր կարգավորումներ են։ Վիքիպեդիայի TSPU-ի նկարագրության մեջ առանձին նշված են շարժական ինտերնետի տեղային անջատումները. մի տարածաշրջանում դրանք լինում են, մյուսում՝ ոչ։
Ուստի նույն պրոքսին կարող է տանը Wi‑Fi-ով աշխատել, բայց մետրոյում չաշխատել, իսկ աշխատանքի վայրում կախված լինել կորպորատիվ ֆիլտրից, որը փակում է ելքային կապերը ոչ ստանդարտ պորտերին։ Եթե հղումը դադարել է աշխատել ձեր մոտ, ստուգեք այն այլ ցանցում. սա ամենաինֆորմատիվ թեստն է, և այն մեկ րոպե է տևում։
Ինչպես հասկանալ, որ սա արգելափակում է
«Մեկ հատկանիշով» հուսալի եղանակ չկա, բայց պատկերը սովորաբար կազմվում է մի քանիսից՝
- պրոքսիի «Connecting…» կարգավիճակը մնում է մեկ րոպեից ավել;
- պրոքսին աշխատում էր և դադարեց, թեև դուք ոչինչ չեք փոխել;
- մի ցանցում (Wi‑Fi) աշխատում է, մյուսում (շարժական ինտերնետ)՝ ոչ;
- այլ հասցեներով այլ պրոքսիներ աշխատում են, իսկ այս մեկը՝ ոչ։
Եթե համընկել են երկու-երեք կետ, գործը ավելի շուտ ցանցում է, քան հղումում։
Telegram-ի տարբերակի դերը
Քողարկումը կախված է ոչ միայն սերվերից, այլև հաճախորդից։ FakeTLS կապը սկսում է հենց հավելվածը, և այն, թե ինչպես է տեսքով առաջին հաղորդագրությունը, կոչվում է մատնահետք։ Եթե մատնահետքը տարբերվում է սովորական զննարկչայինից, ֆիլտրին ավելի հեշտ է նկատել կեղծումը։ telemt-ի FAQ-ի համաձայն՝ Telegram-ի նոր տարբերակներում մատնահետքը ուղղված է, ուստի հնացած հաճախորդը այն պատճառներից մեկն է, թե ինչու «նույն» հղումը ձեր ծանոթի մոտ բացվում է, իսկ ձեր մոտ՝ ոչ։
Երբ պրոքսին չի օգնի
Պրոքսին սահմաններ ունի, և լավ է դրանք նախապես իմանալ՝
- սպիտակ ցանկերը շարժական ինտերնետում։ Այս ռեժիմում անցնում են միայն նախապես թույլատրված հասցեները. սովորական պրոքսիի սերվերն այդպիսի ցանկում չկա։ Այստեղ պետք է VPN;
- արգելափակված հասցե կամ պորտ։ Արձանագրության քողարկումը սերվերի IP հասցեն չի փոխում;
- ծանրաբեռնված սերվեր։ Եթե մեկ պրոքսիի վրա նստած են հազարավոր մարդիկ, այն հենվում է ալիքին, ոչ թե արգելափակմանը;
- զանգեր։ MTProto պրոքսիով դրանք չեն աշխատում. սա Telegram-ի ճարտարապետության հատկություն է, ոչ թե կարգավորման սխալ։
Կարճ
- Սարքավորումը հաղորդագրություններ չի կարդում, այլ գնահատում է տրաֆիկի տեսքը, հասցեն և արձանագրությունների բաց դաշտերը։
- Սովորական MTProto պրոքսին ճանաչելի է կապի սկզբով և փաթեթների ռիթմով. padding-ը և FakeTLS-ը այդ հատկանիշներին պատասխանում են հերթով։
- Քողարկումը չի փրկում փակված հասցեից ու պորտից, սպիտակ ցանկերից և սերվերի ծանրաբեռնվածությունից։
- Պրոքսին սպառվող նյութ է. պահեք պահեստայինը և հղումը մի հրապարակեք։
Ինչ է բխում սրանից
- Ընտրեք
ee-ով secret-ով և 443 պորտով պրոքսի. դա մեծացնում է հնարավորությունները, բայց աշխատանքը չի երաշխավորում։ - Թարմացրեք Telegram-ը. նոր տարբերակներում ուղղում են հաճախորդի TLS մատնահետքը։
- Մի հրապարակեք ձեր հղումը. որքան լայն է այն տարածվում, այնքան արագ այն կավելացվի ցանկերում։
- Ամբողջ սարքի համար և սպիտակ ցանկերի դեպքում պետք է VPN, ոչ թե պրոքսի։
Պահեք պահեստային պրոքսի
Պրոքսին ապրում է սահմանափակ ժամանակ, ուստի մեկ հասցեն անհուսալի սխեմա է։ Telegram-ի պրոքսիի կարգավորումներում կա ավտոմատ փոխարկման գործառույթ (անգլերեն տարբերակում՝ Auto-Switch Proxies). եթե ընթացիկը անջատվել է, հավելվածն անցնում է ցանկի հաջորդին։ Ավելացրեք երկու-երեք պրոքսի տարբեր աղբյուրներից և միացրեք այս տարբերակը. մեկ հասցեի կորուստը ձեզ չի ստիպի նորից հղում փնտրել։
Ինչ չարժե անել
- Հղումներ վերցնել առաջին պատահած կայքերից։ Telegram-ը խորհուրդ է տալիս օգտվել պրոքսիի տվյալներից միայն հուսալի աղբյուրներից. տերը տեսնում է ձեր IP հասցեն և տրաֆիկի ծավալը;
- Secret-ը տեղադրել երրորդ կողմի «ստուգիչներում»։ Secret-ը պրոքսիի գաղտնաբառն է, և դուք այն հանձնում եք օտար ծառայությանը;
- Ռեժիմը փոխել առանց պատճառի։ Եթե պրոքսին աշխատում է, secret-ի փոփոխությունները հաճախ կոտրում են կապը, քան օգնում;
- Հույս դնել հավերժական պաշտպանության վրա։ Ցանկացած քողարկում պատասխանում է այսօրվա հատկանիշներին, իսկ ֆիլտրման կանոնները փոխվում են։
Պրոքսին և VPN-ը տարբեր խնդիրներ են լուծում. առաջինն աշխատում է Telegram-ի ներսում և շրջանցում է մեսենջերի արգելափակումը, երկրորդը իր միջով անցկացնում է սարքի ամբողջ տրաֆիկը։
Հաճախ տրվող հարցեր
Ինչու՞ Telegram-ի պրոքսին դադարեց աշխատել։
Առավել հաճախ նրա հասցեն, պորտը կամ տրաֆիկի տեսքը հայտնվել են օպերատորի ֆիլտրման կանոնների տակ։ Լինում են նաև սովորական պատճառներ. սերվերն անջատված է, ծանրաբեռնված է կամ secret-ը սխալ է մուտքագրված։
Ի՞նչ է TSPU-ն պարզ բառերով։
Սա կապի օպերատորների մոտ գտնվող սարքավորում է, որը տրաֆիկը վերլուծում է թռիչքի ժամանակ. նայում է հասցեներին, փաթեթների չափերին ու ռիթմին, արձանագրությունների բաց դաշտերին և ըստ դրանց դանդաղեցնում կամ արգելափակում է կապերը։ Telegram-ի հաղորդագրությունների բովանդակությունը այն չի կարդում. այն գաղտնագրված է։
FakeTLS-ը օգնո՞ւմ է արգելափակումների դեմ։
Օգնում է տրաֆիկի տեսքով ճանաչման դեմ. կապը նման է սովորական կայք այցելության։ Բայց չի օգնում, եթե սերվերի IP հասցեն կամ պորտը արգելափակված է, և հավերժ պաշտպանություն չի երաշխավորում. telemt նախագծի FAQ-ի համաձայն՝ DPI-ն կարող է FakeTLS-ը ճանաչել SNI-ով, ALPN-ով և էնտրոպիայով։
Ինչու՞ է պրոքսին աշխատում Wi‑Fi-ով, բայց չի աշխատում շարժական ինտերնետով։
Տարբեր օպերատորներն ու ցանցերն ունեն տարբեր կանոններ և սարքավորում։ Ստուգեք երկու ցանցերը. եթե պրոքսին դրանցից մեկում աշխատում է, սերվերը սարքին է, իսկ խնդիրը ցանցում է։ Առանձին դեպք են շարժական ինտերնետի սպիտակ ցանկերը, երբ պրոքսին չի օգնի։