پراکسیهای تلگرام و نحوهی کار آنها
در نوشتهی زیر سعی کردیم به سوالهای کاربران دربارهی پراکسیهای تلگرام پاسخ دهیم. پراکسیهای تلگرام از جمله MTProto، Socks5 چگونه کار میکنند؟ تفاوت آنها با فیلترشکنها چیست؟ امنیت آنها چطور است؟ و ...
پراکسی چیست؟
پراکسی به صورت ساده، یک واسط بین کاربر و باقی شبکهی اینترنت است. استفادهی اصلی پراکسی، بالابردن امنیت و بهرهوری اتصالات کاربر و همچنین در مواردی، کنترل و ایجاد محدودیتهای مرتبط با شرایطِ استفاده است. برای مثال در برخی شرکتها برای اتصال کارکنان به اینترنت از پراکسی استفاده میشود و مدیرِ شبکه این امکان را خواهد داشت که برای سایتهای قابل بازدید، محدودیت ایجاد کند و یا با ذخیره کردن دادههای حجیم که مورد استفادهی اغلب کاربران است، سرعتِ دسترسی به این دادهها را افزایش داده و ترافیک مصرفی و هزینهی اینترنت را کاهش دهد. همچنین مدیر شبکه (در مثال بالا) میتواند با نظارت بر اتصالات، از خطرهای شناخته شده و حملات خارجی به کاربران و کامپیوترهای آن شرکت جلوگیری کند.
پراکسی به عنوان فیلترشکن
قابلیتِ پراکسی برای عبورِ اطلاعاتِ رد و بدل شده بین کاربر و وبسایتها یا سرویسها از طریق یک سِروِر سوم باعث شد تا کاربرها برای دور زدنِ فیلترینگ از پراکسی استفاده کنند. با این روش، دستگاهِ نظارت و فیلترینگ متوجه نمیشد که اتصال کاربر با کدام سایت است و در واقع سِروِر پراکسی را به عنوان مقصدِ اطلاعات رد و بدل شده میدید و جلوی آنها را نمیگرفت.
به تدریج و با پیشرفتِ روشهای فیلترینگ و خرید نرمافزار و سختافزارهای پیشرفته، سیستم فیلترینگ ایران موفق شد که استفادهی کاربر از پراکسی را تشخیص داده و جلوی اطلاعات را بگیرد. از طرف مقابل نیز، کاربرها به استفاده از پراکسی سِروِرهایی روی آوردند که علاوه بر روشهای عادی انتقالِ اطلاعات را رمزنگاری میکرد. با افزوده شدن این رمزنگاریها، کارِ سیستم فیلترینگ سختتر شده و تلاش مردم برای دسترسی به اطلاعات آزاد و تلاش سیستم فیلترینگ برای جلوگیری از این دسترسی ادامه پیدا کرد.
سیستم فیلترینگ در پارهای از زمانها، برای اعمالِ محدودیتهای بیشتر و به منظورِ از کار انداختن پراکسیها مجبور شده تا به صورت کلی دسترسی به IP سرویسدهندههایی که از سِرِورهای آنها برای راهاندازی پراکسی استفاده میشود را قطع کند. به این شکل، حتی سایتهایی که از این سرویسدهندهها استفاده میکردند نیز برای چند روزی دچار مشکل شدند. برای مثال با شروع دورِ جدید فیلتر کردن تلگرام در ایران، دسترسی به همهی IP های دیجیتال اوشن (DigitalOcean)، که سرورهایی با قیمت مناسب برای فروش دارد، قطع شد.
تفاوت پراکسی با فیلترشکن (ویپیان)
در مقایسه با فیلترشکن (ویپیان)، پراکسیها محاسبات سادهتری انجام داده و در تئوری، میتوانند سرعت بهتری داشته باشند و حجم اینترنت کمتری مصرف کنند. دلیلِ این تفاوت هم استفادهی ویپیانها از رمزنگاری است که باعث میشود محاسباتی روی اطلاعاتِ رد و بدل شده قبل از ارسال و پس از دریافت انجام شود. همچنین این رمزنگاریها اگر بدون استفاده از فشرده سازی انجام شوند سبب افزایش حجمِ اطلاعات میشود. تفاوتِ مهم دیگر فیلترشکن و پراکسی این است که پراکسیها را میتوان برای هر اپلیکیشن جداگانه استفاده کرد، برای مثال میتوان در تلگرام و فایرفاکس با استفاده از پراکسی به اینترنت متصل شد و همزمان از اپلیکیشنهای دیگر بدون پراکسی استفاده کرد؛ در حالی که فیلترشکنها در سطحِ سیستمعامل بوده و با فعال کردنِ آن تمامی ترافیکِ اینترنت از طریق آن منتقل خواهد شد.
پراکسیها در تلگرام
نسخهی ۵ ساکس پراکسی (Socks5 Proxy)، به زبان ساده، یک پراکسی دو طرفه است که توانایی پشتیبانی از همهی پورتها و همچنین پروتکلهای TCP و UDP را دارد و به همین دلیل برای استفاده در اپلیکیشنهای پیامرسان مناسب است. نرمافزارهایی که با آنها میتوان یک سِروِر پراکسی ساکس راهاندازی کرد، معمولا امکانات زیادی از جمله ذخیرهی فایلهای حجیم برای استفادهی مجدد (cache)، اضافه کردن هِدِر(header) برای افزایش امنیت و کنترلِ دسترسیها، ایجادِ دیوار آتشین، ایجاد محدودیت براساس نوع سرویس و سایتهای قابل استفاده و غیره را دارند. راهاندازی پراکسی سِروِر ساکس برای استفاده به عنوان فیلترشکن، هرچند کار پیچیدهای نیست، اما نیازمندِ دقت در تنظیمات برای رسیدن به سرعت و امنیت مناسب است.
این پراکسیها معمولا برای استفاده در تلگرام از سرعت خوبی برخوردارند اما متاسفانه روشهای پیشرفتهی فیلترینگ (مثلا DPI) در کشورهایی مانند ایران و چین، قابلیتِ تشخیص اتصالات اینترنتی به یک سِروِر پراکسی را دارند. سیستم فیلترینگ بر اساس شباهتهای موجود در اطلاعات انتقالی، میتواند با تقریب خوبی تشخیص دهد که این اتصالات به سمت یک سِروِر پراکسی میرود یا خیر و در آنها اختلال ایجاد کند. گزارشهای دریافتی از کاربران در شهرهای مختلف و با ISP های متفاوت، همچنین بررسیهای کارشناسانِ پسکوچه، نشان میدهد که اختلالِ جدی از طرف سیستم فیلترینگ در استفاده از پراکسی ساکس ایجاد شده و در عمل در بسیاری از مناطق این پراکسیها فیلتر شدهاند.
امنیتِ استفاده از پراکسی در تلگرام
تلگرام برای رد و بدلِ اطلاعات بین اپلیکیشن و سِروِر، محتوای پیامها را رمزنگاری میکند، در نتیجه پراکسیها قادر به شنودِ محتوای پیامها نیستند و فقط به آدرس اینترنتی تلگرام و زمان و حجمِ ارتباط دسترسی دارند. البته باید در نظر داشت که این مسئله فقط در مورد تلگرام یا سیستمهایی که اطلاعات را رمزنگاری میکنند، صادق است. این نوع رمزنگاری با رمزنگاری در سکرت چتِ تلگرام تفاوت دارد. محتوای پیامهای سکرت چت رمزنگاری سرتاسری شده و حتی سِروِرهای تلگرام هم قادر به شنود محتوای پیام شما نخواهند بود.
پراکسی MTProto چیست؟
پس از شروع فیلترینگ در روسیه و ایران، ابتدا در نسخههای بتای تلگرام گزینهی استفاده از MTProto Proxy اضافه شد و نهایتا در روزهای اخیر این قابلیت در نسخهی اصلی برای استفادهی عموم ارائه شد. این پراکسی توسط خود تلگرام و برای دور زدن فیلترینگ طراحی شده و معرفی این پراکسی از طرف تلگرام به منظورِ مقابله با DPI و روشهای پیشرفتهی فیلترینگ است.
پراکسی MTProto دارای ویژگیهای مثبتی است که آن را در مقایسه با ساکس پراکسی متمایز میکند. به بعضی از این ویژگیها در ادامه اشاره میکنیم:
-
پراکسی MTProto برای برقراری ارتباط فقط به رمزعبور احتیاج دارد و نام کاربری لازم نیست.
-
در پراکسی MTProto ترافیک اینترنتی شباهت زیادی به ترافیک عادی HTTPS دارد که این مسئله شناسایی و فیلتر کردن آن را توسط روشهای پیشرفته را سختتر میکند.
-
پراکسی MTProto از رمزنگاری نسبتا قوی استفاده میکند. با این رمزنگاری، کارِ سیستم فیلترینگ برای تشخیص اینکه از پراکسی برای اتصال به چه سرویسها و سرورهایی استفاده شده را سختتر میکند.
-
پراکسی MTProto مخصوصِ تلگرام است و بنابراین فقط میتوان از آن برای اتصال به تلگرام استفاده کرد که موجب افزایش گنجایش سِروِر این پراکسیها میشود.
-
امکان ثبتِ پراکسیها در سِروِر تلگرام، توسط مدیران کانالهای تلگرامی فراهم شده است. با این روش، مدیران کانالها تشویق میشوند که پراکسیهای متعدد ایجاد و برای استفادهی عموم منتشر کنند و در مقابل، تلگرام کانالِ آنها را به عنوان حامی پراکسی، به کاربران نمایش میدهد. کاربرانِ این پراکسیها به صورت خودکار، کانالِ حامی پراکسی را در تلگرام خود میبینند و تا زمانِ قطع استفاده از پراکسی، نمیتوانند کانال را از لیست خود حذف کنند.
عکس: Habr منبع: https://hybridtechcar.com/
با توجه به رمزنگاری استفاده شده در اپلیکیشن تلگرام که برای اطلاعاتِ رد و بدل شده بین کاربر و سِروِرهای تلگرام استفاده میشود، استفاده از پراکسیهای MTProto خطری را متوجه کاربران نمیکند. طبق گفته خود تلگرام، کاربران میتوانند از پراکسیهای موجود و راهاندازی شده توسط هرکس، استفاده کنند. بر اساس گفتهی تلگرام، فرقی نخواهد کرد که این سرورها در کجای دنیا واقع شده و توسط چه کسی راهاندازی شده است؛ در هر صورت اطلاعاتِ رد و بدل شده امن است. تنها اطلاعاتی که همواره برای مدیرِ سِروِر قابل دسترسی است، IP های افرادی است که از پراکسی استفاده میکنند اما مدیرِ سِروِر نمیتواند تشخیص دهد که این IP متعلق به چه کسی است و چه استفادهای از تلگرام میکند. توجه داشته باشید که همواره باید احتمالِ ضعفهای امنیتی در طراحی پراکسی را مدنظر داشت، اما تاکنون چنین ضعفی در مورد پراکسی MTProto گزارش نشده و گزارشِ سواستفاده از این پراکسیها موجود نیست.
هرچند که تلگرام در پراکسی MTProto تلاش کرده تا ظاهرِ اطلاعات رد و بدل شده به استفادهی عادی از اینترنت و مرور سایتهای دیگر شباهت داشته باشد، اما این امکان همچنان برای سیستم فیلترینگ وجود دارد که با تطابق استفادههای مشابه، به شناسههایی برای پیدا کردن این پراکسیها دست بیابد. که در آن صورت، قادر خواهد بود که همچون پراکسیهای ساکس، در استفاده از MTProto نیز اختلال ایجاد کند.
قابلیت اضافه کردن بیشتر از یک پراکسی
از دیگر قابلیتهایی که به نسخهی جدیدِ تلگرام اضافه شده، قابلیت اضافه کردنِ چندین پراکسی در اپلیکیشن تلگرام است که استفاده از پراکسیها را برای کاربران بسیار آسانتر کرده است. با استفاده از این روش تلگرام به صورت خودکار کاربران را به پراکسیای که در آن لحظه کار میکند، وصل خواهد کرد. علاوه بر این در کنار هر پراکسی، وضعیت آن و متوسط سرعتِ انتقال دادههای آن نشان داده میشود.
راهاندازی MTProxy
تلگرام برای کسانی که به راه اندازی MTProxy علاقه دارند، یک لینک مخزن کد در github معرفی کرده تا از طریق باتِ مسئول ثبتنام این پراکسیها به نامMTProxy Admin Bot پراکسی مخصوص خود را راهاندازی کنند. برای اطلاعات بیشتر میتوانید با شناسهی @MTProxybot در تلگرام صحبت کنید و یا به github مراجعه کنید.
❤️ تیم پسکوچه