استفاده از 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 شبكه ديگر، تونلي از جانب كامپيوتر كلاينت ايجاد نمايد.
اين وظيفهاي است كه به يك متمركزكننده دسترسي (AC) به تونل، ارجاع داده شده است. در مرحله تكميل اين وظيفه، متمركزكننده دسترسي يا همان AC بايد پروتكل Tunneling مناسب را ايجاد كرده و قابليت برقراري تونل را در هنگام اتصال كامپيوتر كلاينت داشته باشد. هنگاميكه ارتباط از طريق اينترنت برقرار مي شود، كامپيوتر كلاينت يك تونل تأمين شده (NAS (Network Access Service را از طريق ISP احضار ميكند.
بهعنوان مثال يك سازمان ممكن است قراردادي با يك ISP داشته باشد تا بتواند كل كشور را توسط يك متمركزكننده دسترسي بههم پيوند دهد. اين AC ميتواند تونلهايي را از طريق اينترنت برقرار كند كه به يك تونل سرور متصل باشند و از آن طريق به شبكه خصوصي مستقر در سازمان مذكور دسترسي پيدا كنند.
اين پيكربندي بهعنوان تونل اجباري شناخته ميشود، بهدليل اينكه كلاينت مجبور به استفاده از تونل ساخته شده بهوسيله AC شده است. يكبار كه اين تونل ساخته شد، تمام ترافيك شبكه از سمت كلاينت و نيز از جانب سرور بهصورت خودكار از طريق تونل مذكور ارسال خواهد شد.
بهوسيله اين تونل اجباري، كامپيوتر كلاينت يك ارتباط PPP ميسازد و هنگاميكه كلاينت به NAS، از طريق شمارهگيري متصل ميشود، تونل ساخته ميشود و تمام ترافيك بهطور خودكار از طريق تونل، مسيريابي و ارسال ميگردد. تونل اجباري مي تواند بهطور ايستا و يا خودكار و پويا پيكربندي شود.
تونلهاي اجباري ايستا
پيكربندي تونلهاي Static معمولاً به تجهيزات خاص براي تونلهاي خودكار نياز دارند. سيستم Tunneling خودكار بهگونهاي اعمال ميشود كه كلاينتها به AC از طريق شمارهگيري (Dialup) متصل ميشوند. اين مسأله احتياج به خطوط دسترسي محلي اختصاصي و نيز تجهيزات دسترسي شبكه دارد كه به اينها هزينههاي جانبي نيز اضافه ميگردد.
براي مثال كاربران احتياج دارند كه با يك شماره تلفن خاص تماس بگيرند، تا به يك AC متصل شوند كه تمام ارتباطات را بهطور خودكار به يك تونل سرور خاص متصل ميكند. در طرحهاي Tunneling ناحيهاي، متمركزكننده دسترسي بخشي از User Name را كه Realm خوانده ميشود بازرسي ميكند تا تصميم بگيرد در چه موقعيتي از لحاظ ترافيك شبكه، تونل را تشكيل دهد.
تونلهاي اجباري پويا
در اين سيستم انتخاب مقصد تونل براساس زماني كه كاربر به AC متصل مي شود، ساخته ميشود. كاربران داراي Realm يكسان، ممكن است تونلهايي با مقصدهاي مختلف تشكيل بدهند. البته اين امر به پارامترهاي مختلف آنها مانند UserName، شماره تماس، محل فيزيكي و زمان بستگي دارد.
تونلهاي Dynamic، داراي قابليت انعطاف عالي هستند. همچنين تونلهاي پويا اجازه ميدهند كه AC بهعنوان يك سيستم Multi-NAS عمل كند، يعني اينكه همزمان هم ارتباطات Tunneling را قبول مي كند و هم ارتباطات كلاينتهاي عادي و بدون تونل را. در صورتي كه متمركزكننده دسترسي بخواهد نوع كلاينت تماسگيرنده را مبني بر داراي تونل بودن يا نبودن از قبل تشخيص بدهد، بايد از همكاري يك بانك اطلاعاتي سود ببرد.
براي اينكار بايد AC اطلاعات كاربران را در بانك اطلاعاتي خود ذخيره كند كه بزرگترين عيب اين مسأله اين است كه اين بانك اطلاعاتي به خوبي قابل مديريت نيست.
بهترين راهحل اين موضوع، راهاندازي يك سرور RADIUS است، سروري كه اجازه ميدهد كه تعداد نامحدودي سرور، عمل شناسايي Userهاي خود را بر روي يك سرور خاص يعني همين سرور RADIUS انجام دهند، بهعبارت بهتر اين سرور مركزي براي ذخيره و شناسايي و احراز هويت نمودن كليه كاربران شبكه خواهد بود.
پروتكلهاي VPN
عمدهترين پروتكلهايي كه بهوسيله ويندوز 2000 براي دسترسي به VPN استفاده مي شوند
عبارتند از: L2TP ،Ipsec ،PPTP ،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 كپسوله شده توسط (GRE (Generic Routing Encapsulation كه به معني كپسوله كردن مسيريابي عمومي است،
براي Tunneling كردن اطلاعات استفاده ميكند. ضمناً اطلاعات كپسولهشده PPP قابليت رمزنگاري و فشرده شدن را نيز دارا هستند.
تونلهاي PPTP بايد بهوسيله مكانيسم گواهي همان پروتكل PPP كه شامل (EAP ،CHAP ،MS-CHAP ،PAP)ميشوند، گواهي شوند. در ويندوز 2000 رمزنگاري پروتكل PPP فقط زماني استفاده ميگردد كه پروتكل احراز هويت يكي از پروتكلهاي EAP ،TLS و يا MS-CHAP باشد.
بايد توجه شود كه رمزنگاري PPP، محرمانگي اطلاعات را فقط بين دو نقطه نهايي يك تونل تأمين ميكند و در صورتيكه به امنيت بيشتري نياز باشد، بايد از پروتكل Ipsec استفاده شود.
پروتكل L2TP
پروتكل L2TP تركيبي است از پروتكلهاي PPTP و (L2F (Layer 2 Forwarding كه توسط شركت سيسكو توسعه يافته است. اين پروتكل تركيبي است از بهترين خصوصيات موجود در L2F و PPTP.
L2TP نوعي پروتكل شبكه است كه فريمهاي PPP را براي ارسال بر روي شبكههاي IP مانند اينترنت و علاوه بر اين براي شبكههاي مبتني بر X.25 ،Frame Relay و يا ATM كپسوله ميكند.
هنگاميكه اينترنت بهعنوان زيرساخت تبادل اطلاعات استفاده ميگردد، L2TP ميتواند بهعنوان پروتكل
Tunneling از طريق اينترنت مورد استفاده قرار گيرد.
L2TP براي نگهداري تونل از يك سري پيغامهاي L2TP و نيز از پروتكل UDP (پروتكل تبادل اطلاعات بهصورتConnection Less كه پس از ارسال اطلاعات منتظر دريافت Acknowledgment نميشود و اطلاعات را، به مقصد رسيده فرض ميكند) استفاده ميكند.
در L2TP نيز فريمهاي PPP كپسوله شده ميتوانند همزمان علاوه بر رمزنگاري شدن، فشرده نيز شوند. البته مايكروسافت پروتكل امنيتي Ipsec (كه بهطور مفصل در شماره 47 ماهنامه شبكه تحت عنوان “امنيت اطلاعات در حين انتقال بهوسيله IPsec ” معرفي شده) را بهجاي رمزنگاري PPP توصيه مي كند. ساخت تونل L2TP نيز بايد همانند PPTP توسط مكانيسم (PPP EAP ،CHAP ،MS-CHAP ،PAP) بررسي و تأييد شود.
PPTP در مقابلL2TP
هر دو پروتكل PPTP و L2TP از پروتكل PPP براي ارتباطات WAN استفاده مي كنند تا نوعي اطلاعات ابتدايي براي ديتا را فراهم كنند و سپس يك سرايند اضافه براي انتقال اطلاعات از طريق يك شبكه انتقالي به پكت الحاق بنمايند. هرچند اين دو پروتكل در برخي موارد نيز با هم تفاوت دارند. برخي از اين تفاوتها عبارتند از:
1- شبكه انتقال كه PPTP احتياج دارد، بايد يك شبكه IP باشد. ولي L2TP فقط به يك تونل احتياج دارد تا بتواند ارتباط Point-to-Point را برقرار كند. حال اين تونل مي تواند بر روي يك شبكه IP باشد و يا بر روي شبكههاي ديگر مانند X.25 و يا ATM ،Frame Relay.
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 را به مورد اجرا بگذارد.
خعلی عالی و متشکر