این که از اتصالات Tor یا OpenVPN استفاده می کنید، احتمالاً در یکی از این دو پلتفرم محبوب نام Obfsproxy را شنیده اید. بنابراین تصمیم گرفتیم تا در این مقاله به این موضوع بپردازیم که Obfsproxy چیست و در واقع چه کاری انجام می دهد؟ خب، ما قصد داریم در این مقاله به این موضوع بپردازیم، و همچنین به شما نشان خواهیم داد که چگونه از Obfsproxy نیز استفاده کنید.
Obfsproxy چیست؟
Obfsproxy یک زیر پروژه Tor است که می تواند برای پنهان کردن شکل ظاهری ترافیک آنلاین مورد استفاده قرار گیرد.
دلیل اصلی توسعه Obfsproxy این است که کشورهایی وجود دارند که از DPI (بازرسی بسته عمیق) برای جلوگیری از اتصالات VPN استفاده می کنند یا دولتهایی که فقط ISP ها را مجبور می کنند ترافیک SSL را فیلتر کنند. بنابراین، استفاده از Obfsproxy به طور بالقوه می تواند به شما کمک کند از مسدود شدن و فیلتر شدن ترافیک خود جلوگیری کنید.
در حالی که در ابتدا فقط برای Tor ساخته شده بود، Obfsproxy از ویژگی هایی برخوردار است که به توسعه دهندگان امکان طراحی، استقرار و آزمایش لایه های مبهم یا Obfuscation (مقاله کامل Obfuscation را در اینجا بخوانید) بیشتری را می دهد که هیچ ارتباطی با Tor ندارند. به همین دلیل، Obfsproxy شروع به استفاده از ترافیک OpenVPN نیز کرده است.
Obfsproxy چگونه کار می کند؟
به زبان ساده، Obfsproxy به تغییر نحوه جریان ترافیک آنلاین کمک می کند. دولت ها یا ISP هایی که از الگوریتم های DPI استفاده می کنند می توانند با مشاهده جریان و تصمیم گیری در مورد میزان آن (HTTP، HTTPS، SSL، VPN و غیره) ترافیک اینترنت را توسط پروتکل ها طبقه بندی کنند.
روش کار Obfsproxy با استفاده از ماژول “obfs2” است که یک بسته بندی رمزگذاری را در اطراف ترافیک مورد نظر (Tor یا OpenVPN) اضافه می کند. برای اطمینان از موفقیت رمزگذاری، ماژول از یک فرآیند مصافحه بدون الگوهای بایت قابل تشخیص استفاده می کند.
به عنوان مثال، Obfsproxy به شما امکان می دهد ترافیک OpenVPN را مبهم کنید تا مانند یک ترافیک HTTP منظم و بی ضرر به نظر برسد.
آیا Obfsproxy صد در صد تضمین شده است و کار می کند؟
نه دقیقا. گرچه کارآمد است، اما همیشه کاملاً کارا نخواهد بود. بخاطر داشته باشید که حتی اگر جریان ترافیک پوشانده شود، باز هم الگوهای قابل شناسایی مانند این موارد وجود دارد:
- زمان سنجی یا Timing
- حجم یا Volume
- اندازه بسته یا Packet Size
با استفاده از این اطلاعات، یک آزمایش آنتروپی کامل می تواند به سانسورگران دولت یا ISP شما نشان دهد که encryption handshake بیش از حد تصادفی، در مقایسه با انواع دیگر handshake است. در آن شرایط، آنها می توانند تا تهیه فرآیندی پیش بروند تا فقط پروتکل هایی که DPI تشخیص می دهد اجازه عبور را داشته باشند.
نحوه استفاده از Obfsproxy برای ترافیک OpenVPN
کل مراحل نصب OpenVPN Obfsproxy بسیار پیچیده و نسبتاً دشوار است. در حالت ایده آل، شما باید از یک سرویس VPN به جای سرور VPN خود استفاده کنید زیرا بدین ترتیب ترافیک OpenVPN مبهم است.
با این اوصاف، در اینجا یک بررسی اجمالی نسبتاً سریع از نحوه عملکرد معمول فرآیند در سیستم عامل های ویندوز وجود دارد:
مراحل مقدماتی
ابتدا لیستی از مواردی که قبل از شروع به کار نیاز دارید:
- یک سرور OpenVPN فعال (یکی از آنها متعلق به شماست یا اجاره می کنید، یا یکی که از طرف ارائه دهندگان VPN ارائه شده است).
- برنامه سمت مشتری OpenVPN.
- Python 2.7 (نسخه های جدید نیز مشکلی ندارند، اما این نسخه برای Obfsproxy توصیه می شود).
- PuTTy، نرم افزاری که برای دسترسی از راه دور به سرور OpenVPN استفاده می شود. اگر از سرور ارائه دهنده VPN استفاده می کنید، لازم نیست.
- Microsoft C++ Compiler for Python 2.7
- Light OpenSSL
- افزونه ProxySwitchy Sharp (یا یک افزونه خوب دیگر برای پروکسی).
بیایید با مشتری شروع کنیم
برای مبتدیان، Python 2.7 را در پوشه پیش فرض نصب کنید. پس از آن، کامپایلر Microsoft C++ را برای پایتون 2.7 نصب کنید. اگر کمی تحقیق کنید، می بینید که هیچ کامپایلری برای نسخه های جدید پایتون وجود ندارد، به همین دلیل توصیه می کنیم از پایتون 2.7 استفاده کنید.
پس از پایان کار، نصب OpenSSL Light را شروع کنید (فقط از تنظیمات پیش فرض استفاده کنید)، و سپس رایانه خود را دوباره راه اندازی کنید.
اکنون زمان رسیدگی به پرونده های OpenVPN است. اگر قبلاً از سرویس VPN استفاده می کنید، ارائه دهنده به شما امکان دسترسی به پرونده های پیکربندی مورد نیاز شما را می دهد. در غیر این صورت، نصب کلاینت OpenVPN را ادامه دهید. پس از آن، تمام پرونده های مورد نیاز خود را در فهرست پیش فرض پیدا خواهید کرد: “C: / Program Files / OpenVPN / config” فایل پیکربندی مورد استفاده برای اتصال به سرور OpenVPN را پیدا کرده و آن را با Notepad باز کنید (توصیه می کنیم آن را در حالت Administrator اجرا کنید). پرونده را با نام دیگری ذخیره کنید تا کپی داشته باشید که در آن بتوانید بدون خطا کار کنید.
در ادامه کار، فایل پیکربندی را تغییر می دهید تا به این شکل باشد:
proto tcp-client
remote 8080
port 1194
dev tun1
secret ovpn.key
redirect-gateway def1
ifconfig 10.4.0.2 10.4.0.1
socks-proxy-retry
socks-proxy 127.0.0.1 10194
“your-server-IP” باید با آدرس IP سرور یا VPN سرور مورد استفاده شما جایگزین شود. در همان خط، می توانید شماره پورت را به چیزی غیر از “8080” تغییر دهید.
اکنون، پرونده را ذخیره کنید. مطمئن شوید که به جای فایل .txt به عنوان یک پرونده .ovpn ذخیره شده است. همچنین، پرونده اصلی را بازنویسی نکنید.
پیکربندی Obfsproxy
Command Prompt را در حالت Administrator باز کنید و دستورات زیر را یک مرتبه تایپ کنید:
cd C:\Python27\Scripts
pip install –-upgrade pip
pip install obfsproxy
obfsproxy –log-min-severity=info obfs2 –shared-secret=<some-random-key> socks 127.0.0.1:10194
رمز “some-random-key” را با رمز عبوری که می خواهید استفاده کنید جایگزین کنید.
مطمئن شوید که بعد از هر دستور Enter را بزنید. اگر بعد از دستور دوم خطایی پیدا کردید، می توانید آنها را نادیده بگیرید.
پس از پایان کار، خط فرمان باید به شما بگوید که برای ترافیک Obfsproxy آماده به کار است. هر زمان که بخواهید Obfsproxy را برای ترافیک OpenVPN مبهم اجرا کنید، باید اولین و آخرین دستورات را اجرا کنید و Command Prompt را باز بگذارید.
“اگر به دنبال اتصال ایمن VPN میگردید پیشنهاد ما به شما ChitaVPN است”