توضیح کاربرد ویپیان (VPN)، نحوه کار آنها، انواع VPNها، امنیت آنها و پروتکلهای رایجشان و خطراتی که VPNهای فیلتر شکن ممکن است شما را تهدید کند.
با رشد بیزینس و کسب و کار، اغلب محل انجام کارهای یک شرکت به بیش از یک فروشگاه یا اداره گسترش پیدا میکند که ممکن است در مکانهای بسیار دور از یکدیگر باشند. برای ادامه فعالیت شرکت، شعبهها و کارکنانشان و همچنین کارکنانی که از راه دور فعالیت میکنند، به یک راه ارتباطی سریع، امن و قابل اتکا نیاز دارند تا بین این شبکهها اطلاعات رد و بدل کنند.
VPN چیست؟
اغلب ما حداقل یک بار کلمه ویپیان را شنیده ایم حداقل در مسائل مربوط به فیلترینگ (که در بند آخر توضیح داده شده). VPN مخفف عبارت Virtual Private Network به معنی "شبکه مجازی خصوصی" است.
VPN یک شبکه خصوصی را از طریق شبکههای عمومی مانند اینترنت گسترش میدهد. مثلاً فرض کنید که شبکه خصوصی شرکتی در داخل ساختمان آن شرکت محدود شده و برای دسترسی به آن باید به داخل ساختمان برویم. اما در مواقعی ما دسترسی فیزیکی به آن مکان را نداریم ولی باید به شبکه خصوصی آن جا وصل شده و با آن کار کنیم. مثلاً زمانی که شما در مسافرت هستید و اتفاقی میافتد که سریعاً باید به شبکه وصل شوید یا امروزه که اصطلاح کار از راه دور مطرح است، کاربران با استفاده از اتصالات VPN به شبکه وصل شده و کار خود را انجام میدهند. اتصالات ویپیان کاملاً امن بوده و غیرقابل شنود و رمزگشایی هستند.
در گذشته برای گسترش داده شبکههای خصوصی از اینترانت (Interanet) استفاده میشد. اینترانت نوعی شبکه است که برای ارتباط و تبادل داده از اینترنت استفاده نکرده و یک شبکه کاملاً اختصاصی بین شرکتها است. اینترانتها بدون واسط اکسترانت هیچ ارتباطی با شبکه اینترنت ندارند. یعنی میتوان اینترانت را مانند یک اینترنت شخصی برای شرکتها تعریف کرد که از پروتکل و استانداردهای اینترنت استفاده میکند اما بسیار محدود تر و دسترسی به آن تنها برای افراد تایید شده امکان پذیر است. مثلاً شبکه بانکها، دانشگاهها و ... اغلب از نوع اینترانت هستند.
راه اندازی اینترانت بسیار پر هزینه بوده و برای اغلب شرکتها امکان پذیر نیست. از طرفی امنیت آن و امکان دسترسی افراد غیر مجاز همیشه تهدیدی بزرگ برای شبکههای اینترانت به حساب میآید. به همین دلیل روش ارتباط ویپیان مطرح شد که کم هزینه تر، امن تر، قابل انعطاف تر و فرایند خطایابی آن نیز سریع تر است.
VPNهای شرکتی چگونه کار میکند؟
نکته: همه اصطلاحات این بند در ادامه مطلب توضیح داده شده است.
گفتیم که ویپیان ها از طریق اینترنت بستری امن را برای کاربر فراهم میکنند که با مقصد در ارتباط باشد. با ایجاد یک تونل بین کاربر و سرور که اغلب به صورت مستقیم به شبکه اینترانت شرکت وصل است و رمزگذاری دادههای رد و بدل شده، یک فضای کاملاً امن را در اختیار کاربر قرار میدهد. مانند تصویر زیر:
نحوه کار یک VPN شرکتی یا سازمانی
با این حال یک نوع دیگر ویپیان وجود دارد که بهتر است آن را بصورت جداگانه در بند بعدی توضیح دهم.
VPNهای فیلتر شکن و خطرات آنها
در بند بالا نحوه کار ویپیان های سازمانی را توضیح دادیم. این بند درباره ویپیان هایی است که اغلب به عنوان فیلتر شکن مطرح میشوند. ممکن است شما نیز از این فیلترشکنها استفاده کرده باشید و خب نیازتان هم برطرف شده باشد اما اغلب افراد متاسفانه اهمیتی به امنیت اطلاعاتشان نداده و فکر میکنند که این فیلترشکنها و ویپیان ها خطری برایشان به حساب نمیآید.
ویپیان هایی که به عنوان فیلتر شکن عمل میکنند، با ایجاد یک تونل بین شما و سرور خریداری شده (یا رایگان) و رمزگذاری اطلاعات، باعث میشوند که درخواستهای ما برای فیلترهای مخابرات و شرکتهای ارائه دهنده خدمات اینترنتی (ISPP) غیرقابل فهم بوده و بدون مشکل از آنها رد شود. سپس این درخواست را که دریافت کرده اند، به صورت عادی به وبسایت یا سرویس مورد درخواست شما ارسال میکنند. آن سرویس یا وبسایت هم پاسخ را برای سرور ویپیان میفرستد (چون آن را به عنوان درخواست دهنده میشناسد) و سرور ویپیان پاسخ را رمزگذاری کرده و باز هم با استفاده از تونلی، فیلترهای مخابرات و ISP را دور زده و در سمت کلاینت شما رمزگشایی میشود و به این ترتیب شما از وبسایت یا سرویس مورد نظر استفاده میکنید. مثل تصویر زیر:
نحوه کار یک فیلتر شکن بر پایه VPN
اگر به تصویر بالا دقت کنید، خیلی راحت همه چیز دستتان میآید. اگر سرور ویپیان توسط یک هکر کنترل شود، وی بدون مشکلی به ارتباط بین شما و وبسایت مورد نظر دسترسی خواهد داشت. یعنی اگر درخواست ورود به حساب کاربریای را بدهید، چون رمز و نام کاربری همراه با درخواست ارسال میشوند، به راحتی میتواند آنها را مشاهده کند! توجه به این نکته ضروری است که اگر نگوییم همه سرورهای فیلتر شکن، بســــــــــــــــــیاری از آنها از این طریق اطلاعات شناسایی - هویتی (تنها وبسایت است که هویت شما را نشناخته و سرور ویپیان را به عنوان طرف مقابل میشناسد این درحالی است که خود سرور ویپیان بدون هیچ مشکلی شما را میشناسد!) و سایر اطلاعات حساس مثل رمزهای عبور، کوکی مرورگرتان، اطلاعات بانکی و ... استفاده کنندگان را میدزدند.
از طرفی چون این سرویسها غیرقانونی هستند و مکانیزم کارشان به صورتی است که هویت صاحبشان مخفی است، امکان شکایت از آنها نیز اغلب وجود نخواهد داشت یعنی مثلاً اگر رمزتان دزدیده شد، دیگر دزدیده شده است و کار نه از دست پلیس و نه از دست خودتان بر نخواهد آمد. در این گونه مواقع بهتر است رمزتان را سریعاً عوض کنید.
برای این که درک بهتری از این خطرات داشته باشید یک مثال میزنم: فرض کنید فرد A نمیتواند به B به صورت مستقیم نامه بفرستد. بجای ارتباط مستقیم، فرد A نامه را در یک مکان خاص گذاشته و به خانه اش میرود. فرد سومی که هیچ هویتی از آن نزد A معلوم نیست، نامه را برمیدارد. آن را میخواند، ممکن است تغییرش هم دهد و سپس به فرد B میرساند و در فرایند بازگشت پاسخ نیز همان کارها را انجام میدهد.
توصیه
تا حد امکان از فیلترشکنها استفاده نکنید! اگر استفاده میکنید، به هیــــــــــــــچ وجه اطلاعات حساسی نظیر شماره کارت بانکی، رمز اینترنتی آن و ... را حتی تایپ هم نکنید چه برسد که آن را ارسال کنید. اگر مجبور هستید، مطمئن شوید که فقط به سایتهایی میروید که از پروتکل HTTPS بجای HTTP استفاده میکنند. در اینگونه سایتها اطلاعات بین شما و سایت رمزگذاری میشود یعنی حتی برای سرور ویپیان و فیلترشکن هم غیرقابل فهم خواهد بود. در غیر این صورت، مطمئن باشید که اطلاعاتتان توسط شخصی خوانده میشود!
از اینجا به بعد بحث ما فقط ویپیان های سازمانی/شرکتی است و از بحث درباره ویپیان های فیلتر شکن خارج میشویم.
انواع 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 در رده پایین تری قرار میگیرد.
پروتکل SSTP
مخفف Secure Socket Tunneling Protocol بوده و پروتکلی برای تونلینگ است با اینحال در کنار پروتکل SSL برای رمزگذاری، برای کانکشنهای VPN بسیار مناسب است. SSTP از ویندوز ویستا سرویس پک ۱ به بعد بصورت تعبیه شده توسط این سیستم عاملها پشتیبانی میشود و به دلیل همین پشتیبانی اغلب بهتر از OpenVPN است. با کانفیگ کردن این پروتکل برای استفاده از رمزگذاری AES یک کانکشن قوی خواهید داشت. استفاده از SSTP بیشتر از سایر پروتکلها پیشنهاد میشود.