vpn چیست؟

اغلب ما حداقل یک بار کلمه وی‌پی‌ان را شنیده ایم, VPN مخفف عبارت Virtual Private Network به معنی “شبکه مجازی خصوصی” است.

VPN یک شبکه خصوصی را از طریق شبکه‌های عمومی مانند اینترنت گسترش می‌دهد. مثلاً فرض کنید که شبکه خصوصی شرکتی در داخل ساختمان آن شرکت محدود شده و برای دسترسی به آن باید به داخل ساختمان برویم. اما در مواقعی ما دسترسی فیزیکی به آن مکان را نداریم ولی باید به شبکه خصوصی آن جا وصل شده و با آن کار کنیم. مثلاً زمانی که شما در مسافرت هستید و اتفاقی می‌افتد که سریعاً باید به شبکه وصل شوید یا امروزه که اصطلاح کار از راه دور مطرح است، کاربران با استفاده از اتصالات VPN به شبکه وصل شده و کار خود را انجام می‌دهند. اتصالات وی‌پی‌ان کاملاً امن بوده و غیرقابل شنود و رمزگشایی هستند.

در گذشته برای گسترش داده شبکه‌های خصوصی از اینترانت (Interanet) استفاده می‌شد. اینترانت نوعی شبکه است که برای ارتباط و تبادل داده از اینترنت استفاده نکرده و یک شبکه کاملاً اختصاصی بین شرکت‌ها است. اینترانت‌ها بدون واسط اکسترانت هیچ ارتباطی با شبکه اینترنت ندارند. یعنی می‌توان اینترانت را مانند یک اینترنت شخصی برای شرکت‌ها تعریف کرد که از پروتکل و استانداردهای اینترنت استفاده می‌کند اما بسیار محدود تر و دسترسی به آن تنها برای افراد تایید شده امکان پذیر است. مثلاً شبکه بانک‌ها، دانشگاه‌ها و … اغلب از نوع اینترانت هستند.

راه اندازی اینترانت بسیار پر هزینه بوده و برای اغلب شرکت‌ها امکان پذیر نیست. از طرفی امنیت آن و امکان دسترسی افراد غیر مجاز همیشه تهدیدی بزرگ برای شبکه‌های اینترانت به حساب می‌آید. به همین دلیل روش ارتباط وی‌پی‌ان مطرح شد که کم هزینه تر، امن تر، قابل انعطاف تر و فرایند خطایابی آن نیز سریع تر است.

VPNهای شرکتی چگونه کار می‌کند؟

گفتیم که وی‌پی‌ان ها از طریق اینترنت بستری امن را برای کاربر فراهم می‌کنند که با مقصد در ارتباط باشد. با ایجاد یک تونل بین کاربر و سرور که اغلب به صورت مستقیم به شبکه اینترانت شرکت وصل است و رمزگذاری داده‌های رد و بدل شده، یک فضای کاملاً امن را در اختیار کاربر قرار می‌دهد. مانند تصویر زیر:

نحوه کار یک VPN شرکتی یا سازمانی

با این حال یک نوع دیگر وی‌پی‌ان وجود دارد که بهتر است آن را بصورت جداگانه در بند بعدی توضیح دهم.

VPNهای فیلتر شکن

این قسمت درباره وی‌پی‌ان هایی است که اغلب به عنوان فیلتر شکن مطرح می‌شوند. ممکن است شما نیز از این فیلترشکن‌ها استفاده کرده باشید و خب نیازتان هم برطرف شده باشد اما اغلب افراد متاسفانه اهمیتی به امنیت اطلاعاتشان نداده و فکر می‌کنند که این فیلترشکن‌ها و وی‌پی‌ان ها خطری برایشان به حساب نمی‌آید.

وی‌پی‌ان هایی که به عنوان فیلتر شکن عمل می‌کنند، با ایجاد یک تونل بین شما و سرور خریداری شده (یا رایگان) و رمزگذاری اطلاعات، باعث می‌شوند که درخواست‌های ما برای فیلترهای مخابرات و شرکت‌های ارائه دهنده خدمات اینترنتی (ISP) غیرقابل فهم بوده و بدون مشکل از آن‌ها رد شود. سپس این درخواست را که دریافت کرده اند، به صورت عادی به وبسایت یا سرویس مورد درخواست شما ارسال می‌کنند. آن سرویس یا وبسایت هم پاسخ را برای سرور وی‌پی‌ان می‌فرستد (چون آن را به عنوان درخواست دهنده می‌شناسد) و سرور وی‌پی‌ان پاسخ را رمزگذاری کرده و باز هم با استفاده از تونلی، فیلترهای مخابرات و ISP را دور زده و در سمت کلاینت شما رمزگشایی می‌شود و به این ترتیب شما از وبسایت یا سرویس مورد نظر استفاده می‌کنید.

انواع VPN

دو نوع وی‌پی‌ان داریم که برای کاربردهای مختلف طراحی شده اند:

وی‌پی‌ان دسترسی از راه دور

نوع Remote Access VPN اجازه می‌دهد که افراد حقیقی (و نه شرکت‌ها، شعبه‌ها و …) به شبکه خصوصی یک شرکت وصل شوند. این کاربران می‌توانند با اتصال به سرور VPN شرکت، از منابع آن استفاده کنند. از جمله افرادی که از این نوع وی‌پی‌ان استفاده می‌کنند کارکنانی هستند که از راه دور کار می‌کنند.

برای ایجاد ارتباط در این نوع وی‌پی‌ان به دو جزء اساسی نیاز است:

۱- NAS: مخفف Network Access Server بوده و ارتباط را از سمت سرور کنترل می‌کند. NAS ممکن است به عنوان یک سرور اختصاصی در سمت شبکه شرکت فعالیت کند یا به عنوان یک نرم افزاری که روی شبکه‌های اشتراکی کار می‌کند، اطلاعات احراز هویت کاربر را گرفته و با بررسی آن‌ها به وی اجازه اتصال به شبکه شرکت را می‌دهد.

۲- برنامه سمت کاربر: کاربر برای اتصال به سرور وی‌پی‌ان باید از نرم افزاری استفاده کند که علاوه بر برقراری ارتباط و احراز هویت، داده‌های ارسالی را رمزگذاری کرده و داده‌های دریافتی را نیز رمزگشایی کند. اغلب سیستم عامل‌ها (از جمله ویندوز، گنو/لینوکس و …) برنامه‌های تعبیه شده ای برای اتصال به سرور وی‌پی‌ان در اختیار کاربر قرار می‌دهند.

وی‌پی‌ان مکان به مکان

نوع Site to site VPN اجازه می‌دهد که شعبه‌هایی از یک شرکت با یکدیگر در ارتباط باشند. این نوع از وی‌پی‌ان زمانی اهمیت پیدا می‌کند که صدها فرد قصد ارتباط با سرور را داشته باشند. بجای این که هر یک از نوع “وی‌پی‌ان دسترسی از راه دور” استفاده کنند، به گروه‌هایی تقسیم می‌شوند که به عنوان شعبه‌هایی از آن شرکت، از طریق “وی‌پی‌ان مکان به مکان” به هم متصل شده و اجازه استفاده از منابع یکدیگر را می‌دهند. اجزای مورد نیاز برای راه اندازی این نوع وی‌پی‌ان مانند نوع قبلی است با این تفاوت که اغلب، دیگر نیازی به داشتن کلاینت بر روی هر کامپیوتر نخواهد بود.

این نوع از VPN خود به دو نوع دیگر تقسیم می‌شود:

۱- بر پایه اینترنت: اگر شرکت یک یا چند مکان دور داشته باشد که بخواهند به یکدیگر وصل شوند و شبکه محلیشان را در اختیار یکدیگر قرار دهند، از طریق وی‌پی‌ان بر پایه اینترنت استفاده می‌کنند.

۲- بر پایه اکسترانت: اگر شرکت‌ها یا سازمان‌هایی بخواهند با یکدیگر در ارتباط باشند ولی نیازی به اینترنت نداشته باشند می‌توانند شبکه اینترانت خود را با استفاده از وی‌پی‌ان بر پایه اکسترانت، به شبکه اینترانت دیگری وصل کنند. به این ترتیب می‌توانند با یکدیگر کار کنند و از طرفی از شبکه اینترانت خود محافظت کنند.

امنیت VPN

همانطور که گفته شد، وی‌پی‌ان ها از شبکه عمومی اینترنت استفاده می‌کنند. اما شبکه اینترنت امن نیست. در ارتباطات وی‌پی‌انی دو عمل اصلی برای فراهم کردن امنیت انجام می‌شود:

تونل زنی

تونلینگ (Tunneling) که تانلینگ نیز گفته می‌شود، روشی است که در آن می‌توانیم از پروتکل‌هایی که اغلب پشتیبانی نمی‌شوند، استفاده کنیم. برای مثال با استفاده از تونل زنی می‌توانیم از پروتکل اینترنت (Internet Protocol یا IP) استفاده کنیم تا پروتکل دیگری را به عنوان بخش داده در بسته‌های IP ارسال کنیم.

برای درک بهتر بگذارید یک مثال بزنم: فرض کنید دو ترمینال باربری (پایانه) وجود دارد که از یکی قصد ارسال ابزاری را داریم که هم خروجی ترمینال مبدا و هم ورودی ترمینال مقصد جلوی آن را می‌گیرد. در این ترمینال‌ها فقط بسته‌هایی به شکل مربع، مستطیل و لوزی قابل شناسایی بوده و مجوز خروج/ورود را دارند. حال کافیست ابزار مورد نظرمان را در داخل یک بسته مربع شکلی قرار دهیم تا از ترمینال مبدا ارسال شده و در ترمینال مقصد نیز بدون مشکل دریافت شود سپس در ترمینال مقصد فردی آن‌ها را تحویل گرفته و از بسته خارج می‌کند.

رمزگذاری اطلاعات

داده‌های بین کلاینت و سرور همگی رمزگذاری می‌شوند تا از درک و دسترسی محتوای اصلی توسط فرد سوم جلوگیری شود. علاوه بر این، اطلاعات با چکسام‌هایی (امضا های دیجیتالی) علامت گذاری می‌شوند تا اگر در این بین اطلاعات توسط فرد سومی تغییر داده شوند، مقصد از آن مطلع شود. یعنی به اطلاعات قابلیت محرمانگی و یکپارچگی را می‌دهد.

برای درک بهتر بگذارید یک مثال بزنم: فرض کنید فرد A به B از طریق تلفن ثابت زنگ زده است. اگر در این میان یک فرد باشد که از سیم تلفن یک اتصال دیگر برای خودش بسازد، قادر خواهد بود که صحبت‌های هر دو طرف را بشوند، برخی از آن‌ها را بلاک کند یا حتی تغییرشان دهد. حال ما ارتباط بین A و B را رمزگذاری می‌کنیم بطوری که فقط با استفاده از یک کلید خاص بشود آن‌ها را رمزگشایی کرد. حال حتی اگر فرد میانی به اطلاعات گوش دهد، چیزی نخواهد فهمید! از طرفی چون ارتباط با قراردادهای خاصی امن شده، اگر آن‌ها را تغییر دهد، افراد از آن‌ها مطلع شده و خواهند فهمید که اطلاعات را به درستی دریافت نکرده اند.

در VPN نیز اطلاعات باید رمزگذاری شوند تا امکان Sniff و حملاتی مثل Man-in-the-middle وجود نداشته باشد.

پروتکل‌های امنیتی VPN

در ایجاد یک کانکشن VPN، از پروتکل‌های مختلفی می‌توانیم استفاده کنیم که مزایا و معایب متفاوتی دارند. این پروتکل‌ها عبارت اند از:

پروتکل PPTP

یکی از رایج ترین و البته ضعیف ترین پروتکل‌هایی است که در ارتباطات VPN استفاده می‌شود. PPTP مخفف Point-to-Point Tunneling Protocol است که برای تونلینگ استفاده شده و توسط پروتکل MPPE رمزگذاری می‌شود.

این پروتکل آسیب پذیری‌های امنیتی مختلفی دارد که ارتباط و داده‌های ارسالی را در خطر لو رفتن قرار می‌دهد ولی چون در اکثر سیستم عامل‌ها تعبیه می‌شود و از طرفی استفاده از آن آسان است، به یکی از رایج ترین پروتکل‌ها تبدیل شده. در یک کلام، از PPTP استفاده نکنید!

پروتکل OpenVPN

اوپن وی‌پی‌ان پروتکل امنی است که از OpenSSL و SSL/TLS برای رمزگذاری استفاده می‌کند. این پروتکل قابلیت کانفیگ فراوانی داشته و اگر از الگوریتم AES استفاده شود، یکی از قوی ترین پروتکل‌های VPN خواهد بود.

چون این پروتکل بصورت تعبیه شده در سیستم عامل‌های رایج پشتیبانی نمی‌شود، برای استفاده از آن باید یک برنامه جانبی بر روی سیستم خود نصب کنید. استفاده از این پروتکل پیشنهاد می‌شود ولی نسبت به SSTP کمی کم ثبات تر است.

پروتکل L2TP/IPSec

مخفف Internet Protocol Security بوده و پروتکلی برای امن کردن شبکه عمومی اینترنت است. این پروتکل علاوه بر قابلیت رمزگذاری، می‌تواند تونل نیز بزند. این پروتکل در دوحالت Transport Mode که فقط اطلاعات موجود در قسمت داده بسته IP را رمزگذاری می‌کند و حالت Tunnel Mode که کل بسته IP (داده و سربرگ (هدر)) را رمزگذاری می‌کند. این پروتکل در کانکشن‌های VPN در کنار پروتکل L2TP کار می‌کند.

L2TP مخفف Layer 2 Tunneling بوده، برای تونلینگ استفاده می‌شود، بر پایه PPP بوده و قابلیت رمزگذاری ندارد. با این حال در ترکیب با IPSec می‌تواند بسیار مناسب باشد.

ترکیب پروتکل L2TP/IPSec در سیستم عامل‌های جدید بصورت تعبیه شده پشتیبانی می‌شود. یعنی راه اندازی آن آسان بوده و از طرفی امنیت بالایی هم دارد. ولی چون قابلیت کانفیگ یا پیکربندی زیادی ندارد نسبت به OpenVPN در رده پایین تری قرار می‌گیرد.