1- در صورتیکه RAS سرور و سیستم تماسگیرنده در یک استان قرار نداشته باشند، علاوه بر لزوم پرداخت هزینه زیاد، سرعت ارتباط نیز پایین خواهد آمد و این مسأله وقتی بیشتر نمود پیدا می کند که کاربر نیاز به ارتباطی با سرعت مناسب داشته باشد.
2- در صورتیکه تعداد اتصالات راه دور در یک لحظه بیش از یک مورد باشد، RAS سرور به چندین خط تلفن و مودم احتیاج خواهد داشت که باز هم مسأله هزینه مطرح می گردد.
اما با ارتباط VPN مشکلات مذکور بهطور کامل حل میشود و کاربر با اتصال به ISPمحلی به اینترنت متصل شده و VPN بین کامپیوتر کاربر و سرور سازمان از طریق اینترنت ایجاد میگردد. ارتباط مذکور می تواند از طریق خط DialUpو یا خط اختصاصی مانندLeased Line برقرار شود.
بههر حال اکنون مسأله این نیست که طریقه استفاده از VPN چیست، بلکه مسأله این است که کدامیک از تکنولوژیهای VPN باید مورد استفاده قرار گیرند. پنج نوع پروتکل درVPN مورد استفاده قرار می گیرد که هرکدام مزایا و معایبی دارند . در این مقاله ما قصد داریم در مورد هرکدام از این پروتکلها بحث کرده و آنها را مقایسه کنیم . البته نتیجه گیری نهایی به هدف شما در استفاده از VPN بستگی دارد.
در برخی سازمانها، اطلاعات یک دپارتمان خاص بهدلیل حساسیت بالا، بهطور فیزیکی از شبکه اصلی داخلی آن سازمان جدا گردیده است. این مسأله علیرغم محافظت از اطلاعات آن دپارتمان، مشکلات خاصی را نیز از بابت دسترسی کاربران دپارتمان مذکور به شبکههای خارجی بهوجود میآورد. VPN اجازه می دهد که شبکه دپارتمان مذکور بهصورت فیزیکی به شبکه مقصد مورد نظر متصل گردد، اما بهصورتیکه توسط VPNسرور، جدا شده است (با قرار گرفتن VPN سرور بین دو شبکه). البته لازم به یادآوری است که نیازی نیست VPN سرور بهصورت یک Router مسیریاب بین دو شبکه عمل نماید، بلکه کاربران شبکه مورد نظر علاوه بر اینکه خصوصیات و Subnet شبکه خاص خود را دارا هستند به VPN سرور متصل شده و به اطلاعات مورد نظر در شبکه مقصد دست می یابند.
علاوه بر این تمام ارتباطات برقرار شده از طریق VPN، میتوانند به منظور محرمانه ماندن رمزنگاری شوند. برای کاربرانی که دارای اعتبارنامه مجاز نیستند، اطلاعات مقصد بهصورت خودکار غیر قابل رویت خواهند بود .
مبانی Tunneling
Tunneling یا سیستم ایجاد تونل ارتباطی با نام کپسوله کردن (Encapsulation) نیز شناخته میشود که روشی است برای استفاده از زیرساخت یک شبکه عمومی جهت انتقال اطلاعات. این اطلاعات ممکن است از پروتکلهای دیگری باشد. اطلاعات بهجای اینکه بهصورت اصلی و Original فرستاده شوند، با اضافه کردن یک Header (سرایند) کپسوله میشوند.
این سرایند اضافی که به پکت متصل میشود، اطلاعات مسیریابی را برای پکت فراهم می کند تا اطلاعات بهصورت صحیح، سریع و فوری به مقصد برسند. هنگامی که پکتهای کپسوله شده به مقصد رسیدند، سرایندها از روی پکت برداشته شده و اطلاعات بهصورت اصلی خود تبدیل میشوند. این عملیات را از ابتدا تا اتمام کارTunneling مینامند.
نگهداری تونل
مجموعه عملیات متشکل از پروتکل نگهداری تونل و پروتکل تبادل اطلاعات تونل بهنام پروتکل Tunneling شناخته میشوند . برای اینکه این تونل برقرار شود، هم کلاینت و هم سرور میبایست پروتکل Tunneling یکسانی را مورد استفاده قرار دهند. از جمله پروتکلهایی که برای عملیات Tunneling مورد استفاده قرار میگیرند PPTP و L2TPهستند که در ادامه مورد بررسی قرار خواهند گرفت.
پروتکل نگهداری تونل
پروتکل نگهداری تونل بهعنوان مکانیسمی برای مدیریت تونل استفاده میشود. برای برخی از تکنولوژیهایTunneling مانند PPTP و L2TP یک تونل مانند یک Sessionمیباشد، یعنی هر دو نقطه انتهایی تونل علاوه بر اینکه باید با نوع تونل منطبق باشند، میبایست از برقرار شدن آن نیز مطلع شوند. هرچند بر خلاف یک Session، یک تونل دریافت اطلاعات را بهصورتی قابل اطمینان گارانتی نمیکند و اطلاعات ارسالی معمولاً بهوسیله پروتکلی بر مبنای دیتاگرام مانندUDP هنگام استفاده از L2TP یا TCP برای مدیریت تونل و یک پروتکل کپسوله کردن مسیریابی عمومی اصلاح شده بهنام GRE برای وقتی که PPTP استفاده می گردد، پیکربندی و ارسال میشوند.
ساخته شدن تونل
یک تونل باید قبل از اینکه تبادل اطلاعات انجام شود، ساخته شود. عملیات ساخته شدن تونل بهوسیله یک طرف تونل یعنی کلاینت آغاز میشود و طرف دیگر تونل یعنی سرور، تقاضای ارتباط Tunneling را دریافت میکند. برای ساخت تونل یک عملیات ارتباطی مانندPPP انجام میشود. سرور تقاضا میکند که کلاینت خودش را معرفی کرده و معیارهای تصدیق هویت خود را ارائه نماید. هنگامی که قانونی بودن و معتبر بودن کلاینت مورد تأیید قرار گرفت، ارتباط تونل مجاز شناخته شده و پیغام ساخته شدن تونل توسط کلاینت به سرور ارسال میگردد و سپس انتقال اطلاعات از طریق تونل شروع خواهد شد. برای روشن شدن مطلب، مثالی میزنیم. اگر محیط عمومی را، که غالبا نیز همینگونه است، اینترنت فرض کنیم، کلاینت پیغام ساخته شدن تونل را از آدرس IP کارت شبکه خود بهعنوان مبدا به آدرس IP مقصد یعنی سرور ارسال میکند. حال اگر ارتباط اینترنت بهصورت DialUp از جانب کلاینت ایجاد شده باشد، کلاینت بهجای آدرس NIC خود، آدرسIP را که ISP به آن اختصاص داده بهعنوان مبدا استفاده خواهد نمود.
نگهداری تونل
در برخی از تکنولوژیهای Tunneling مانند L2TP و PPTP، تونل ساخته شده باید نگهداری و مراقبت شود . هر دو انتهای تونل باید از وضعیت طرف دیگر تونل باخبر باشند. نگهداری یک تونل معمولا از طریق عملیاتی بهنام نگهداری فعال (KA) اجرا میگردد که طی این پروسه بهصورت دوره زمانی مداوم از انتهای دیگر تونل آمارگیری میشود. اینکار هنگامی که اطلاعاتی در حال تبادل نیست، انجام می پذیرد.
پروتکل تبادل اطلاعات تونل
زمانی که یک تونل برقرار میشود، اطلاعات میتوانند از طریق آن ارسال گردند. پروتکل تبادل اطلاعات تونل، اطلاعات را کپسوله کرده تا قابل عبور از تونل باشند. وقتی که تونل کلاینت قصد ارسال اطلاعات را به تونل سرور دارد، یک سرایند (مخصوص پروتکل تبادل اطلاعات) را بر روی پکت اضافه میکند. نتیجه اینکار این است که اطلاعات از طریق شبکه عمومی قابل ارسال شده و تا تونل سرور مسیریابی میشوند.تونل سرور پکتها را دریافت کرده و سرایند اضافه شده را از روی اطلاعات برداشته و سپس اطلاعات را بهصورت اصلی درمی آورد.
انواع تونل
تونلها به دو نوع اصلی تقسیم میگردند:
- تونل اختیاری
- تونل اجباری
تونل اختیاری
تونل اختیاری بهوسیله کاربر و از سمت کامپیوتر کلاینت طی یک عملیات هوشمند، پیکربندی و ساخته میشود. کامپیوتر کاربر نقطه انتهایی تونل بوده و بهعنوان تونل کلاینت عمل میکند. تونل اختیاری زمانی تشکیل میشود که کلاینت برای ساخت تونل به سمت تونل سرور مقصد داوطلب شود.
هنگامیکه کلاینت بهعنوان تونل کلاینت قصد انجام عملیات دارد، پروتکل Tunnelingموردنظر باید بر روی سیستم کلاینت نصب گردد. تونل اختیاری میتواند در هریک از حالتهای زیر اتفاق بیفتد:
- کلاینت ارتباطی داشته باشد که بتواند ارسال اطلاعات پوشش گذاری شده را از طریق مسیریابی به سرور منتخب خود انجام دهد .
- کلاینت ممکن است قبل از اینکه بتواند تونل را پیکربندی کند، ارتباطی را از طریقDialUp برای تبادل اطلاعات برقرار کرده باشد. این معمولترین حالت ممکن است. بهترین مثال از این حالت، کاربران اینترنت هستند. قبل از اینکه یک تونل برای کاربران بر روی اینترنت ساخته شود، آنها باید به ISP خود شمارهگیری کنند و یک ارتباط اینترنتی را تشکیل دهند.
تونل اجباری
تونل اجباری برای کاربرانی پیکر بندی و ساخته می شود که دانش لازم را نداشته و یا دخالتی در ساخت تونل نخواهند داشت. در تونل اختیاری، کاربر، نقطه نهایی تونل نیست. بلکه یک Device دیگر بین سیستم کاربر و تونل سرور، نقطه نهایی تونل است که بهعنوان تونل کلاینت عمل مینماید. اگر پروتکل Tunneling بر روی کامپیوترکلاینت نصب و راه اندازی نشده و در عین حال تونل هنوز مورد نیاز و درخواست باشد، این امکان وجود دارد که یک کامپیوتر دیگر و یا یک Device شبکه دیگر، تونلی از جانب کامپیوتر کلاینت ایجاد نماید.
این وظیفهای است که به یک متمرکزکننده دسترسی (AC) به تونل، ارجاع داده شده است. در مرحله تکمیل این وظیفه، متمرکزکننده دسترسی یا همان AC باید پروتکلTunneling مناسب را ایجاد کرده و قابلیت برقراری تونل را در هنگام اتصال کامپیوتر کلاینت داشته باشد. هنگامیکه ارتباط از طریق اینترنت برقرار می شود، کامپیوتر کلاینت یک تونل تأمین شده (NAS (Network Access Service را از طریق ISP احضار میکند.
بهعنوان مثال یک سازمان ممکن است قراردادی با یک ISP داشته باشد تا بتواند کل کشور را توسط یک متمرکزکننده دسترسی بههم پیوند دهد. این AC میتواند تونلهایی را از طریق اینترنت برقرار کند که به یک تونل سرور متصل باشند و از آن طریق به شبکه خصوصی مستقر در سازمان مذکور دسترسی پیدا کنند.
این پیکربندی بهعنوان تونل اجباری شناخته میشود، بهدلیل اینکه کلاینت مجبور به استفاده از تونل ساخته شده بهوسیله AC شده است. یکبار که این تونل ساخته شد، تمام ترافیک شبکه از سمت کلاینت و نیز از جانب سرور بهصورت خودکار از طریق تونل مذکور ارسال خواهد شد.
بهوسیله این تونل اجباری، کامپیوتر کلاینت یک ارتباط PPP میسازد و هنگامیکه کلاینت به NAS، از طریق شمارهگیری متصل میشود، تونل ساخته میشود و تمام ترافیک بهطور خودکار از طریق تونل، مسیریابی و ارسال میگردد. تونل اجباری می تواند بهطور ایستا و یا خودکار و پویا پیکربندی شود.
تونلهای اجباری ایستا
برای مثال کاربران احتیاج دارند که با یک شماره تلفن خاص تماس بگیرند، تا به یک ACمتصل شوند که تمام ارتباطات را بهطور خودکار به یک تونل سرور خاص متصل میکند. در طرحهای Tunneling ناحیهای، متمرکزکننده دسترسی بخشی از User Name را کهRealm خوانده میشود بازرسی میکند تا تصمیم بگیرد در چه موقعیتی از لحاظ ترافیک شبکه، تونل را تشکیل دهد.
تونلهای اجباری پویا
برای اینکار باید AC اطلاعات کاربران را در بانک اطلاعاتی خود ذخیره کند که بزرگترین عیب این مسأله این است که این بانک اطلاعاتی به خوبی قابل مدیریت نیست.
بهترین راهحل این موضوع، راهاندازی یک سرور RADIUS است، سروری که اجازه میدهد که تعداد نامحدودی سرور، عمل شناسایی Userهای خود را بر روی یک سرور خاص یعنی همین سرور RADIUS انجام دهند، بهعبارت بهتر این سرور مرکزی برای ذخیره و شناسایی و احراز هویت نمودن کلیه کاربران شبکه خواهد بود.
پروتکلهای VPN
البته پروتکل امنیتی SSL نیز جزء پروتکلهای مورد استفاده در VPN به شمار میآید، ولی بهعلت اینکه SSL بیشتر بر روی پروتکلهای HTTP ،LDAP ،POP3 ،SMTP و ... مورد استفاده قرار میگیرد، بحث در مورد آن را به فرصتی دیگر موکول میکنیم.
پروتکلPPTP
IP برای تبادل آنها از طریق یک شبکه IP مانند اینترنت توسط یک سرایند، کپسوله میکند. این پروتکل میتواند در شبکههای خصوصی از نوع LAN-to-LAN نیز استفاده گردد.
پروتکل PPTP بهوسیله انجمنی از شرکتهای مایکروسافت، Ascend Communications،3com ،ESI و US Robotics ساخته شد.
PPTP یک ارتباط TCP را (که یک ارتباط Connection Oriented بوده و پس از ارسال پکت منتظر Acknowledgment آن میماند) برای نگهداری تونل و فریمهای PPP کپسوله شده توسط (GRE (Generic Routing Encapsulation که به معنی کپسوله کردن مسیریابی عمومی است. برای Tunneling کردن اطلاعات استفاده میکند. ضمناً اطلاعات کپسولهشده PPP قابلیت رمزنگاری و فشرده شدن را نیز دارا هستند.
تونلهای PPTP باید بهوسیله مکانیسم گواهی همان پروتکل PPP که شامل (EAP،CHAP ،MS-CHAP ،PAP)میشوند، گواهی شوند. در ویندوز 2000 رمزنگاری پروتکلPPP فقط زمانی استفاده میگردد که پروتکل احراز هویت یکی از پروتکلهای EAP ،TLSو یا MS-CHAP باشد. باید توجه شود که رمزنگاری PPP، محرمانگی اطلاعات را فقط بین دو نقطه نهایی یک تونل تأمین میکند و در صورتیکه به امنیت بیشتری نیاز باشد، باید از پروتکل Ipsec استفاده شود.
پروتکل L2TP
L2TP نوعی پروتکل شبکه است که فریمهای PPP را برای ارسال بر روی شبکههای IPمانند اینترنت و علاوه بر این برای شبکههای مبتنی بر X.25 ،Frame Relay و یا ATMکپسوله میکند. هنگامیکه اینترنت بهعنوان زیرساخت تبادل اطلاعات استفاده میگردد، L2TP میتواند بهعنوان پروتکلTunneling از طریق اینترنت مورد استفاده قرار گیرد.
L2TP برای نگهداری تونل از یک سری پیغامهای L2TP و نیز از پروتکل UDP و پروتکل تبادل اطلاعات بهصورتConnection Less که پس از ارسال اطلاعات منتظر دریافتAcknowledgment نمیشود و اطلاعات را، به مقصد رسیده فرض میکند استفاده میکند.
در L2TP نیز فریمهای PPP کپسوله شده میتوانند همزمان علاوه بر رمزنگاری شدن، فشرده نیز شوند. البته مایکروسافت پروتکل امنیتی Ipsecرا بهجای رمزنگاری PPPتوصیه می کند. ساخت تونل L2TP نیز باید همانند PPTP توسط مکانیسم (PPP EAP،CHAP ،MS-CHAP ،PAP) بررسی و تأیید شود.
PPTP در مقابلL2TP
شبکه انتقال که PPTP احتیاج دارد، باید یک شبکه IP باشد. ولی L2TP فقط به یک تونل احتیاج دارد تا بتواند ارتباط Point-to-Point را برقرار کند. حال این تونل می تواند بر روی یک شبکه IP باشد و یا بر روی شبکههای دیگر مانند X.25 و یا ATM ،Frame Relay.
L2TP قابلیت فشردهسازی سرایند را داراست. هنگامیکه فشردهسازی سرایند انجام میگیرد، L2TP با حجم 4 بایت عمل میکند، در حالیکه PPTP با حجم 6 بایت عمل مینماید.
PPTP رمزنگاری مربوط به PPP را استفاده میکند، ولی L2TP از پروتکل Ipsec برای رمزنگاری استفاده مینماید.
پروتکل Ipsec
به محض دریافت اطلاعات رمزگذاری شده، تونل سرور، سرایند اضافهشده به IP را پردازش کرده و سپس کنار میگذارد و بعد از آن رمزهای ESP و پکت را باز میکند. بعد از این مراحل است که پکت IP بهصورت عادی پردازش میشود. پردازش عادی ممکن است شامل مسیریابی و ارسال پکت به مقصد نهایی آن باشد.
پروتکل IP-IP
مدیریت VPN
مدیریت کاربران VPN
بیشتر مدیران شبکه برای مدیریت کاربران خود از یک پایگاه داده مدیریت کننده اکانتها بر روی کامپیوتر DC و یا از سرور RADIUS استفاده مینمایند. این کار به سرور VPNاجازه میدهد تا اعتبارنامه احراز هویت کاربران را به یک سیستم احراز هویت مرکزی ارسال کند.
مدیریت آدرسها و Name Serverها
در VPNهایی که مبتنی بر ویندوز 2000 پیکربندی میشوند، بهصورت پیشفرض، IPآدرسهایی که به Clientهای VPN اختصاص داده میشود، از طریق سرور DHCP گرفته میشوند.
البته همانطور که قبلاً گفته شد شما میتوانید یک رشته IP را بهصورت دستی یعنی ایستا بهجای استفاده از DHCP اعمال کنید. ضمنا ًVPN Server باید توسط یک سیستم تأمینکننده نام مانند DNS و یا WINS نیز پشتیبانی شود تا بتواند سیستم IPCP را به مورد اجرا بگذارد.