close
تبلیغات در اینترنت
VPN - Virtual private network چيست ؟ (بخش اول تا سوم)

VPN - Virtual private network چيست ؟ (بخش اول تا سوم)

مجله اینترنتی آفتاب

 

ارتباط آن لاين

 

آمار کاربران


عضو شويد

نام کاربری :
رمز عبور :

فراموشي رمز عبور؟

 

عضويت در سايت

نام کاربری :
رمز عبور :
تکرار رمز :
ایمیل :
نام اصلی :
کد امنیتی : * کد امنیتیبارگزاری مجدد

 

عضويت در خبرنامه


 

تبليغات

 

آخرين ارسال هاي انجمن

 

VPN - Virtual private network چيست ؟ (بخش اول تا سوم)

بازديد:967



 



VPN چيست؟ (بخش اول تا سوم در ادامه مطلب)


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 را به كاربرد كه سريع تر است يا يك كليد ديگر ساخت كه مطمئن تر است . 

4.1.8 – خلاصه 
تبادل داده ها روي اينرنت چندان ايمن نيست . تقريبا” هر كسي كه در جاي مناسب قرار داشته باشد مي تواند جريان داده ها را زير نظر گرفته و از آنها سوء استفاده كند . شبكه هاي شخصي مجازي يا VPN ها كار نفوذ را برا ي خرابكاران خيلي سخت مي كند .



VPN چيست؟ (بخش دوم)

VPN با ويندوز 
استفاده از اينترنت به عنوان بستر انتقال داده ها هر روزگسترش بيشتري پيدا مي كند . باعث مي شود تا مراجعه به سرويس دهندگان وب و سرويس هاي Email هر روز بيشتر شود . با كمي كار مي توان حتي دو كامپيوتر را كه در دو قاره مختلف قرار دارند به هم مرتبط كرد . پس از برقراري اين ارتباط ،‌هر كامپيوتر،كامپيوتر ديگر را طوري مي بيند كه گويا در شبكه محلي خودش قرار دارد. از اين رهگذر ديگر نيازي به ارسال داده ها از طريق سرويس هايي مانند Email نخواهند بود. تنها اشكال اين كار اين است كه در صورت عدم استفاده از كاركردهاي امنيتي مناسب،‌كامپيوترها كاملا در اختيار خرابكارن قرار مي گيرند. VPN ها مجموعه اي از سرويس هاي امنيتي ردر برابراين عمليات رافراهم مي كنند. در بخش قبلي با چگونگي كار VPN ها آشنا شديد و در اينجا به شما نشان مي دهيم كه چگونه مي توان در ويندوز يك VPN شخصي راه انداخت. براي اين كار به نرم افزار خاصي نياز نيست چون مايكروسافت همه چيزهاي لازم را در سيستم عامل گنجانده يا در پايگاه اينترنتي خود به رايگان در اختيار همه گذاشته. 

پيش نيازها 
براي اينكه دو كامپيوتر بر پايه ويندوز بتواند از طريق VPN به هم مرتبط شوند دست كم يكي از آنها بايد به ويندوز NT يا 2000 كار كند تا نقش سرويس دهنده VPN را به عهده بگيرد. ويندوز هاي 9x يا Me تنها مي توانند سرويس گيرنده VPN باشند. سرويس دهنده VPN بايد يك IP ثابت داشته باشد. روشن است كه هر دو كامپيوتر بايد به اينترنت متصل باشند. فرقي نمي كند كه اين اتصال از طريق خط تلفن و مودم باشد يا شبكه محلي. IP در سرويس دهنده VPN بايد مجاز (Valid) باشد تا سرويس گيرنده بتواند يك مستقيما آن را ببيند. در شبكه هاي محلي كه اغلب از IP هاي شخصي (192.168.x.x) استفاده مي شود VPN را بايد روي شبكه ايجاد كرد تا ايمني ارتباط بين ميان كامپيوترها تامين شود. اگر سرويس گيرنده VPN با ويندوز 95 كار مي كند نخست بايد Dial up Networking Upgrade 1.3 را از سايت مايكروسافت برداشت كرده و نصب كنيد. اين مجموعه برنامه راه اندازهاي لازم براي VPN را در خود دارد . البته مايكروسافت پس از Upgrade 1.3 Networking Dial up نگارش هاي تازه تري نيز عرضه كرده كه بنا بر گفته خودش ايمني و سرعت ارتباط VPN را بهبود بخشيده است . 

نصب سرويس دهنده VPN 
روي كامپيوتر بر پايه ويندوز NT نخست بايد در بخش تنظيمات شبكه، راه انداز Point to Point Tunneling را نصب كنيد. هنگام اين كار، شمار ارتباط هاي همزمان VPN پرسيده مي شود. در سرويس دهنده هاي NT اين عدد مي تواند حداكثر 256 باشد. در ايستگاه كاري NT،‌ اين عدد بايد 1 باشد چون اين سيستم عامل تنها اجازه يك ارتباط RAS را مي دهد. از آنجا كه ارتباط VPN در قالب Remote Access برقرار مي شود ويندوز NT به طور خودكار پنجره پيكر بندي RAS را باز مي كند. اگر RAS هنوز نصب نشده باشد ويندوز NT آن را نصب مي كند. هنگام پيكربندي بايد VPN Adapter را به پورت هاي شماره گيري اضافه كنيد. اگر مي خواهيد كه چند ارتباط VPN داشته باشيد بايد اين كار را براي هر يك از VPN Adapter ها انجام دهيد . 

پيكربندي سرويس دهنده RAS 
اكنون بايد VPN Adapterرا به گونه اي پيكربندي كنيد كه ارتباطات به سمت درون (incoming) اجازه بدهد. نخست بايد پروتكل هاي مجاز براي اين ارتباط را مشخص كنيد . همچنين بايد شيوه رمز گذاري را تعيين كرده و بگوييد كه آياسرويس دهنده تنها اجازه دسترسي به كامپيوترهاي موجود در شبكه كامپيوتر ويندوز NT، در اين وضيعت، سرويس دهنده VPN مي تواند كار مسير يابي را هم انجام دهد. براي بالاتر بردن ايمني ارتباط، مي توانيد NetBEUI را فعال كرده و از طريق آن به كامپيوترهاي دور اجازدسترسي به شبكه خود را بدهيد. سرويس گيرنده، شبكه و سرويس هاي اينترنتي مربوط به سرويس دهنده VPN را نمي بينيد . براي راه انداختن TCP/IP همراه با VPN چند تنظيم ديگر لازم است. اگر سرويس دهنده DHCP نداريد بايد به طور دستي يك فضاي آدرس(Adress Pool ) IP را مشخص كنيد. به خاطر داشته باشيد كه تنها بايد از IP هاي شخصي (Private) استفاده كنيد. 
اين فضاي آدرس بايد دست كم 2 آدرس داشته باشد ،‌يكي براي سرويس دهنده VPN و ديگري براي سرويس گيرنده VPN . هر كار بر بايد براي دسترسي به سرويس دهنده از طريق VPN مجوز داشته باشد. براي اين منظور بايد در User Manager در بخش Dialing اجازه دسترسي از دور را بدهيد . به عنوان آخرين كار،Remote Access Server را اجرا كنيد تا ارتباط VPN بتواند ايجاد شود. 
سرويس گيرنده VPN روي ويندوز NT 
نصب سرويس گيرنده VPN روي ويندوز NT شبيه راه اندازي سرويس دهنده VPN است بنابراين نخست بايد 4 مرحله گفته شده براي راه اندازي سرويس دهنده VPN را انجام بدهيد،‌ يعني: 
. نصب PPTP 
. تعيين شمار ارتباط ها 
. اضافه كردن VPN به عنوان دستگاه شماره گيري 
. پيكر بندي VPN Adapter در RAS، تنها تفاوت در پيكر بندي VPN Adapter آن است كه بايد به جاي ارتباط هاي به سمت درون به ارتباط هاي به سمت بيرون (out going) اجاز ه بدهيد . 
. سپس تنظيمات را ذخيره كرده و كامپيوتر را بوت كنيد. در گام بعدي، در بخش Networking يك ارتباط(Connection) تلفني بسازيد . به عنوان دستگاه شماره گير يا همان مودم بايد VPN Adapter را انتخاب كرده و بجاي شماره تلفن تماس، IP مربوط به سرويس دهنده VPN را وارد كنيد. در اينجا پيكر بندي سرويس گيرنده VPN روي ويندوز NT به پايان مي رسد و شبكه هاي شخصي مجازي ساخته مي شود. 

سرويس گيرنده VPN روي ويندوز 2000 
راه اندازي سرويس گيرنده VPN ساده تر و كم زحمت تر از سرويس دهنده آن است. در ويندوز 2000 به بخش مربوط به تنظيمات شبكه رفته يك Connection تازه بسازيد. 

گام نخست : Assistant در ويندوز 2000 پيكر بندي VPN را بسيار ساده كرده. 
به طور معمول بايد آدرس IP مربوط به سرويس دهنده VPN ر اداشته باشد. در اينجا بايد همان IP معمولي را وارد كنيد و نه IP مربوط به شبكه VPNرا، با اين كار ، VPN پيكر بندي شده و ارتباط بر قرار مي شود. 
براي تعيين صلاحيت، بايد نام كاربري و رمز عبور را وارد كنيد كه اجازه دسترسي از طريق Remote Access را داشته باشيد. ويندوز 2000 بي درنگ ارتباط برقرار كرده و شبكه مجازي كامل مي شود. 

گام دوم: كافي است آدرس IP مربوط به سرويس دهنده VPN را وارد كنيد. 

گام سوم: در پايان فقط كافي است خود را معرفي كنيد. 

سرويس گيرنده VPN روي ويندوز 9x 
نصب سرويس گيرنده VPN روي ويندوز هاي 95، 98 و SE 98 مانند هم است . نخست بايد پشتيباني از VPN فعال شود. در اينجا بر خلاف ويندوز NT به جاي اضافه كردن پروتكل بايد يك كارت شبكه نصب كنيد. ويندوز x 9 همه عناصر لازم را نصب مي كند. به اين ترتيب كار نصب راه اندازاها را هم كامل مي گردد. در قدم بعدي بايد Dialup adapter يك Connection بسازيد. به عنوان دستگاه شمار گير بايد VPN adapter را معرفي كنيد. 

گام نخست: نصب VPN adapter 

گام دوم: يك Connection تازه روي VPN dapter 
در ويندوز x9، سيستم عامل IP مربوط به سرويس 90 دهنده VPN را در خواست مي كند. 

گام سوم: آدرس IP مربوط به سرويس دهنده VPN را وارد كنيد. پيكر بندي سرويس گيرنده VPN در اينجا پايان يافته و ارتباط مي تواند برقرار شود. تنها كافي است كه نام كاربري و رمز عبور را وارد كنيد. اكنون ويندوز به اينترنت وصل شده و تونل را مي سازد و داده هاي خصوصي مي تواند حركت خود را آغاز كنند. 

برنامه هاي كمكي 
اگر بخواهيد براي نمونه از دفتر كار( سرويس گيرنده VPN) به كامپيوتر خود در خانه ( سرويس گيرنده VPN) وصل بشويد با دو مشكل روبرو خواهيد شد. نخست اينكه كامپيوتري كه در خانه داريد پيوسته به اينترنت متصل نيست و ديگري اينكه سرويس گيرنده VPN به يك آدرس IP نياز دارد. اين IP را هنگامي كه از يك شركت فراهم ساز (ISP) سرويس مي گيريد از پيش نمي دانيد چون به صورت پويا(dynamic) به شما تخصيص داده مي شود. Online Jack برنامه اي است كه براي هر دو مشكل راه حل دارد. 
Online Jack يك برنامه كوچك است كه بايد روي كامپيوتر خانه نصب شود. از دفتر كار خود مي توانيد از طريق سايت Online Jack و با نام كاربري و رمز عبور به كامپيوتر خود در خانه متصل شويد. با اين كار، IP كه شركت فراهم ساز به شما تخصيص داده مشخص مي شود كه از روي آن، سرويس گيرنده VPN پيكر بندي شده و كار خود را آغاز مي كند. از اين دست برنامه هاي كمكي موارد زيادي وجود دارد كه با جستجو در اينترنت مي توانيد آنها را بيابيد. 

خلاصه 
دامنه كاربردي VPN گسترده و گوناگون است. VPN را مي توان براي متصل كردن كاربران بيروني به شبكه محلي،‌ارتباط دو كامپيوتر يا دو شبكه در دو شهر مختلف يا دسترسي از دفتر كار به كامپيوتر منزل بكار برد. 
VPN نه تنها داده ها را با ايمني بيشتر منتقل مي كند بلكه وقتي از آن براي مرتبط كردن دو كامپيوتر دور از هم استفاده مي كنيم هزينه ها بسيار كاهش مي يابد. آخرين نكته اينكه راه اندازي VPN ساده و رايگان است.







برچسب هاي مطلب: VPN - Virtual private network چيست ؟, سایت کامپیوتر و الکترونیک, تنظيم ipsec.conf, پيكر بندي سرويس گيرنده, VPN با لينوكس (2), گواهينامه Gateway, RootCA, IPsec يا FreeS/WAN, Internet Key Exchang, Security Association, Encapsulated Security Payload, Transport در مقايسه با Tunnel, IPsec و Free S/WAN, ويژگي هاي امنيتي در IPsec, Ipsec بدون تونل,
نوشته شده توسط:حامد ممتاز

 

مطالب مرتبط

 

آخرين مطالب سايت

 

لوگوی دوستان

متفاوت ترین وب سایت سرگرمی

 

بازدیدکنندگان

 

تبادل لينک

 

سايت دوستان



تمامي حقوق ، امتيازات و مطالب براي www.sunbook.ir محفوظ بوده و هر گونه کپي برداري با ذکر منبع مجاز خواهد بود.

Copyright © 2008-2012 by sunbook - All Rights Reserved - Theme design by hamed momtaz
بهترين حالت نمايش و هماهنگي با مرورگرهاي Firefox و Opera و Google Chrome مي باشد


VPN چيست؟ (بخش سوم)

VPN با لينوكس (1) 
يكي از توانايي هاي VPN امكان كاربران دور از شبكه(Remote) در دسترسي به آ ن است . IPsec در اين ميان نقش مهمي در فراهم كردن ايمني لازم براي داده ها دارد . يكي از مناسب ترين و به صرفه ترين وسيله ها در پياده سازي اين امكانات لينوكس و Free S/WAN كه در اين بخش به آن مي پردازيم . 

IPsec و Free S/WAN 
اگر چه لينوكس هم به دليل توانايي هاي خوبFirewall بستر بسيار مناسبي براي يك دروازه امنيتي(Security Gateway) برپايه IPsec است مال خودش به طور پيش فرض بخش هاي لازم براي IPsec را به همراه ندارد. اين برنامه ها را مي توانيد در مجموعه Free S/WAN بيابيد. Free S/WAN (www.fresswan.org) در اصل مجمعي متشكل از برنامه نويسان زبده و تامين كنندگان مالي است كه برنامه هاي ويژه لينوكس را فراهم مي كنند. برنامه Free S/WAN از دو بخش اصلي تشكيل شده يكي KLIPS(Kernel IPsec ) است كه پروتكل هاي لازم را به Kernel اضافه مي كند و ديگري Daemon كه وظيفهبرقراري ارتباط و رمز گذاري را بر عهده دارد. 
در اين بخش مي بينيد كه IPsec چگونه كار مي كند و چگونه بايد آن را به كمك Free S/WAN در لينوكس براي VPN پيكر بندي كرد. در ادامه خواهيم گفت كه با X.509 چطور زير ساخت هاي لازم براي يك شركت پياده سازي مي شود. 

نگاهي به IPsec 
IPsec در اصل مجموعه اي از پروتكل ها و روش هايي است كه به كمك آنها مي توان روي اينترنت يك ارتباط مطمئن و ايمن ايجاد كرد. 
جزييات IPsec يا Internet Protocol Security در RFC هاي شماره 2401 تا 2410 آمده. IPsec براي اطمينان بخشيدن به ارتباط هاي اينترنتي از شيوه هاي تعيين اعتبار و رمز گذاري داده ها استفاده مي كند. براي اين منظور در لايه شبكه دو حالت انتقال و دو لايه ايمني فراهم مي كند. 

Transport در مقايسه با Tunnel 
در حالت Transport دو ميزبان به طور مستقيم روي اينترنت با هم گفتگو مي كنند. در اين حالت مي توان IPsec را براي تعيين اعتبار و همچنين يكپارچگي و درستي داده ها به كار برد. به كمك IPsec نه تنها مي توان از هويت طرف گفتگو مطمئن شدبلكه مي توان نسبت به درستي و دست نخوردگي داده هاهم اطمينان حاصل كرد . به كمك عملكرد رمز گذاري مي توان افزون بر آن خوانده شدن داده ها از سوي افراد غير مجاز جلوگيري كرد. 
اما از آنجا كه در اين شيوه،‌ دو كامپيوتر به طور مستقيم داده ها را مبادله ميكنند نمي توان مبدا و مقصد داده ها را پنهان كرد. از حالت Tunnel هنگامي كه استفاده مي شود كه دست كم يكي از كامپيوترها به عنوان Security Gateway به كار برود. در اين وضعيت حداقل يكي از كامپيوترهايي كه در گفتگو شركت مي كند در پشت Gateway قراردارد و در نتيجه ناشناس مي ماند. حتي اگر دو شبكه از از طريق Security Gateway هاي خود با هم داده مبادله كنند نمي توان از بيرون فهميد كه دقيقا كدام كامپيوتر به تبادل داده مشغول است. در حالت Tunnel هم مي توان از كاركردهاي تعيين اعتبار ،كنترل درستي داده ها و رمز گذاري بهره برد. 

Authentication Header 
وظيفه Authentication Header IP آن است كه داده هاي در حال انتقال بدون اجازه از سوي شخص سوم مورد دسترسي و تغيير قرار نگيرد . براي اين منظور از روي Header مربوط به IP و داده هاي اصلي يك عددHash به دست آمده و به همراه فيلدهاي كنترلي ديگر به انتهاي Header اضافه مي شود. گيرنده با آزمايش اين عدد مي تواند به دستكاري هاي احتمالي در Header يا داده هاي اصلي پي ببرد. Authentication Header هم در حالت Transport و هم در حالت Tunnel كاربرد دارد. 
AH در حالت Transport ميان Header مربوط به IP و داده هاي اصلي مي نشيند . در مقابل، در حالت Tunneling ، Gateway كل Paket را همراه با Header مربوط به داده ها در يك IP Packet بسته بندي مي كند. در اين حالت، AH ميان Header جديد و Packet اصلي قرار مي گيرد. AH در هر دو حالت، اعتبار و سلامت داده ها را نشان مي دهد اما دليلي بر قابل اطمينان بودن آنها نيست چون عملكرد رمز گذاري ندارد. 

Encapsulated Security Payload 
Encapsulated Security Payload IP براي اطمينان از ايمني داده ها به كار مي رود . اين پروتكل داده ها در قالب يك Header و يك Trailer رمز گذاري مي كند. به طوري اختياري مي توان به انتهاي Packet يك فيلدESP Auth اضافه كرد كه مانند AH اطلاعات لازم براي اطمينان از درستي داده ها رمز گذاري شده را در خود دارد. در حالت Transport، Header مربوط به ESP و Trailer تنها داده هاي اصلي IP از پوشش مي دهند و Header مربوط به Packet بدون محافظ باقي مي ماند. 
اما در حالت Tunneling همه Packet ارسالي از سوي فرستنده،‌ داده اصلي به شمار مي رود و Security Gateway آن را در قالب يك Packet مربوط به IP به همراه آدرس هاي فرستنده و گيرنده رمز گذاري مي كند. در نتيجه،ESP نه تنها اطمينان از داده ها بلكه اطمينان از ارتباط را هم تامين مي كند . در هر دوحالت،‌ESP در تركيب با AH ما را از درستي بهترين داده هاي Header مربوط به IP مطمئن مي كند. 

Security Association 
براي اينكه بتوانESP/AH را به كار برد بايد الگوريتم هاي مربوط به درهم ريزي(Hashing)، تعيين اعتبار و رمز گذاري روي كامپيوترهاي طرف گفتگو يكسان باشد. همچنين دو طرف گفتگو بايد كليدهاي لازم و طول مدت اعتبار آنها را بدانند. هر دو سر ارتباط IPsec هر بار هنگام برقرار كردن ارتباط به اين پارامترهاي نياز دارند. SA يا Security Association به عنوان يك شبه استاندارد در اين بخش پذيرفته شده. براي بالا بردن امنيت، از طريق SA مي توان كليدها را تا زماني كه ارتباط برقرار است عوض كرد. اين كار را مي توان در فاصله هاي زماني مشخص يا پس از انتقال حجم مشخصي از داده ها انجام داد. 

Internet Key Exchang 
پروتكل Internet Key Exchang يا IKE( RFC 2409 ) روند كار روي IPsec SA را تعريف مي كند. اين روش را Internet Security Association and Key Management Protocol يا ISAKMP نيز مي نامند. اين پروتكل مشكل ايجاد ارتباط ميان دو كامپيوتر را كه هيچ چيز از هم نمي دانند و هيچ كليدي ندارند حل مي كند. در نخستين مرحله IKE(IKE Phase 1) كه به آن حالت اصلي(Main Mode) هم گفته مي شود دو طرف گفتگو نخست بر سر پيكر بندي ممكن براي SA و الگوريتم هاي لازم براي درهم ريزي (Hashing)، تعيين اعتبار و رمزگذاري به توافق مي رسند. 
آغاز كننده(Initiator) ارتباط به طرف مقابل(يا همان Responder) چند گزينه را پيشنهاد مي كند. Responder هم مناسب ترين گزينه را انتخاب كرده و سپس هر دو طرف گفتگو، از طريق الگوريتم Diffie-Hellman يك كليد رمز(Secret Key) مي سازند كه پايه همه رمز گذاري هاي بعدي است. به اين ترتيب صلاحيت طرف مقابل براي برقراري ارتباط تاييد مي شود. 
اكنون مرحله دوم IKE(2 ( IKE Phase آغاز مي گردد كه حالت سريع (Ouick Mode) هم ناميده مي شود. اين مرحله SA مربوط به IPsec را از روي پارامترهاي مورد توافق برا ي ESP و AH مي سازد. 

گواهينامه x.506 
همانطور كه پيش از اين گفتيم بهترين راه براي تبادل Public Key ها x.509 Certificate(RFC شماره 2495( است. يك چنين گواهينامه اي يك Public Key براي دارنده خود ايجاد مي كند. اين گواهينامه، داده هايي مربوط به الگوريتم به كار رفته براي امضاء ايجاد كننده، دارنده و مدت اعتبار در خود دارد كه در اين ميان، Public Keyمربوط به دارنده از بقيه مهمتر است. CA هم گواهينامه را با يك عدد ساخته شده از روي داده ها كه با Public Key خودش تركيب شده امضاء مي كند. 
براي بررسي اعتبار يك گواهينامه موجود، گيرنده بايد اين امضاء را با Public Key مربوط به CA رمز گشايي كرده و سپس با عدد نخست مقايسه كند . نقطه ضعف اين روش در طول مدت اعتبار گواهينامه و امكان دستكاري و افزايش آن است. اما استفاده از اين گواهينامه ها در ارتباطهاي VPN مشكل چنداني به همراه ندارد چون مدير شبكه Security Gateway و همه ارتباط ها را زير نظر دارد. 

IPsec يا FreeS/WAN 
همانطور كه گفتيم FreeS/WAN مجموعه كاملي براي راه اندازي IPsec روي لينكوس است . البته بيشتر نگارش هاي لينوكس برنامه هاي لازم براي اين كار را با خود دارند. اما بر اساس تجربه بهتر است FreeS/WANرا به كار ببريد. 
در اينجا ما از RedHatLinux نگارش 2/7 با هسته 2.4.18 وFreeS/WAN197 (ftp://ftp.xs4all.nl/pub/cryypto/freesean/ ) استفاده كرده ايم. درصورت لزوم مي توان FreeS/WAN را با هسته هسته هاي خانواده 2.2 هم به كار برد. البته در اين حالت دست كم به نگارش 2.2.19 لينوكس نياز داريد. اين را هم بايد در نظر داشته باشيد كه راه انداختن VPN Gateway همراه با ديواره آتش سودمنداست و هسته نگارش 2.4 امكانات خوبي براي راه انداختن ديواره آتش دارد. 

نصب 
براي نصب بايد هسته را در/usr/ser/linux و Free S/WAN را در /usr/scr/freeswan-versionnumber باز كنيد. سپس با فرمان هاي make menuconfig و make xconfig پيكربندي هسته را انجام بدهيد. گزينه هاي لازم براي تنظيمات اضافي را در Networking Options\\IPsec Options مي يابيد كه معمولا نيازي به تغيير دادن تنظيمات پيش فرض آن نيست . براي راه انداختن x.509 patch بايد بسته مربوطه را باز كرده و فايل freewan.diff را در فهرست Free S/WAN كپي كنيد. پس از آن، فرمان patch-p1 < freewan.diff همه چيز را برايتان تنظيم مي كند. در پايان بايد هسته را كه اكنون تغيير كرده كامپايل كنيد. اين مار را با صادر كردن فرمان make kinstall وقتي در فهرست Free S/WAN هستيد انجام بدهيد. 
پس از اضافه كردن هسته تازه به مدير بوت و راه اندازي كامپيوتر مي توانيد نتيجه كارهايي كه انجام داديد را ببينيد. فرمان dmesg پيام هاي آغاز به كار KLIPS را نشان مي دهد. لازم است كه روي Runlevel ها هم كارهايي انجام بدهيد. از آنجا كه Free S/WAN بع رابط هاي eth0 و eth1، ipsec0 را اضافه مي كند، سيستم نخست Networking سپس Free S/WAN و در پايان iptables را اجرا مي كند. 

پيكر بندي 
ما قصد داريم كه Security Gateway خود را به گونه اي پيكربندي كنيم كه يك Firewall هم باشد. اين ديواره آتش بايد به هر كامپيوتر از فضاي اينترنت با هر IP دلخواه اجازه ارتباط با شبكه داخلي(172.16.0.0/16) را بدهد . اين كامپيوتر براي اين كار دو رابط Ethernet(eth0 براي شبكه داخلي (172.16.0.0/16) و eth1 براي محيط بيروني)‌دارد . بايد ميان اين دو رابط عملكرد IP-Forwarding فعال باشد. نخست بايد ديواره آتش را در اين Security Gateway طوري تنظيم كنيم كه Packet هاي AH و ESP را بپذيرد. به همين دليل روي رابط بيروني(همان eth1) Packet هاي UDP را روي پورت 500(ESP) مي فرستيم. 
تنظيمات FreeS/WAN در فايل /etc/ipsec.conf ثبت مي شود . اين تنظيمات به سه گروه تقسيم مي شوند. Config setup به تنظيمات پايه اي مربوط مي شود و conn%default تنظيمات مشترك براي همه ارتباط ها را در خود دارد. گروه سوم كه با لغت كليدي conn و يك نام دلخواه مشخص مي شود پارامترهاي ارتباطي با همان نام را در خود دارد. در اين مثال ما نام اين بخش را Roadwarrior گذاشته ايم كه كاربراني كه از بيرون با كامپيوترهاي همراه به شبكه متصل مي شوند مربوط مي شود. 

/etc/ipsec.conf 
در بخش Config setup پيش از هر چيز بايد رابطي كه درخواست ارتباط هاي IPsec روي آن مي روند رامشخص كرد. براي اين منظور، فرمان interfaces=%defaultroute كافي است كه البته مي توانيد بجاي %defaultroute آدرس IP مربوط به كارت را هم وارد كنيد. با تنظيم كردن kilpsdebug و plutodebug روي none حالت Debug را غير فعال مي كنيم . Plutoload و plutostart را روي %search تنظيم مي كنيم تا ارتباط ها پس از درخواست از سمت مقابل ، ايجاد شوند. 
دربخشي conn %defqult فرمان keyingtries = 0 به Gateway مي گويد كه در صورت تغيير كليدهاي رمز تا پيدايش آنها صبر كند. براي انتخاب اين روش تعيين اعتبار فرمان authby = rsasig باعث مي شود تا هر دو طرف گفتگو حتما ميان خود گواهينامه مبادله كنند: leftrsasigkey = %cert rightsasigkey = %cert 
براي left هم دوباره %defaultroute را اعلام مي كنيم كه به عنوان left subnet شبكه داخلي(172.16.0.0/16) به كار مي رود. كمي بعد اين بخش رابا leftid كامل مي كنيم كه گواهينامه ما را براي Gateway مشخص مي كند. در بخش conn Roadwarrior هم با فرمان right = %any به همه كساني كه بتوانند گواهينامه ارائه كننداجازه دسترسي مي دهيم. حالت ارتباط را هم با type = tunnel مشخص مي كنيم كه در آن تبادل كليدها از طريق IKE(key exchang = ike) با Perfect Forwarding Secrecy (pfc = yes) انجام مي گيرد. Auto = add هم به Free S/WAN مي گويد كه ارتباط در پي در خواست از سوي كاربران بيرون از شبكه برقرار شود. 

گواهينامه 
اكنون S/WAN Free براي برقرار كردن ارتباط با يك رمز گذاري قوي از طريق تبادل گواهينامه پيكربندي شده. گواهينامه لازم براي Gateway و كاربران بيرون از شبكه را خودمان مي سازيم. براي اين كار از توانايي هاي SSL open بهره مي گيريم. نخست يك ساختار فهرست براي ايجاد گواهينامه مي سازيم. براي نمونه فهرست /etc/fenrisCA را در نظر مي گيريم. اينجا فهرست هاي certs و private key ها مي سازيم. 
فهرست private به طور منطقي بايد در دسترس root باشد. در فهرست/etc/fenrisCA به دو فايل index.txt و serial نياز داريم. با touch، index.txt را خالي مي كنيم. Open SSL بعدا در اين فايل ليستي از گواهينامه هاي صادر شده ثبت مي كند. اكنون در فايل OPENSSL.CNF (كه در /usr/ssl يا /usr/share/ssl قرار دارد) مسير فهرست CA را به عنوان پارامتر dir وارد مي كنيم. 

RootCA 
اكنون به سراغ RootCA مي رويم . براي اين كار نخست يك RSAPrivate به طول 2048 بيت مي سازيم :openssl gersa –des3 –out private/caKey.pem2048 گزينه des3 باعث مي شود كه از طريق روش Triple DES ساخته شود تا افراد غير مجاز نتوانند گواهينامه را درستكاري كنند. البته اكنون گواهينامه را درستكاري كنند. البته اگر خودمان هم Passphrase را فراموش كنيم امكان انجام اين كار را نخواهيم داشت. 
اكنون گواهينامه RootCA خودمان را ايجاد كرده و آن را به يك بازه زماني محدوده مي كنيم: 
Openssl req –new-x509 –days = 1825 – key private/cakey.pem out caCert.pem به عنوان passphrase از همان چيزي كه براي Private Key كار برديم استفاده كرده ايم. سپس openssl تك تك عناصر مربوط به شناسايي دارنده گواهينامه مي پرسد. 
در پايان گواهينامه Root CA را در /eht/ipsec.d/cacerts براي Free S/WAN كپي مي كنيم. 

گواهينامه Gateway 
ساختن گواهينامه براي Gateway دقيقا همانند روشي است كه براي گواهينامه Root CA شرح داديم. به كمك گواهينامه Gateway به كاربران بيرون از شبكه اجازه ارتباط و استفاده از آن ر امي دهيم . 
نخست به يك Private key نياز داريم كه اين بار طول آن 1024 بيت است: 
openssl gersa –des3 –out private/gwKey.pem1024 
اكنون گام بعدي را بر مي داريم: 
openssl req –new-key private/gwKey.pem –out geReq.pem 
اكنون Request را به عنوان Root CA امضاء مي كنيم: 
Openssl ca –notext –in gwReq.pem –out gwCert.pem 
اين گواهينامه را بايد در قالب فايل /etc/x509cert.der به شكل باينر روي Gateway ذخيره كنيم . عمل تبديل با فرمان زير انجام مي گيرد: 
openssl x509 –in gwcwert.pem –outform der –out /etc/x509cert.der 
Private key با نام gwkey.pem را براي Free S/WAN در /etc/ipsec.d/private كپي مي كنيم. از اين گذشته بايد Passphrase مربوطه به طور واضح در فايل /etc/ipsec.secrets آمده باشد. اگر Passphrase به طور نمونه « asample Passphrase » باشد آن را در سطر زير مي نويسيم : 
« asample Passphrase » :RAS gwkey.pem 
روشن است كه تنها root بايد به ipsec.secrets دسترسي داشته باشد. اكنون آخرين جاي خالي را در /etc/ipsec.conf پر مي كنيم. 
Leftid = "C = IR,ST = Tehran, L = Tehran, O = Rayaneh Magazine, OU = Editorial,CN = fashkain, Email = fashkain@rayanehmag.net" 

گواهينامه هاي كاربران 
اكنون بايد عمل تعيين اعتبار را براي هر كاربر يكبار انجام بدهيم. در فرمان زير كه براي ساختن Private key براي يك كاربر به كار مي رود: 
openssl genrsa –des3 –out private/userkey.pem –out 1024 
بايد براي هر كاربر Passphrase جداگانه اي وارد كنيد. در گام بعدي فرمان زير را به كار ببريد: 
openssl req –new-key private/gwKey.pem –out geReq.pem 
اكنون بايد گواهينامه اي را كه آن را در قالب Root CA امضاءخواهيد كرد بسازيد.-enddate در اينجا براي مشخص كردن مدت اعتبار به كار مي رود: 
Openssl ca –notext –eddate 020931200z in gwReq.pem –out gwCert.pem 
در آخرين مرحله روي اين گواهينامه يك فايل باينري با فرمت PKCS#12 مي سازيم كهدر ادامه براي سرويس گيرنده هاي ويندوز xp /2000 لازم داريم. 
Openssl pkcs12 –export –inusercert.pem –inkey private/userkey.pem