تبلیغات
همه چیز درباره شبکه - نحوه کار VPN(آموزش VPN)؟

همه چیز درباره شبکه
 
به دوستان خود بگویید www.supnet.blogfa.com
((برای چندمین بار در این وبلاگ سخن از VPN به میان آمده است ولی هدف آموزش و آگاهی شماست))

برقرار كردن امنیت برای یك شبكه درون یك ساختمان كار ساده ای است . اما هنگامی كه بخواهیم از نقاط دور رو ی داده های مشترك كار كنیم ایمنی به مشكل بزرگی تبدیل می شود . در این بخش به اصول و ساختمان یك VPN برای سرویس گیرنده های ویندوز و لینوكس می پردازیم .


اصول VPN
فرستادن حجم زیادی از داده از یك كامپیوتر به كامپیوتر دیگر مثلا” در به هنگام رسانی بانك اطلاعاتی یك مشكل شناخته شده و قدیمی است . انجام این كار از طریق Email به دلیل محدودیت گنجایش سرویس دهنده Mail نشدنی است .
استفاده از FTP هم به سرویس دهنده مربوطه و همچنین ذخیره سازی موقت روی فضای اینترنت نیاز دارد كه اصلا” قابل اطمینان نیست .
یكی از راه حل های اتصال مستقیم به كامپیوتر مقصد به كمك مودم است كه در اینجا هم علاوه بر مودم ، پیكر بندی كامپیوتر به عنوان سرویس دهنده RAS لازم خواهد بود . از این گذشته ، هزینه ارتباط تلفنی راه دور برای مودم هم قابل تامل است . اما اگر دو كامپیوتر در دو جای مختلف به اینترنت متصل باشند می توان از طریق سرویس به اشتراك گذاری فایل در ویندوز بسادگی فایل ها را رد و بدل كرد . در این حالت ، كاربران می توانند به سخت دیسك كامپیوترهای دیگر همچون سخت دیسك كامپیوتر خود دسترسی داشته باشند . به این ترتیب بسیاری از راه های خرابكاری برای نفوذ كنندگان بسته می شود .
شبكه های شخصی مجاری یا VPN ( Virtual private Network ) ها اینگونه مشكلات را حل می كند . VPN به كمك رمز گذاری روی داده ها ، درون یك شبكه كوچك می سازد و تنها كسی كه آدرس های لازم و رمز عبور را در اختیار داشته باشد می تواند به این شبكه وارد شود . مدیران شبكه ای كه بیش از اندازه وسواس داشته و محتاط هستند می توانند VPN را حتی روی شبكه محلی هم پیاده كنند . اگر چه نفوذ كنندگان می توانند به كمك برنامه های Packet sniffer جریان داده ها را دنبال كنند اما بدون داشتن كلید رمز نمی توانند آنها را بخوانند .

-4.1.1 VPN چیست ؟
VPN دو كامپیوتر یا دو شبكه را به كمك یك شبكه دیگر كه به عنوان مسیر انتقال به كار می گیرد به هم متصل می كند . برای نمونه می توان ب دو كامپیوتر یكی در تهران و دیگری در مشهد كه در فضای اینترنت به یك شبكه وصل شده اند اشاره كرد . VPN از نگاه كاربر كاملا” مانند یك شبكه محلی به نظر می رسد . برای پیاده سازی چنین چیزی ، VPN به هر كاربر یك ارتباط IP مجازی می دهد .
داده هایی كه روی این ارتباط آمد و شد دارند را سرویس گیرنده نخست به رمز در آورده و در قالب بسته ها بسته بندی كرده و به سوی سرویس دهنده VPN می فرستد . اگر بستر این انتقال اینترنت باشد بسته ها همان بسته های IP خواهند بود .
سرویس گیرنده VPN بسته ها را پس از دریافت رمز گشایی كرده و پردازش لازم را روی آن انجام می دهد . در آدرس http://www.WOWN.COM\W-baeten\gifani\vpnani.gif شكل بسیار جالبی وجود دارد كه چگونگی این كار را نشان می دهد . روشی كه شرح داده شد را اغلب Tunneling یا تونل زنی می نامند چون داده ها برای رسیدن به كامپیوتر مقصد از چیزی مانند تونل می گذرند . برای پیاده سازی VPN راه های گوناگونی وجود دارد كه پر كاربرد ترین آنها عبارتند از
Point to point Tunneling protocol یا PPTP كه برای انتقال NetBEUI روی یك شبكه بر پایه IP مناسب است .
Layer 2 Tunneling protocol یا L2TP كه برای انتقال IP ، IPX یا NetBEUI روی هر رسانه دلخواه كه توان انتقال Datagram های نقطه به نقطه ( Point to point ) را داشته باشد مناسب است . برای نمونه می توان به IP ، X.25 ، Frame Relay یا ATM اشاره كرد .
IP Security protocol یا Ipsec كه برای انتقال داده های IP روی یك شبكه بر پایه IP مناسب است .

-4.1.2 پروتكل های درون تونل
Tunneling را می توان روی دو لایه از لایه های OSI پیاده كرد . PPTP و L2TP از لایه 2 یعنی پیوند داده استفاده كرده و داده ها را در قالب Frame های پروتكل نقطه به نقطه ( PPP ) بسته بندی می كنند . در این حالت می توان از ویژگی های PPP همچون تعیین اعتبار كاربر ، تخصیص آدرس پویا ( مانند DHCP ) ، فشرده سازی داده ها یا رمز گذاری داده ها بهره برد.
با توجه به اهمیت ایمنی انتقال داده ها درVPN ، دراین میان تعیین اعتبار كاربر نقش بسیار مهمی دارد . برای این كار معمولا” از CHAP استفاده می شود كه مشخصات كاربر را در این حالت رمز گذاری شده جابه جا میكند . Call back هم دسترسی به سطح بعدی ایمنی را ممكن می سازد . در این روش پس از تعیین اعتبار موفقیت آمیز ، ارتباط قطع می شود . سپس سرویس دهنده برای برقرار كردن ارتباط جهت انتقال داده ها شماره گیری می كند . هنگام انتقال داده ها ، Packet های IP ، IP X یا NetBEUI در قالب Frame های PPP بسته بندی شده و فرستاده می شوند . PPTP هم Frame های PPP را پیش از ارسال روی شبكه بر پایه IP به سوی كامپیوتر مقصد ، در قالب Packet های IP بسته بندی می كند . این پروتكل در سال 1996 از سوی شركت هایی چون مایكرو سافت ، Ascend ، 3 com و Robotics US پایه گذاری شد . محدودیت PPTP در كار تنها روی شبكه های IP باعث ظهور ایده ای در سال 1998 شد .L2TP روی X.25 ،Frame Relay یا ATM هم كار می كند . برتری L2TP در برابر PPTP این است كه به طور مستقیم روی رسانه های گوناگون WAN قابل انتقال است .

4.1.3 - VPN-Ipsec فقط برای اینترنت
Ipsec برخلافPPTP و L2TP روی لایه شبكه یعنی لایه سوم كار می كند . این پروتكل داده هایی كه باید فرستاده شود را همراه با همه اطلاعات جانبی مانند گیرنده و پیغام های وضعیت رمز گذاری كرده و به آن یك IP Header معمولی اضافه كرده و به آن سوی تونل می فرستد .
كامپیوتری كه در آن سو قرار دارد IP Header را جدا كرده ، داده ها را رمز گشایی كرده و آن را به كامپیوتر مقصد می فرستد .Ipsec را می توان با دو شیوه Tunneling پیكر بندی كرد . در این شیوه انتخاب اختیاری تونل ، سرویس گیرنده نخست یك ارتباط معمولی با اینترنت برقرار می كند و سپس از این مسیر برای ایجاد اتصال مجازی به كامپیوتر مقصد استفاده می كند . برای این منظور ، باید روی كامپیوتر سرویس گیرنده پروتكل تونل نصب شده باشد . معمولا” كاربر اینترنت است كه به اینترنت وصل می شود . اما كامپیوترهای درون LAN هم می توانند یك ارتباط VPN برقرا كنند . از آنجا كه ارتباط IP از پیش موجود است تنها برقرار كردن ارتباط VPN كافی است . در شیوه تونل اجباری ، سرویس گیرنده نباید تونل را ایجاد كند بلكه این كار ار به عهده فراهم ساز (Service provider ) است . سرویس گیرنده تنها باید به ISP وصل شود . تونل به طور خودكار از فراهم ساز تا ایستگاه مقصد وجود دارد . البته برای این كار باید همانگی های لازم با ISP انجام بگیرد .ٍ

ویژگی های امنیتی در IPsec
Ipsec از طریق Authentication Header ( AH ) مطمئن می شود كه Packet های دریافتی از سوی فرستنده واقعی ( و نه از سوی یك نفوذ كننده كه قصد رخنه دارد ) رسیده و محتویات شان تغییر نكرده . AH اطلاعات مربوط به تعیین اعتبار و یك شماره توالی (Seguence Number ) در خود دارد تا از حملات Replay جلوگیری كند . اما AH رمز گذاری نمی شود . رمز گذاری از طریق Encapsulation Security Header یا ESH انجام می گیرد . در این شیوه داده های اصلی رمز گذاری شده و VPN اطلاعاتی را از طریق ESH ارسال می كند .
ESH همچنین كاركرد هایی برای تعیین اعتبار و خطایابی دارد . به این ترتیب دیگر به AH نیازی نیست . برای رمز گذاری و تعیین اعتبار روش مشخص و ثابتی وجود ندارد اما با این همه ، IETF برای حفظ سازگاری میان محصولات مختلف ، الگوریتم های اجباری برای پیاده سازی Ipsec تدارك دیده . برای نمونه می توان به MD5 ، DES یا Secure Hash Algorithm اشاره كرد . مهمترین استانداردها و روش هایی كه در Ipsec به كار می روند عبارتند از :
• Diffie-Hellman برای مبادله كلید ها میان ایستگاه های دو سر ارتباط .
• رمز گذاری Public Key برای ثبت و اطمینان از كلیدهای مبادله شده و همچنین اطمینان از هویت ایستگاه های سهیم در ارتباط .
• الگوریتم های رمز گذاری مانند DES برای اطمینان از درستی داده های انتقالی .
• الگوریتم های درهم ریزی ( Hash ) برای تعیین اعتبار تك تك Packet ها .
• امضاهای دیجیتال برای تعیین اعتبارهای دیجیتالی .

4.1.5 - Ipsec بدون تونل
Ipsec در مقایسه با دیگر روش ها یك برتری دیگر هم دارد و آن اینست كه می تواند همچون یك پروتكل انتقال معمولی به كار برود .
در این حالت برخلاف حالت Tunneling همه IP packet رمز گذاری و دوباره بسته بندی نمی شود . بجای آن ، تنها داده های اصلی رمزگذاری می شوند و Header همراه با آدرس های فرستنده و گیرنده باقی می ماند . این باعث می شود كه داده های سرباز ( Overhead ) كمتری جابجا شوند و بخشی از پهنای باند آزاد شود . اما روشن است كه در این وضعیت ، خرابكاران می توانند به مبدا و مقصد داده ها پی ببرند . از آنجا كه در مدل OSI داده ها از لایه 3 به بالا رمز گذاری می شوند خرابكاران متوجه نمی شوند كه این داده ها به ارتباط با سرویس دهنده Mail مربوط می شود یا به چیز دیگر .

4.1.6 – جریان یك ارتباط Ipsec
بیش از آن كه دو كامپیوتر بتوانند از طریق Ipsec داده ها را میان خود جابجا كنند باید یكسری كارها انجام شود .
• نخست باید ایمنی برقرار شود . برای این منظور ، كامپیوترها برای یكدیگر مشخص می كنند كه آیا رمز گذاری ، تعیین اعتبار و تشخیص خطا یا هر سه آنها باید انجام بگیرد یا نه .
• سپس الگوریتم را مشخص می كنند ، مثلا” DEC برای رمزگذاری و MD5 برای خطایابی.
• در گام بعدی ، كلیدها را میان خود مبادله می كنند .
Ipsec برای حفظ ایمنی ارتباط از Security Association (SA ) استفاده می كند . SA چگونگی ارتباط میان دو یا چند ایستگاه و سرویس های ایمنی را مشخص می كند . SA ها از سوی SPI ( Security parameter Index ) شناسایی می شوند . SPI از یك عدد تصادفی و آدرس مقصد تشكیل می شود . این به آن معنی است كه همواره میان دو كامپیوتر دو SPI وجود دارد :
یكی برای ارتباط A و B و یكی برای ارتباط B به A . اگر یكی از كامپیوترها بخواهد در حالت محافظت شده داده ها را منتقل كند نخست شیوه رمز گذاری مورد توافق با كامپیوتر دیگر را بررسی كرده و آن شیوه را روی داده ها اعمال می كند . سپس SPI را در Header نوشته و Packet را به سوی مقصد می فرستد .

4.1.7 - مدیریت كلیدهای رمز در Ipsec
اگر چه Ipsec فرض را بر این می گذارد كه توافقی برای ایمنی داده ها وجود دارد اما خودش برای ایجاد این توافق نمی تواند كاری انجام بدهد .
Ipsec در این كار به IKE ( Internet Key Exchange ) تكیه می كند كه كاركردی همچون IKMP ( Key Management Protocol ) دارد. برای ایجاد SA هر دو كامپیوتر باید نخست تعیین اعتبار شوند . در حال حاضر برای این كار از راه های زیر استفاده می شود :
• Pre shared keys : روی هر دو كامپیوتر یك كلید نصب می شود كه IKE از روی آن یك عدد Hash ساخته و آن را به سوی كامپیوتر مقصد می فرستد . اگر هر دو كامپیوتر بتوانند این عدد را بسازند پس هر دو این كلید دارند و به این ترتیب تعیین هویت انجام می گیرد .
• رمز گذاری Public Key : هر كامپیوتر یك عدد تصادفی ساخته و پس از رمز گذاری آن با كلید عمومی كامپیوتر مقابل ، آن را به كامپیوتر مقابل می فرستد .اگر كامپیوتر مقابل بتواند با كلید شخصی خود این عدد را رمز گشایی كرده و باز پس بفرستد برا ی ارتباط مجاز است . در حال حاضر تنها از روش RSA برای این كار پیشنهاد می شود .
• امضاء دیجیتال : در این شیوه ، هر كامپیوتر یك رشته داده را علامت گذاری ( امضاء ) كرده و به كامپیوتر مقصد می فرستد . در حال حاضر برای این كار از روش های RSA و DSS ( Digital Singature Standard ) استفاده می شود . برای امنیت بخشیدن به تبادل داده ها باید هر دو سر ارتبا طنخست بر سر یك یك كلید به توافق می رسند كه برای تبادل داده ها به كار می رود . برا ی این منظور می توان همان كلید به دست آمده از طریق Diffie Hellman را به كاربرد كه سریع تر است یا یك كلید دیگر ساخت كه مطمئن تر است .

ادامه مطلب

طبقه بندی: شبکه و اینترنت، 
نوشته شده در تاریخ دوشنبه 5 اردیبهشت 1390 توسط SuP NeT
تمامی حقوق این وبلاگ محفوظ است | طراحی : supnet  
قالب وبلاگ