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/windows20...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 كمك بگيرد.
منبع : 3 نسل دات کام
علاقه مندی ها (بوک مارک ها)