VPN مخفف جمله Virtual Private Network می باشد به معنی شبکه خصوصی مجازی است که در یک بستر امن ارتباط بین دستگاه ها و کاربران را فراهم می کند، به عبارتی VPN یک شبکه مجازی امن در داخل یک شبکه بزرگ مانند اینترنت یا WAN می باشد که با ایجاد تونل ها و یا کانال های امنیت، اطلاعات ارسالی و دریافتی را به طوری که این اطلاعات برای افراد و دستگاه هایی که در این بستر نیستند غیر قابل فهم می کند، برقرار می کند.
با توسعه تکنولوژی در زمینه ارتباطات و انتقال اطلاعات با استفاده از شبکههای کامپیوتری و افزایش استفاده از این نوع ارتباطات باعث نگرانی در مورد امنیت انتقال اطلاعات در بستر شبکهها کامپیوتری مانند اینترنت شده است، امروزه فعالیتهایی در زمینه افزایش امنیت به طور گسترده در حال انجام میباشد و نتیجه این فعالیتها به وجود آمدن استانداردها و پروتکلهایی متفاوت در ارتباط با امنیت شبکهها کامپیوتری میباشد که شاید یکی از رایجترین این استانداردها شبکههای خصوصی مجازی یا VPN میباشد که در ادامه به معرفی آن میپردازیم.
شبکه ها VPN دارای دو ساختار اصلی می باشند که در ادامه به بررسی آنها میپردازیم:
Site to Site:
به نوع
شبکه VPN به این معنی می باشد که دو یا چند شبکه محلی می توانند با اتصال به همدیگر ارسال و دریافت اطلاعات را به طور امن در این بستر انجام دهند. به طوری که تمامی کاربران هر دو شبکه می توانند از این بستر استفاده نمایند.
Client to Site:
این نوع شبکه VPN
به این معنی می باشد که یک
سرور VPN یا به عبارتی ESP به عنوان مرکز این بستر ایجاد می شود و کاربران از هر جائی می توانند با این سرور از طریق
VPN متصل شوند و ارسال و دریافت اطلاعات خود را از طریق بستر امن این ارتباط انجام دهند.
مهمترین ویژگی یک ارتباط VPN تونل سازی و یا کانال سازی آن می باشد که اطلاعات رمزنگاری شده از این کانال منتقل می شوند، در ادامه به بررسی پروتکل های استفاده شده در این کانال ها می پردازیم.
Encapsulating protocol:
این پروتکل اماده سازی بسته های اطلاعاتی رمزنگاری شده به منظور ارسال و دریافت را بر عهده دارد.
Carrier protocol:
این پروتکل حمل اطلاعات تا رسیدن آنها به مقصد را در کانال بر عهده دارد.
Passenger protocol:
این پروتکل انتقال اطلاعات اصلی کانال ها را بر عهده دارد.
طریقه آدرس دهی در شبکه VPN
در شبکه VPN از دو روش برای آدرس دهی کاربران استفاده می شود که در ادامه به بررسی آنها میپردازیم:
DHCP Delivered:
در این روش کاربری که به شبکه VPN متصل شده است درخواست IP را در شبکه ارسال می کند و پس از گذاشتن درخواست از کانال VPN این درخواست به سرور میرسد و با توجه به تنظیماتی که در سرور VPN انجام شده است، یک آدرس IP را از DHCP داخل شبکه گرفته و به آن کاربر اختصاص می دهد.
Automatic assignment:
در این روش خود سرور VPN دارای Address pool می باشد و به صورت مستقیم به درخواست کاربران مبنی بر دریافت IP پاسخ می دهد و همچنین می توان در این روش به صورت دستی به کاربران متصل شده به شبکه VPN ادرس IP اختصاص داد.
پروتکل های لازم جهت پیاده سازی VPN
جهت پیاده سازی شبکه VPN پروتکل هایی ارائه شده اند که در ادامه به بررسی آنها می پردازیم:
PPTP:
این پروتکل برای متصل کردن و انتقال اطلاعاتی که آدرس غیر از IP دارند استفاده می شود و همچنین دارای قابلیت رمزنگاری 40 بیتی و 128 بیتی با ارتباط نقطه به نقطه می باشد.
L2TP:
این پروتکل برای متصل کردن و انتقال اطلاعاتی که آدرس IP و IPX دارند استفاده می شود و همچنین دارای قابلیت انتقال اطلاعاتی با آدرس غیر از IP با ارتباط نقطه به نقطه می باشد.
SSTP:
این پروتکل برای متصل کردن و انتقال اطلاعات پروتکل ها PPTP و L2TP به همراه رمزنگاری آنها استفاده می شود و همچنین با استفاده از SSL و پورت 443 بیشترین امنیت را برقرار می کند و بالاترین سطح امنیت را در میان پروتکل های VPN دارد.
جهت پیاده سازی شبکه VPN پروتکل هایی ارائه شده اند که در ادامه به بررسی آنها میپردازیم:
PAP:
ساده ترین نوع احراز هویت می باشد که نام کاربری و کلمه عبور در قالب یک متن رمز نگاری نشده به سرور ارسال می شود که معمولا برای ارتباط هایی از نوع PPP استفاده می شود.
SPAP:
این پروتکل مانند پروتکل PAP عمل می کند با این تفاوت که کلمه عبور را قبل از ارسال رمز نگاری می کند و نسبت به پروتکل PAP دارای امنیت بیشتری می باشد.
CHAP:
در این روش کلمه عبور کاربر به صورت hash با یک تابع MD5 در قالب کدگذاری 128 بیتی رمزنگاری می شود این پروتکل نسبت به PAP و SPAP دارای امنیت بسیار بیشتری می باشد.
MSCHAP:
این پروتکل همان پروتکل CHAP می باشد که شرکت مایکروسافت منحصرا برای ارتباط سیستم عامل های ویندوز تهیه و ارائه کرده است که دارای ویژگی هایی مانند ارائه گزارش از خطاهای هنگام اتصال و نیز تغییر رمز عبور کاربران می باشد.
MSCHAPv2:
این پروتکل، پیشرفته پروتکل MSCHAP می باشد که دارای احراز هویت دو طرفه می باشد به صورتی که هم کاربر میبایست سرور را احراز هویت نماید و هم سرور کاربر را احراز هویت نماید.
EAP:
این پروتکل پیشرفته ترین پروتکل ارائه شده تا به امروز می باشد که به علت استفاده از پروتکل های امنیتی دیگری مانند TLS و SSL قویترین پروتکل احراز هویت و همچنین دارای استاندارد های 802.1x برای شبکه های بیسیم نیز می باشد.