VPN چیست؟ (بخش چهارم)


VPN با لینوکس (2)
در بخش پیش بر پایه لینوکس 2.4 و Free S/WAN یک VPN Security Gateway راه انداختیم. با نصب patch های x.509 (www.strongsec.com/freewan/) Gateway را با تنامین اعتبار های مطمئن و رمز گذاری های قوی کامل کردیم. به این ترتیب پیکر بندی سرویس دهنده به پایان می رسد. اکنون باید سرویس گیرنده ها را برای دسترسی به VPN تنظیم کنیم. فرض می کنیم که سیستم عامل مورد استفاده کاربران بیرون از شبکه ویندوز 2000 و xp است که هر دوی آنها برنامه های لازم برای ایجاد و مدیریت ارتباط های IPsec را در خود دارند.
البته باید این احتمال را نیز در نظر گرفت که شاید برخی کاربران با سیستم ویندوز 9x/Me قصد استفاده از VPN را داشته باشند. در این حالت به یک برنامه سرویس گیرنده IPsec نیاز داریم. یکبار معروفترین این برنامه ها که برای کاربردهای شخصی رایگان است PGPnet می باشد. این برنامه را می توان حتی روی ویندوز های NT و 2000 هم بکار برد.

ویندوز 2000 و XP
ویندوز های 2000و XP با توجه به پشتیبانی از IPsec برای استفاده به عنوان سرویس گیرنده IPsec بسیار مناسبند. این دو سیستم عامل افزون بر سرویس های IPsec امکاناتی هم برای ایمنی IP دارند. برای ساختن یک تونل VPN، کافی است که به کاربر تنها سرویس IPsec را اجرا کرده و گزینه های لازم را در آن تنظیم کند.
البته فرض بر این است که تنظیمات امنیتی از پیش انجام شده باشد. انجام این کار در ویندوز چندان ساده نیست. در ویندوز 2000 باید برنامه IPsecPOL
http://agent.microsoft.com/windows2000/techinfo/reskit/tools/existing/ipsecpol-o.asp
را از ResourceKit نصب کنید. در ویندوز XP بجای آن به IPsecCmd نیاز داریم. برای دستیابی به این برنامه باید Support Tools را در ویندوز XP به طور کامل نصب کنید(فهرست \SUPPORT\TOOLS روی CD ویندوز XP).

تنظیم ipsec.conf
اکنون ipsec.conf را که قبلا آماده کرده بودیم مطابق کاربردمان تنظیم کنیم. در conn %default ارتباط های تلفنی(Dail up) که باید به طور خودکار فعال شوند مشخص می شوند.
سپس بخشی قرار می گیرد که با conn آغاز می شود و پارامترهای ارتباط VPN را در خود دارد. آدرس های محلی که به طور خودکار برای آدرس های سرویس گیرنده ها به کار می روند با با left = %any مشخص می شوند. در right آدرس IP مربوط به VPNGateway را واردکنیم. پارامترrightsubnet هم آدرس IP و ماسک شبکه ای که ارتباط با آن برقرار می شود را در خود دارد. در اینجا می توانید از هر دو شیوه نوشتن آدرس ها یعنی 172.16.0.0/16 یا172.16.0.0/255.255.0.0 استفاده کنید. Network مشخص می کند که ارتباط از طریق تماس تلفنی (network = ras)، شبکه (network = lan) یا هر دو (network = both) برقرار شود.

پیکر بندی سرویس گیرنده
اکنون باید فایل آرشیوی که برای گواهینامه کاربر، رمز عبور،IPsec و ipsec.conf ساختیم را از یک راه مطمئن (مثلا Email رمز گذاری شده) به کامپیوتر سرویس گیرنده بفرستیم. پس از باز کردن این فایل، باید یکSnap in را همان طور که در شکل می بینید اضافه کنید . برای این منظور در "Start,Run" ، mmc را وارد کنید. سپس از طریق "File,Add/Remove Snap-in" یک Plug in از از جنس Certificate بسازید. این Plug in باید از جنس Compeuter account برای Local computer باشد. پس از اتمام کار و زدن کلیدهای Finish ، Close وOk ،Plug in را در پنجره MMC خواهید دید.

خلاصه
لینوکس و Free S/WAN برای ساختن VPN راه حل هایی هستند که در مقایسه با راه حل های سخت افزاری بسیار ساده تر و کم هزینه تر است. به ویژه سرویس گیرنده های ویندوز 2000 و XP با توجه به دسترس بودن برنامه های لازم بسیار ساده و سریع پیکربندی می شوند. اما هنگام راه اندازی VPN نباید یک نکته فراموش کرد. VPN اگر چه مطمئن است اما این اطمینان تا وقتی است که کامپیوترها در هماهنگی کامل با یکدیگر باشند. اگر از VPN به درستی محافظت نشود بستر بسیار مناسبی برای ویروس ها، کرم ها، اسب های تروآیی و کاربران غیر مجاز خواهد بود. بنابراین استفاده از برنامه های ضد ویروس و دیواره آتش را نباید فراموش کنید.

نگاهی فنی به VPN

استفاده از RAS سرور و خط تلفن برای برقراری ارتباط دو مشکل عمده دارد عبارتند از:
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 شبکه دیگر، تونلی از جانب کامپیوتر کلاینت ایجاد نماید. این وظیفه ای است که به یک متمرکز کننده دسترسی (AS) به تونل، ارجاع داده شده است. در مرخله تکمیل این وظیفه، متمرکز کننده دسترسی یا همان AS باید پروتکل Tunneling مناسب را ایجاد کرده و قابلیت برقراری تونل را در هنگام اتصال کامپیوتر کلاینت داشته باشد. هنگامی که ارتباط از طریق اینترنت برقرار می شود، کامپیوتر کلاینت یک تونل تامین شده (Network Access Service) NAS را از طریق ISP احضار می کند. به عنوان مثال یک سازمان ممکن است قراردادی با یک ISP داشته باشد تا بتواند کل کشور را توسط یک متمرکز کننده دسترسی به هم پیوند دهد. این AC می تواند تونل هایی را از طریق اینترنت برقرار کند که به یک تونل سرور متصل باشند و از آن طریق به شبکه خصوصی مستقر در سازمان مذکور دسترسی پیدا کنند. این پیکربندی به عنوان تونل اجباری شناخته می شود، به دلیل این که کلاینت مجبور به استفاده از تونل ساخته شده به وسیله AC شده است. یک بار که این تونل ساخته شد، تمام ترافیک شبکه از سمت کلاینتو نیز از جانب سرور به صورت خودکار از طریق تونل مذکور ارسال خواهد شد. به وسیله این تونل اجباری، کامپیوتر کلاینت یک ارتباط PPP می سازد و هنگامی که کلاینت به NAS، از طریق شماره گیری متصل می شود، تونل ساخته می شود و تمام ترافیک به طور خودکار از طریق تونل مسیریابی و ارسال می گردد. تونل اجباری می تواند به طور ایستا و یا خودکار و پویا پیکربندی شود.
تونل های اجباری ایستا
پیکربندی تونل های Static معمولا به تجهیزات خاص برای تونل های خودکار نیاز دارند. سیستم Tunneling خودکار به گونه ای اعمال می شودکه کلاینت ها به AC از طریق شماره گیری (Dialup) متصل می شوند. این مسئله احتیاج به خطوط دسترسی محلی اختصاصی و نیز تجهیزات دسترسی شبکه دارد که به این ها هزینه های جانبی نیز اضافه می گردد. برای مثال کاربران احتیاج دارند که با یک شماره تلفن خاص تماس بگیرند، تا به یک AC متصل شوند که تمام ارتباطات را به طور خودکار به یک تونل سرور خاص متصل می کند. در طرح های Tunneling ناحیه ای، متمرکز کننده دسترسی بخشی از User Name را که Realm خوانده می شود بازرسی می کند تا تصمیم بگیرد در چه موقعیتی از لحاظ ترافیک شبکه، تونل را تشکیل دهد.
تونل های اجباری پویا
در این سیستم انتخاب مقصد تونل بر اساس زمانی که کاربر به AC متصل می شود، ساخته می شود. کاربران دارای Realm یکسان، ممکن است تونل هایی با مقصد های مختلف تشکیل بدهند. البته این امر به پارامترهای مختلف آنها مانند User Name، شماره تماسف محل فیزیکی و زمان بستگی دارد. تونل های Dynamic، دارای قابلیت انعطاف عالی هستند. همچنین تونل های پویااجازه می دهند که AC به عنوان یک سیستم Multi-NAS عمل کند، یعنی اینکه همزمان هم ارتباطات Tunneling را قبول می کند و هم ارتباطات کلاینت های عادی و بدون تونل را. در صورتی که متمرکز کننده دسترسی بخواهد نوع کلاینت تماس گسرنده را مبنی بر دارای تونل بودن یا نبودن از قبل تشخیص بدهد، باید از همکاری یک بانک اطلاعاتی سود ببرد. برای این کار باید AC اطلاعات کاربران را در بانک اطلاعاتی خود ذخیره کند که بزرگترین عیب این مسئله این است که این بانک اطلاعاتی به خوبی قابل مدیریت نیست. بهترین راه حل این موضوع، راه اندازی یک سرور RADIUS است، سروری که اجازه می دهد که تعداد نا محدودی سرور، عمل شناسایی USER های خود را بر روی یک سرور خاص یعنی همین سرور RADIUS انجام دهند، به عبارت بهتر این سرور مرکزی برای ذخیره و شناسایی و احراز هویت نمودن کلیه کاربران شبکه خواهد بود.

پروتکل های VPN
عمده ترین پروتکل هایی که به وسیله ویندوز 2000 برای دسترسی به VPN استفاده می شوند عبارتند از: PPTP، L2TP، IPSEC، IP-IP.
البته پروتکل امنیتی SSL نیز جزء پروتکل های مورد استفاده در VPN به شمار می آید، ولی به علت اینکه SSL بیشتر بر روی پروتکل های HTTP، LDAP، POP3، SMTP و... مورد استفاده قرار می گیرد، بحث در مورد آن را به فرتی دیگر موکول می کنیم.

پروتکل PPTP
پروتکل Tunneling نقطه به نقطه، بخش توسعه یافته ای از پروتکل PPP است که فریم های پروتکل PPP را به صورت IP برای تبادل آنها از طریق یک شبکه IP مانند اینترنت توسط یک سرایند، کپسوله می کند. این پروتکل می تواند در شبکه های خصوصی از نوع LAN-to-LAN نیز استفاده گردد.
پروتکل PPTP به وسیله انجمنی از شرکت های مایکروسافت، Ascend Communications، 3com، ESI و US Robotics ساخته شد. PPTP یک ارتباط TCPرا (که یک ارتباط Connection Oriented بوده و پس از ارسال پکت منتظرAcknowledgment آن می ماند) برای نگهداری تونل و فریم های PPP کپسوله شده توسط (Generic Routing Encapsulation) GRE که به معنی کپسوله کردن مسیریابی عمومی است، برای Tunneling کردن اطلاعات استفاده می کند. ضمنا اطلاعات کپسوله شده PPP قابلیت رمز نگاری و فشرده شدن را نیز دارا هستند، تونل های PPTP باید به وسیله مکانیسم گواهی همان پروتکل PPP که شامل (EAP، CHAP، MS-CHAP، PAP) می شوند، گواهی شوند. در ویندوز 2000 رمزنگاری پروتکل PPP فقط زمانی استفاده می گردد که پروتکل احراز هویت یکی از پروتکل های EAP، TLS و یا MS-CHAP باشد. باید توجه شود که رمز نگاری PPP، محرمانگی اطلاعات را فقط بین دو نقطه نهایی یک تونل تامین می کند و در صورتی که به امنیت بیشتری نیاز باشد، باید از پروتکل Ipsec استفاده شود.

پروتکل L2TP
پروتکل L2TP ترکیبی است از پروتکل های PPTP و (Layer 2 Forwarding) L2F که توسط شرکت سیسکو توسعه یافته است. این پروتکل ترکیبی است از بهترین خصوصیات موجود در L2F و PPTP.
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 و L2TP از پروتکل PPP برای ارتباطات WAN استفاده می کنند تا نوعی اطلاعات ابتدایی برای دیتا را فراهم کنند و سپس یک سرایند اضافه برای انتقال اطلاعات از طریق یک شبکه انتقالی به پکت الحاق بنمایند. هر چند این دو پروتکل در برخی موارد نیز با هم تفاوت دارند. برخی از این تفاوت ها عبارتند از:
1)شبکه انتقال که PPTP احتیاج دارد، باید یک شبکه IP باشد. ولی L2TP فقط به یک تونل احتیاج دارد تا بتواند ارتباط Point-to-Point را برقرار کند. حال این تونل می تواند بر روی یک شبکه IP باشد و یا بر روی شبکه های دیگر مانند Frame Relay، X.25 و یا ATM.
2)L2TP قابلیت فشرده سازی سرایند را داراست. هنگامی که فشرده سازی سرایند انجام می گیرد، L2TP با حجم 4 بایت عمل می کند، در حالی که PPTP با حجم 6 بایت عمل می نماید.
3)L2TP متد احراز هویت را تامین می کند، در حالی که PPTP این گونه عمل نمی کند، هر چند وقتی که PPTP یا L2TP از طریق پروتکل امنیتی Ipsec اجرا می شوند، هر دو، متد احراز هویت را تامین می نمایند.
4)PPTP رمزنگاری مربوط به PPP را استفاده می کند، ولی L2TP از پروتکل Ipsec برای رمزنگاری استفاده می نماید.

پروتکل Ipsec
Ipsec یک پروتکل Tunneling لایه سوم است که از متد ESP برای کپسوله کردن و رمزنگاری اطلاعات IP برای تبادل امن اطلاعات از طریق یک شبکه کاری IP عمومی یا خصوصی پشتیبانی می کند. Ipsec به وسیله متد ESP می تواند اطلاعات IP را به صورت کامل کپسوله کرده و نیز رمزنگاری کند. به محض دریافت اطلاعات رمزگذاری شده، تونل سرور، سرایند اضافه شده به IP را پردازش کرده و سپس کنار می گذارد و بعد از آن رمزهای ESP و پکت را باز می کند. بعد از این مراحل است که پکت IP به صورت عادی پردازش می شود. پردازش عادی ممکن است شامل مسیریابی و ارسال پکت به مقصد نهایی آن باشد.

پروتکل IP-IP
این پروتکل که با نام IP-IN-IP نیز شناخته می شود، یک پروتکل لایه سوم یعنی لایه شبکه است. مهمترین استفاده پروتکل IP-IP برای ایجاد سیستم Tunneling به صورت Multicast است که در شبکه هایی که سیستم مسیریابی Multicast را پشتیبانی نمی کنند کاربرد دارد. ساختار پکت IP-IPتشکیل شده است از: سرایند IPخارجی، سرایند تونل، سرایند IP داخلی و اطلاعات IP. اطلاعات IP می تواند شامل هر چیزی در محدوده IP مانند TCP، UDP، ICMP و اطلاعات اصلی پکت باشد.

مدیریت VPN

در بیشتر موارد مدیریت یک VPN مانند مدیریت یک RAS سرور (به طور خلاصه، سروری که ارتباط ها و Connection های برقرار شده از طریق راه دور را کنترل و مدیریت می کند)، می باشد. البته امنیت VPN باید به دقت توسط ارتباطات اینترنتی مدیریت گردد.

مدیریت کاربران VPN

بیشتر مدیران شبکه برای مدیریت کاربران خود ار یک پایگاه داده مدیریت کننده اکانت ها برروی کامپیوتر DC و یا از سرور RADIUS استفاده می نمایند. این کار به سرور VPN اجازه می دهد تا اعتبارنامه احراز هویت کاربران را به یک سیستم احراز هویت مرکزی ارسال کند.

مدیریت آدرس ها و Name Server ها

سرور VPN باید رشته ای از آدرس های IP فعال را در خود داشته باشد تا بتواند آنها را در طول مرحله پردازش ارتباط از طریق پروتکل کنترل IP به نام IPCP به درگاه های VPN Server یا Client اختصاص دهد.
در VPN هایی که مبتنی بر ویندوز 2000 پیکربندی می شوند، به صورت پیش فرض، IP آدرس هایی که به Client های VPN اختصاص داده می شود، از طریق سرور DHCP گرفته می شوند. البته همان طور که قبلا گفته شد شما می توانید یک رشته IP را به صورت دستی یعنی ایستا به جای استفاده از DHCP اعمال کنید. ضمنا VPN Server باید توسط یک سیستم تامین کننده نام مانند DNS و یا WINS نیز پشتیبانی شود تا بتواند سیستم IPCP را به مورد اجرا بگذارد.

آموزش راه‌اندازی شبکه خصوصی مجازی (VPN)

شبکه خصوصی مجازی یا VPN (Virtual Private Network) در اذهان تصور یک مطلب پیچیده برای استفاده و پیاده کنندگان آن به وجود آورده است . اما این پیچیدگی ، در مطالب بنیادین و مفهومی آن است نه در پیاده‌سازی .
این نکته را باید بدانید که پیاده‌سازی VPN دارای روش خاصی نبوده و هر سخت‌افزار و نرم‌افزاری روش پیاده‌سازی خود را داراست و نمی‌توان روش استانداردی را برای کلیه موارد بیان نمود . اما اصول کار همگی به یک روش است .

مختصری درباره تئوری VPN
مفهوم اصلی VPN چیزی جز برقراری یک کانال ارتباطی خصوصی برای دسترسی کاربران راه دور به منابع شبکه نیست . در این کانال که بین دو نقطه برقرار می‌شود ، ممکن است که مسیرهای مختلفی عبور کند اما کسی قادر به وارد شدن به این شبکه خصوصی شما نخواهد بود . گرچه می‌توان از VPN در هر جایی استفاده نمود اما استفاده آن در خطوط Dialup و Leased کار غیر ضروری است (در ادامه به‌دلیل آن پی خواهید برد).
در یک ارتباط VPN شبکه یا شبکه‌ها می‌توانند به هم متصل شوند و از این طریق کاربران از راه دور به شبکه به راحتی دسترسی پیدا می‌کنند. اگر این روش از ارائه دسترسی کاربران از راه دور را با روش خطوط اختصاصی فیزیکی (Leased) مقایسه کنیم ، می‌بینید که ارائه یک ارتباط خصوصی از روی اینترنت به مراتب از هر روش دیگری ارزان‌تر تمام می‌شود .
از اصول دیگری که در یک شبکه VPN در نظر گرفته شده بحث امنیت انتقال اطلاعات در این کانال مجازی می‌باشد . یک ارتباط VPN می‌تواند بین یک ایستگاه کاری و یک شبکه محلی و یا بین دو شبکه محلی صورت گیرد. در بین هر دو نقطه یک تونل ارتباطی برقرار می‌گردد و اطلاعات انتقال یافته در این کانال به صورت کد شده حرکت می‌کنند ، بنابراین حتی در صورت دسترسی مزاحمان و هکرها به این شبکه خصوصی نمی‌توانند به اطلاعات رد و بدل شده در آن دسترسی پیدا کنند.
جهت برقراری یک ارتباط VPN ، می‌توان به کمک نرم‌افزار یا سخت‌افزار و یا ترکیب هر دو ، آن را پیاده‌سازی نمود . به طور مثال اکثر دیواره‌های آتش تجاری و روترها از VPN پشتیبانی می‌کنند . در زمینه نرم‌افزاری نیز از زمان ارائه ویندوز NT ویرایش 4 به بعد کلیه سیستم عامل‌ها دارای چنین قابلیتی هستند .
در این مقاله پیاده‌سازی VPN بر مبنای ویندوز 2000 گفته خواهد شد .

پیاه‌سازی VPN
برای پیاده‌سازی VPN بر روی ویندوز 2000 کافیست که از منوی Program/AdministrativeTools/ ، گزینه Routing and Remote Access را انتخاب کنید . از این پنجره گزینه VPN را انتخاب کنید . پس از زدن دکمه Next وارد پنجره دیگری می‌‌شوید که در آن کارت‌های شبکه موجود بر روی سیستم لیست می‌شوند .
برای راه‌اندازی یک سرور VPN می‌بایست دو کارت شبکه نصب شده بر روی سیستم داشته باشید .
از یک کارت شبکه برای ارتباط با اینترنت و از کارت دیگر جهت برقراری ارتباط با شبکه محلی استفاده می‌شود. در این‌جا بر روی هر کارت به‌طور ثابت IP قرار داده شده اما می‌توان این IPها را به صورت پویا بر روی کارت‌های شبکه قرار داد .
در پنجره بعد نحوه آدرس‌دهی به سیستم راه دوری که قصد اتصال به سرور ما را دارد پرسیده می‌شود . هر ایستگاه کاری می‌ تواند یک آدرس IP برای کار در شبکه محلی و یک IP برای اتصال VPN داشته باشد . در منوی بعد نحوه بازرسی کاربران پرسیده می‌شود که این بازرسی می‌ تواند از روی کاربران تعریف شده در روی خود ویندوز باشد و یا آنکه از طریق یک سرویس دهنده RADIUS صورت گیرد در صورت داشتن چندین سرور VPN استفاده از RADIUS را به شما پیشنهاد می‌کنیم . با این روش کاربران ، بین تمام سرورهای VPN به اشتراک گذاشته شده و نیازی به تعریف کاربران در تمامی سرورها نمی‌باشد.

پروتکل‌های استفاده شونده
عملیاتی که در بالا انجام گرفت تنها پیکربندی‌های لازم جهت راه‌اندازی یک سرور VPN می‌باشد .
اما (Remote Routing Access Service) RRAS دارای دو پروتکل جهت برقراری تونل ارتباطی VPN می‌باشد. ساده‌ترین پروتکل آن PPTP (Point to Point Tunneling Protocol) است ، این پروتکل برگرفته از PPP است که در سرویس‌های Dialup مورد استفاده واقع می‌شود ،‌ در واقع PPTP همانند PPP عمل می‌کند .
پروتکل PPTP در بسیاری از موارد کافی و مناسب است ،‌ به کمک این پروتکل کاربران می‌توانند به روش‌های PAP (Password Authentication Protocol) و Chap (Challenge Handshake Authentication Protocol) بازرسی شوند. جهت کد کردن اطلاعات می‌توان از روش کد سازی RSA استفاده نمود.
PPTP برای کاربردهای خانگی و دفاتر و افرادی که در امر شبکه حرفه‌ای نیستند مناسب است اما در جایگاه امنیتی دارای پایداری زیادی نیست . پروتکل دیگری به نام L2TP (Layer2 Forwarding) به وسیله شرکت CISCO ارائه شده که به لحاظ امنیتی بسیار قدرتمندتر است.
این پروتکل با استفاده از پروتکل انتقال اطلاعات UDP (User Datagram Protocol) به‌جای استفاده از TCP به مزایای زیادی دست یافته است . این روش باعث بهینه و ملموس‌تر شدن برای دیواره‌های آتش شده است ، اما باز هم این پروتکل در واقع چیزی جز یک کانال ارتباطی نیست . جهت حل این مشکل و هر چه بالاتر رفتن ضریب امنیتی در VPN شرکت مایکروسافت پروتکل دیگری را به نام IPSec (IP Security) مطرح نموده که پیکربندی VPN با آن کمی دچار پیچیدگی می‌گردد.
اما در صورتی که پروتکل PPTP را انتخاب کرده‌اید و با این پروتکل راحت‌تر هستید تنها کاری که باید در روی سرور انجام دهید فعال کردن قابلیت دسترسی Dial in می‌باشد. این کار را می‌توانید با کلیک بر روی Remote Access Polices در RRAS انجام دهید و با تغییر سیاست کاری آن ، آن را راه‌اندازی کنید (به‌ طور کلی پیش‌فرض سیاست کاری ، رد کلیه درخواست‌ها می‌باشد).

دسترسی ایستگاه کاری از طریق VPN
حالا که سرور VPN آماده سرویس‌دهی شده ، برای استفاده از آن باید بر روی ایستگاه کاری نیز پیکربندیهایی را انجام دهیم . سیستم عاملی که ما در این‌جا استفاده می‌کنیم ویندوز XP می‌باشد و روش پیاده‌سازی VPN را بر روی آن خواهیم گفت اما انجام این کار بر روی ویندوز 2000 نیز به همین شکل صورت می‌گیرد . بر روی ویندوزهای 98 نیز می‌توان ارتباط VPN را برقرار نمود ، اما روش کار کمی متفاوت است و برای انجام آن بهتر است به آدرس زیر مراجعه کنید :
www.support.microsot.com
بر روی ویندوزهای XP ، یک نرم‌افزار جهت اتصال به VPN برای هر دو پروتکل PPTP و L2TP وجود دارد. در صورت انتخاب هر کدام ،‌ نحوه پیکربندی با پروتکل دیگر تفاوتی ندارد . راه‌اندازی VPN کار بسیار ساده‌ای است ، کافیست که بر روی Network Connection کلیک نموده و از آن اتصال به شبکه خصوصی از طریق اینترنت (Private Network Through Internet) را انتخاب کنید .
در انجام مرحله بالا از شما یک اسم پرسیده می‌شود . در همین مرحله خواسته می‌شود که برای اتصال به اینترنت یک ارتباط تلفنی (Dialup) تعریف نمایید ، پس از انجام این مرحله نام و یا آدرس سرور VPN پرسیده می‌شود .
مراحل بالا تنها مراحلی است که نیاز برای پیکربندی یک ارتباط VPN بر روی ایستگاه‌های کاری می‌باشد . کلیه عملیات لازمه برای VPN به صورت خودکار انجام می‌گیرد و نیازی به انجام هیچ عملی نیست . برای برقراری ارتباط کافیست که بر روی آیکونی که بر روی میز کاری ایجاد شده دو بار کلیک کنید پس از وارد کردن کد کاربری و کلمه عبور چندین پیام را مشاهده خواهید کرد که نشان‌دهنده روند انجام برقراری ارتباط VPN است .
اگر همه چیز به خوبی پیش رفته باشد می‌توانید به منابع موجود بر روی سرور VPN دسترسی پیدا کنید این دسترسی مانند آن است که بر روی خود سرور قرار گرفته باشید .

ارتباط سایت به سایت (Site-to-Site VPN)
در صورتی که بخواهید دو شبکه را از طریق یک سرور VPN دومی به یکدیگر وصل کنید علاوه بر مراحل بالا باید چند کار اضافه‌تر دیگری را نیز انجام دهید .
جزئیات کار به پروتکلی که مورد استفاده قرار می‌گیرد . جهت این کار باید سرور را در پنجره RRAS انتخاب کرده و منوی خاص (Properties) آن را بیاورید .
در قسمت General مطمئن شوید که گزینه‌های LAN و Demand Dial انتخاب شده باشند (به طور پیش گزیده انتخاب شده هستند). هم‌چنین اطمینان حاصل کنید که پروتکل را که قصد روت (Route) کردن آن را دارید فعال است .
پس از مراحل بالا نیاز به ایجاد یک Demand Dial دارید ، این کار را می‌توانید با یک کلیک راست بر روی واسط روت (Routing Interface) انجام دهید .
در پنجره بعدی که ظاهر می‌شود باید برای این ارتباط VPN خود یک نام تعیین کنید این نام باید همان اسمی باشد که در طرف دیگر کاربران با آن به اینترنت متصل می‌شوند در صورتی که این مطلب را رعایت نکنید ارتباط VPN شما برقرار نخواهد شد .
پس از این مرحله باید آدرس IP و یا نام دامنه آن را مشخص کنید و پس از آن نوع پروتکل ارتباطی را تعیین نمود .
اما مرحله نهایی تعریف یک مسیر (Route) بر روی سرور دیگر می‌باشد بدین منظور بر روی آن سرور در قسمت RRAS ، Demand Dial را انتخاب کنید و آدرس IP و ساب‌نت را در آن وارد کنید و مطمئن شوید که قسمت
Use This to Initate Demand
انتخاب شده باشد . پس از انجام مرحله بالا کار راه‌اندازی این نوع VPN به پایان می‌رسد .

پایان
همان‌طور که دیدید راه‌اندازی یک سرور VPN بر روی ویندوز 2000 تحت پروتکل PPTP کار ساده‌ای بود اما اگر بخواهید از پروتکل L2TP/IPSec استفاده کنید کمی کار پیچیده خواهد شد . به خاطر بسپارید که راه‌اندازی VPN بار زیادی را بر روی پردازنده سرور می‌گذارد و هرچه تعداد ارتباطات VPNبیشتر باشد بار زیادتری بر روی سرور است که می‌توانید از یک وسیله سخت‌افزاری مانند روتر جهت پیاده‌سازی VPN کمک بگیرد.






تاریخ : یکشنبه 90/4/19 | 4:52 عصر | نویسنده : خانم اکبری | نظرات ()
.: Weblog Themes By BlackSkin :.