اپن وی پی ان OpenVPN چیست — راهنمای شروع کار با OpenVPN
بررسی مزایا و معایب پروتکل اوپن ویپیان
اگر به حفظ حریم خصوصی آنلاین خود علاقهمند باشید و بخواهید اطلاعات خود را در وب رمزنگاری کنید تا به دست هکرها نیفتند؛ احتمالا از VPN استفاده میکنید. عنصر اصلی هر VPN، پروتکل VPN استفاده شده توسط آن است؛ مجموعه قوانینی که همهچیز از نحوه اتصال امن برنامهها به سرور تا روشهای انتقال دادهها و نحوه اتمام یک نشست پس از پایان ترافیک کاری شما را تعریف میکند.
اکثر ویپیانها از چند پروتکل مانند IKEv2 و L2TP و SSTP پشتیبانی میکنند اما پروتکل OpenVPN از همه آنها محبوبتر است و با فاصله زیادی میتوان گفت بهترین پروتکل VPN در دنیا شناخته میشود. به همین دلیل هم احتمالا بارها نام آن را شنیدهاید و در مقالات یا آموزشهای شبکههای کامپیوتری به چشمتان خورده و برایتان آشنا است.
در این مطلب، قصد داریم در مورد اینکه openvpn چیست و دارای چه پروتکلی است، صحبت کنیم و ببینیم این پروتکل دقیقا چیست و چگونه کار میکند و چه مزایایی دارد که اینقدر در میان کاربران اینترنت محبوب شده است و در رقابت با دیگر پروتکلهای VPN عملکرد بهتری دارد. در آخر هم میخواهیم بررسی کنیم آیا این پروتکل عیب و ایرادی ندارد؟ و چه آیندهای در انتظار آن است.
داستان OpenVPN از کجا شروع شد؟
در سال ۲۰۰۱، توسعهدهنده نرمافزاری به نام «جمیز یونان» (James Yonan)؛ در حال سفر به آسیای مرکزی بود و نیاز داشت از راه دور به دفتر تجاری خود متصل شود. آقای یونان مجبور به برقراری ارتباطات رمزنگاری نشدهای شد که از سرورهای ناشناخته موجود در کشورهای گوناگون عبور میکرد. او مجبور شد شیوههای امنیتی بسیار ضعیفی را برای این ارتباط به کار بگیرد و متوجه شود دادههای او چقدر آسیبپذیر هستند. بنابراین، به فکر کلید زدن یک پروژه منبعباز به نام OpenVPN شد که وظیفه اصلیاش رمزنگاری اطلاعات و محافظت از آنها در برابر افراد ناشناس بود.
بعدا فرد دیگری به نام «فرانسیس دینها»؛ یک عراقی فراری از دست حکومت صدام حسین، درباره پروژه منبعباز «جمیز یونان» چیزهایی شنید و به این پروژه علاقهمند شد. این دو نفر جلساتی را برگزار و تصمیم گرفتند یک طرح تجاری برای ارائه برنامه OpenVPN ارائه بدهند. به این ترتیب، باید سال ۲۰۰۱ را تولد OpenVPN و سال ۲۰۰۲ را انتشار اولین نسخه عمومی این پروتکل رمزنگاری بدانیم!
پروتکل رمزنگاری OpenVPN چیست؟
احتمالا بسیاری از خوانندههای عزیز با OpenVPN آشنایی دارند و حتی از آن استفاده میکنند ولی باز بهتر است ابتدا بگوییم OpenVPN چیست؟
OpenVPN یک پروتکل و وسیلهای برای اتصال کامپیوترها به یکدیگر در یک شبکه خصوصی مجازی (Virtual Private Network) است. وقتی کامپیوترها دور از یکدیگر هستند؛ در دفاتر یا شعبههای دیگر، در کشور دیگر یا آن سوی جهان، شما میتوانید با خیال راحت، سیستمها را از طریق یک تونل رمزنگاری شده امن به یکدیگر متصل کنید.
پروتکل OpenVPN میتواند تونل رمزنگاری خود را مبتنی بر پروتکل TCP (سرنام Transmission Control Protocol) برای ایجاد حداکثر قابلیت اطمینان یا پروتکل UDP (سرنام User Datagram Protocol) برای افزایش سرعت راهاندازی کند. این انعطافپذیری زیاد یک مزیت بزرگ برای OpenVPN نسبت به پروتکلهای رمزنگاری رقیب است.
ارتباطات اوپن ویپیان توسط SSL/TLS مدیریت میشود؛ همان پروتکلی که برای محافظت از وبسایتهای HTTPS استفاده شده است. این هم یک مزیت برای دور زدن فایروالها یا برخی محدودیتها توسط OpenVPN است. چون پس از راهاندازی، تشخیص اینکه یک کاربر دارد از VPN استفاده میکند یا خیر؛ مشکل است. فعالیت انلاین شما همانند یک ترافیک معمولی وب به نظر میرسد و کار را برای دستگاههای دیگر در شبکه و اینترنت سخت میکند.
پروتکل OpenVPN از ویژگیهای زیاد در SSL/TLS بهره میبرد. برای مثال، به شما این امکان را میدهد که تایید کنید به یک سرور قانونی متصل هستید؛ کلیدهای رمزنگاری ایجاد کرده و برای محافظت از دادههای خود در یک نشست به اشتراک بگذارید و بررسی کنید دادههای شما تغییر نکرده باشند.
پیادهسازی صحیح رمزنگاری وب مدرن یک کار بزرگ است که خوشبختانه در OpenVPN برای آن تلاشی صورت نمیگیرد؛ بلکه بیشتر وظایف رمزنگاری به کتابخانه بسیار کامل OpenSSL واگذار شده است. OpenSSL به طور گسترده توسط سرورهای وب بزرگ دنیا برای مدیریت اتصالات HTTPS مورد استفاده قرار میگیرد و وقتی شما در سیستم رمزنگاری خود، متکی به آن هستید؛ یعنی به طور غیرمستقیم از سوی همه این وب سرورها حمایت میشوید.
در OpenVPN از کتابخانه OpenSSL برای پشتیبانی از هر سیستم رمزنگاری یا تابع هش و فناوریهای تولید کلید عمومی و خصوصی رایجی مانند AES ،Chacha20 ،Poly1305 ،Triple DES ،SM4 ،MD5 ،SHA-2 ،SHA-3 ،BLAKE2 ،Whirlpool ،RSA ،Diffie-Hellman ،Elliptic و غیره استفاده میکند.
نکته دیگری که باید درباره OpenVPN بگوییم این است که از رمزنگاری با کلیدهای حداکثر ۲۵۶ بیتی پشتیبانی میکند و تقریبا با تمام سیستمعاملهای مطرح و محبوب دنیای فناوری از جمله ویندوز مایکروسافت، اندروید گوگل، iOS و مک اپل، لینوکس و توزیعهای مختلف مبتنی بر آن سازگار است.
OpenVPN چگونه کار میکند؟
ما هر فعالیتی که با کامپیوتر یا گوشی موبایل خود در اینترنت انجام میدهیم؛ حتی یک کلید روی لینک یا کلیدی در یک وبسایت، یک بسته که اصطلاحا پکت گفته میشود؛ حاوی دادهها یا درخواست ما برای یک وب سرور؛ ساخته شده و به سوی وب سرور مورد نظر ارسال میشود. مثلا، وقتی یک کلمه در موتور جستوجو گوگل سرچ میکنیم؛ یک بسته داده برای وب سرور گوگل ارسال میشود.
پروتکل OpenVPN ابتدا، این بسته را توسط اپلیکیشن OpenVPN روی کامپیوتر ما رمزنگاری و بعد بسته را برای سرور OpenVPN ارسال میکند. سرور OpenVPN بسته ارسالی از سوی دستگاه ما را با استفاده از کلیدهای مخصوص تعریف شده، رمزگشایی میکند و بعد بسته داده را برای وب سرور گوگل میفرستد.
دوباره، وقتی وب سرور گوگل جواب درخواست ما را میدهد و یک سری اطلاعات در قالب بستههایی به مقصد کامپیوتر ما میفرستد؛ بستهها ابتدا توسط سرور OpenVPN دریافت شده و رمزنگاری میشوند و برای دستگاه ما فرستاده خواهند شد.
بنابراین، در این پروسه، تمام اطلاعاتی که دستگاه ما روی اینترنت ارسال و دریافت میکند؛ رمزنگاری و غیر قابل تشخیص و شنود و سرقت هستند. به همین دلیل است که گفته میشود OpenVPN یک تونل امن برای عبور دادههای ما میسازد تا دست هیچ هکر، شرکتهای تبلیغاتی و ردیاب فعالیتهای اینترنتی و تهدیدات دیگر به اطلاعات ما نرسد.
پیشنهاد میکنیم برای درک بهتر پروتکلهای VPN و نحوه کار دقیق آنها در لایههای شبکه، مجموعه آموزش امنیت شبکه (Network Security) در فرادرس را مشاهده کنید.
طراحی انعطافپذیر OpenVPN
یکی از مزایای عمده OpenVPN، طراحی انعطافپذیر و قابل تنظیم این پروتکل رمزنگاری است. این انعطافپذیری به ارائهدهندهگان VPN و کاربران، کنترلهای قابل تنظیم زیادی برای افزایش کارایی سرویس میدهد.
به راحتی میتوان OpenVPN را برای الگوریتمهای رمزنگاری مختلف تغییر و بهینهسازی کرد. براساس مشخصات یک شبکه میتوان OpenVPN را برای افزایش سرعت یا امنیت، پیکربندی کرد یا تغییرات شبکه را روی آن نیز اعمال کرد. از IPv6 پشتیبانی میکند و شما میتوانید در حالیکه از IPv6 استفاده میکنید؛ از IPv4 نیز پشتیبانی کنید یا DNS سختافزار را تغییر دهید و استانداردهای جدید شبکه را به آن بیفزایید.
اتصالهای OpenVPN توسط فایلهایی پیکربندی میشوند که کاملا توسط کاربران یا ارائهدهندگان سرویسهای ویپیان و توسط دستورات مختلف قابل تغییر و تنظیم هستند. در شرایط دشوار میتوان انواع روشهای مختلف را برای این پروتکل تنظیم کرد تا هیچگاه امنیت دادهها به خطر نیفتد.
براث مثال، اگر با سرورهایی روبرو هستید که کند هستند؛ میتوانید timeout اتصالات را طوری تنظیم کنید که مدت زمان بیشتری منتظر پاسخگویی سرور باشد و اتصال قطع نشود. میتوانید تعداد دقعات برای امتحان مجدد اتصال به سرور و تعداد ثانیههای در حال انتظار را تغییر بدهید یا اینکه اگر یک سرور خراب و قطع است؛ سرورهای دیگر را جایگزین کند. حتی میتوانید تنظیمات سطح پایین شبکه را نیز دستکاری کنید تا در شبکههای شلوغ و با قطعی زیاد یا اتصالات بیکیفیت، باز بتوانید دادههای خود را رمزنگاری و ارسال کنید.
برخی اوقات باید به ده سرور با تنظیمات مختلف وصل شوید تا ببینید کدامیک کارایی و سرعت بهتری دارد. OpenVPN کاملا میتواند از پیکربندیهای این ده سرور پشتیبانی کرده و تک تک آنها را امتحان کند تا سرور دلخواه یافت شود.
البته، همه این ویژگیها به صورت الزامی در همه اپلیکیشنهای VPN نیست و توسعهدهندهها باید این ویژگیها را برنامهنویسی و به یک اپلیکیشن اضافه کنند ولی خود پروتکل OpenVPN به طور ذاتی دارای این خصوصیات است. طراحی اوپن ویپیان به گونهای است که کاملا میتوان آن را با اسکریپتها و افزونهها یا زبانهای برنامهنویسی سطح شبکه گسترش داد و امکانات سفارشی دیگری بدان افزود. در آموزش مهارتهای کامپیوتری به طور مفصل یاد میگیرید چگونه تنظیمات و پیکربندیهای لازم برای محافظت از دادههای خودتان را انجام دهید.
متن باز (Open Source) بودن OpenVPN چیست؟
یکی از بزرگترین نقاط قوت و مزیت پروتکل OpenVPN به منبع باز (Open Source) بودن پروژه آن برمیگردد. یعنی هر فردی میتواند کد منبع آن را دانلود و مشکلات را بررسی و رفع کنید؛ ویژگیهای جدیدی بدان اضافه کند یا از این کدها برای تولید محصولات خود سود ببرد.
این ویژگی به توسعه و گسترش OpenVPN کمک شایانی کرده است که در نتیجه آن اشاره کردیم برای هر پلتفرمی قابل استفاده است. شما روی هر دستگاه یا سیستمعاملی میتوانید OpenVPN را ببینید و اصلا محدودیتی برای آن وجود ندارد. از دل پروژه OpenVPN دهها پروژه منبع باز دیگر برای توسعه VPN رشد کرده است و یک جامعه بزرگ از توسعهدهندهگان پشت سر آن است تا هرگونه اشکال و آسیبپذیری را رفع یا فناوری و نیاز جدید متناسب با توسعه وب و اینترنت را بدان اضافه کنند.
این نکته را فراموش نکنید که این صحبتها به معنی نداشتن مشکل در OpenVPN نیست اما وقتی افراد بیشتری از سراسر جهان دارند یک سری کد منبع را بررسی و اشکالزدایی میکنند؛ طبیعتا انتظار داریم با یک پروژه قویتر روبرو بوده و مشکلات زودتر حل شوند.
در حالیکه اکثر پروتکلهای VPN منبعباز و شفاف نیستند و برخی سازمانها و کاربران به این دلیل، ازشان استفاده نمیکنند؛ اما شفافیت و منبع باز بودن OpenVPN برایش یک امتیاز ویژه است و باعث شده کاملا قابل اعتماد باشد. در OpenVPN کسی نمیتواند ادعا کند در آن جاسوسی میشود یا اینکه مشکلات حریم خصوصی دارد.
معایب OpenVPN چیست؟ — ۳ مورد از معایب اوپن وی پی ان
معمولا سه عیب بزرگ برای پروتکل OpenVPN بیان میشود؛ کند است؛ راهاندازی آن سخت است و نیاز به اپلیکیشن VPN دارد.
وقتی برای نخستین بار میخواهید پروتکل OpenVPN را ستاپ و پیکربندی کنید؛ چندین مرحله بیشتر از دیگر پروتکلهای رمزنگاری ویپیان دارد و آنها سادهتر هستند. شما در مرحله راهاندازی اولیه، به جای انتخاب یک سرور باید فایل سرور را فراخوانی کنید.
در بخش تشریح ویژگی منبعباز بودن OpenVPN اشاره کردیم که نیاز به نصب اپلیکیشن VPN برای استفاده از این پروتکل هست و نمیتواند با هسته یک سیستمعامل ادغام شود.
سرعت این پروتکل هم در مقایسه با سایر متدها و البته پروتکلهای رمزنگاری جدیدتر، مقداری پایینتر است که عمدتا از سوی کاربران چشمپوشی میشود چون OpenVPN اینقدر مزیت و ویژگیهای مختلف دارد که سرعت کمی کندتر آن اصلا به چشم نمیآید. برای جبران سرعت این پروتکل، معمولا کاربران و ارائهدهندهها سعی میکنند پهنایباند بیشتری اختصاص دهند و اتصال اینترنت سریعتری بگیرند. همینطور، اگر به جای TCP از پروتکل UDP استفاده شود؛ اگرچه برخی مراحل تصحیح خطا حذف میشوند ولی باز سرعت انتقال دادهها سریعتر خواهد شد.
آینده OpenVPN چیست؟
سالها است OpenVPN پادشاه پروتکلهای VPN است. برخی کارشناسان اعتقاد دارند دوران طلایی و سلطنت این پروتکل بر دنیای رمزنگاری اینترنت به پایان رسیده است و پروتکلهای جدیدی مانند WireGuard و ExpressVPN و NordVPN جایگزین آن خواهند شد.
این پروتکلها در غالب اوقات دارای پلتفرم سادهتر و محدودتری نسبت به OpenVPN هستند و کارایی آن را ندارند؛ فقط بر عملکرد اساسی و ویژگیهای ضروری یک VPN تاکید میکنند. در برخی اوقات، این پروتکلها دارای سرعت تا دو برابر بیشتر از اوپن ویپیان هستند ولی معایب خاص خود را دارند. مثلا، برخی از آنها فقط برای سیستمعامل ویندوز توسعه داده شدهاند و روی مک یا لینوکس کار نمیکنند یا فقط برای نسخههای دسکتاپ هستند و روی سیستمعاملهای موبایل کار نمیکنند.
مشکل دیگر پروتکلهای VPN جدید این است که منبعباز نبوده و قابل اعتماد نیستند یا اینکه از یکی از دو پروتکل TCP یا UDP پشتیبانی نمیکنند.
با این اوصاف، هنوز میتوانیم بگوییم که OpenVPN یک پروتکل رمزنگاری VPN قابل اعتماد و زنده است. شاید سرعت برخی پروتکلهای VPN جدید امروزی را ندارد ولی هنوز انعطافپذیر و دارای مجموعه گستردهای از ویژگیها با قابلیت سفارشیسازی آنها است.
در فردارس میتوانید آموزشهای کاملی درباره اینکه OpenVPN چیست، نحوه راهاندازی یا پیکربندی آن به چه شکل است، فرا بگیرید تا محافظت بهتری از اطلاعات و شبکههای کامپیوتری خود در برابر مهاجمان و تهدیدات اینترنتی داشته باشید.
همگی این آموزش ها به صورت ویدئویی بوده و توسط بهترین اساتید دنیای شبکه و امنیت ارائه شده اند و یک فرصت طلایی برای افزایش مهارتها و ارتقای دانش فنی در هر کسبوکاری را فراهم می آورند.
شما می توانید علاوه بر آموزشهای تخصصی در هر رشته، با طیف وسیعی از آموزشهای عمومی نیز روبرو شوید که فرا گرفتن هر کدام از آن ها باعث افزایش مهارت های شما می شوند و درنهایت می توانند همیشه به کار شما آیند.
اگر برای خرید مودم، اینترنت و تجهیزات شبکه سوال داشتید یا نیاز به راهنمایی و کمک دارید؛ کانال تلگرام شبکهچی به آیدی shabakehchi@ را فالو و پرسش خود را برای مدیر کانال بفرستید تا جواب دهیم.