آموزش VPN چیست؟

  • شروع کننده موضوع HAD!S
  • بازدیدها 217
  • پاسخ ها 0
  • تاریخ شروع

HAD!S

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/14
ارسالی ها
1,667
امتیاز واکنش
11,873
امتیاز
753
محل سکونت
شیراز
VPN دو كامپیوتر یا دو شبكه را به كمك یك شبكه دیگر كه به عنوان مسیر انتقال به كار می گیرد به هم متصل می كند . برای نمونه می توان به دو كامپیوتر یكی در تهران و دیگری در مشهد كه در فضای اینترنت به یك شبكه وصل شده اند اشاره كرد . VPN از نگاه كاربر كاملا” مانند یك شبكه محلی به نظر می رسد . برای پیاده سازی چنین چیزی ، VPN به هر كاربر یك ارتباط IP مجازی می دهد . برقرار كردن امنیت برای یك شبكه درون یك ساختمان كار ساده ای است . اما هنگامی كه بخواهیم از نقاط دور رو ی داده های مشترك كار كنیم ایمنی به مشكل بزرگی تبدیل می شود . در این بخش به اصول و ساختمان یك VPN برای سرویس گیرنده های ویندوز و لینوكس می پردازیم .

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

سرویس گیرنده VPN بسته ها را پس از دریافت رمز گشایی كرده و پردازش لازم را روی آن انجام می دهد . در آدرس
Please, ورود or عضویت to view URLs content!
شكل بسیار جالبی وجود دارد كه چگونگی این كار را نشان می دهد . روشی كه شرح داده شد را اغلب 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 مناسب است .



اصول VPN :

فرستادن حجم زیادی از داده از یك كامپیوتر به كامپیوتر دیگر مثلا” در به هنگام رسانی بانك اطلاعاتی یك مشكل شناخته شده و قدیمی است . انجام این كار از طریق Email به دلیل محدودیت گنجایش سرویس دهنده Mail نشدنی است .

استفاده از FTP هم به سرویس دهنده مربوطه و همچنین ذخیره سازی موقت روی فضای اینترنت نیاز دارد كه اصلا” قابل اطمینان نیست .

یكی از راه حل های اتصال مستقیم به كامپیوتر مقصد به كمك مودم است كه در اینجا هم علاوه بر مودم ، پیكر بندی كامپیوتر به عنوان سرویس دهنده RAS لازم خواهد بود . از این گذشته ، هزینه ارتباط تلفنی راه دور برای مودم هم قابل تامل است . اما اگر دو كامپیوتر در دو جای مختلف به اینترنت متصل باشند می توان از طریق سرویس به اشتراك گذاری فایل در ویندوز بسادگی فایل ها را رد و بدل كرد . در این حالت ، كاربران می توانند به سخت دیسك كامپیوترهای دیگر همچون سخت دیسك كامپیوتر خود دسترسی داشته باشند . به این ترتیب بسیاری از راه های خرابكاری برای نفوذ كنندگان بسته می شود .

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



پروتكل های درون تونل :

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 قابل انتقال است .



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 ها .

• امضاهای دیجیتال برای تعیین اعتبارهای دیجیتالی .



Ipsec بدون تونل :

Ipsec در مقایسه با دیگر روش ها یك برتری دیگر هم دارد و آن اینست كه می تواند همچون یك پروتكل انتقال معمولی به كار برود .

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

نگاهی به IPsec :

IPsec در اصل مجموعه ای از پروتكل ها و روش هایی است كه به كمك آنها می توان روی اینترنت یك ارتباط مطمئن و ایمن ایجاد كرد.

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



جریان یك ارتباط Ipsec :

بیش از آن كه دو كامپیوتر بتوانند از طریق Ipsec داده ها را میان خود جابجا كنند باید یكسری كارها انجام شود .

• نخست باید ایمنی برقرار شود . برای این منظور ، كامپیوترها برای یكدیگر مشخص می كنند كه آیا رمز گذاری ، تعیین اعتبار و تشخیص خطا یا هر سه آنها باید انجام بگیرد یا نه .

• سپس الگوریتم را مشخص می كنند ، مثلا” DEC برای رمزگذاری و MD5 برای خطایابی.

• در گام بعدی ، كلیدها را میان خود مبادله می كنند .

Ipsec برای حفظ ایمنی ارتباط از Security Association (SA ) استفاده می كند . SA چگونگی ارتباط میان دو یا چند ایستگاه و سرویس های ایمنی را مشخص می كند . SA ها از سوی SPI ( Security parameter Index ) شناسایی می شوند . SPI از یك عدد تصادفی و آدرس مقصد تشكیل می شود . این به آن معنی است كه همواره میان دو كامپیوتر دو SPI وجود دارد :

یكی برای ارتباط A و B و یكی برای ارتباط B به A . اگر یكی از كامپیوترها بخواهد در حالت محافظت شده داده ها را منتقل كند نخست شیوه رمز گذاری مورد توافق با كامپیوتر دیگر را بررسی كرده و آن شیوه را روی داده ها اعمال می كند . سپس SPI را در Header نوشته و Packet را به سوی مقصد می فرستد .


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



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 با لینوكس (1) :

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



Psec و Free S/WAN :

اگر چه لینوكس هم به دلیل توانایی های خوبFirewall بستر بسیار مناسبی برای یك دروازه امنیتی(Security Gateway) برپایه IPsec است مال خودش به طور پیش فرض بخش های لازم برای IPsec را به همراه ندارد. این برنامه ها را می توانید در مجموعه Free S/WAN بیابید. Free S/WAN (
Please, ورود or عضویت to view URLs content!
) در اصل مجمعی متشكل از برنامه نویسان زبده و تامین كنندگان مالی است كه برنامه های ویژه لینوكس را فراهم می كنند. برنامه Free S/WAN از دو بخش اصلی تشكیل شده یكی KLIPS(Kernel IPsec ) است كه پروتكل های لازم را به Kernel اضافه می كند و دیگری Daemon كه وظیفهبرقراری ارتباط و رمز گذاری را بر عهده دارد.

در این بخش می بینید كه IPsec چگونه كار می كند و چگونه باید آن را به كمك Free S/WAN در لینوكس برای VPN پیكر بندی كرد. در ادامه خواهیم گفت كه با X.509 چطور زیر ساخت های لازم برای یك شركت پیاده سازی می شود.



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 بیت می سازیم :eek:penssl 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 = [email protected]"

گواهینامه های كاربران :

اكنون باید عمل تعیین اعتبار را برای هر كاربر یكبار انجام بدهیم. در فرمان زیر كه برای ساختن 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 –certfile caCert.pem-out user.p12

چشم انداز :

پیكربندی Security Gateway را با موفقیت پشت سر گذاشتیم. در بخش بعدی به سرویس گیرنده های VPN در ویندوز می پردازیم. برای این كار از ابزارهای موجود در ویندوز 2000 و xp بهره خواهیم برد.

با لینوكس (2) :

در بخش پیش بر پایه لینوكس 2.4 و Free S/WAN یك VPN Security Gateway راه انداختیم. با نصب patch های x.509 (
Please, ورود or عضویت to view URLs content!
) Gateway را با تنامین اعتبار های مطمئن و رمز گذاری های قوی كامل كردیم. به این ترتیب پیكر بندی سرویس دهنده به پایان می رسد. اكنون باید سرویس گیرنده ها را برای دسترسی به VPN تنظیم كنیم. فرض می كنیم كه سیستم عامل مورد استفاده كاربران بیرون از شبكه ویندوز 2000 و xp است كه هر دوی آنها برنامه های لازم برای ایجاد و مدیریت ارتباط های IPsec را در خود دارند.

البته باید این احتمال را نیز در نظر گرفت كه شاید برخی كاربران با سیستم ویندوز 9x/Me قصد استفاده از VPN را داشته باشند. در این حالت به یك برنامه سرویس گیرنده IPsec نیاز داریم. یكبار معروفترین این برنامه ها كه برای كاربردهای شخصی رایگان است PGPnet می باشد. این برنامه را می توان حتی روی ویندوز های NT و 2000 هم بكار برد.

ویندوز 2000 و XP :

ویندوز های 2000و XP با توجه به پشتیبانی از IPsec برای استفاده به عنوان سرویس گیرنده IPsec بسیار مناسبند. این دو سیستم عامل افزون بر سرویس های IPsec امكاناتی هم برای ایمنی IP دارند. برای ساختن یك تونل VPN، كافی است كه به كاربر تنها سرویس IPsec را اجرا كرده و گزینه های لازم را در آن تنظیم كند.

البته فرض بر این است كه تنظیمات امنیتی از پیش انجام شده باشد. انجام این كار در ویندوز چندان ساده نیست. در ویندوز 2000 باید برنامه IPsecPOL

Please, ورود or عضویت to view URLs content!


را از 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 خواهید دید.
 

برخی موضوعات مشابه

پاسخ ها
12
بازدیدها
286
پاسخ ها
0
بازدیدها
147
پاسخ ها
0
بازدیدها
240
پاسخ ها
0
بازدیدها
138
پاسخ ها
0
بازدیدها
186
پاسخ ها
0
بازدیدها
224
پاسخ ها
0
بازدیدها
207
پاسخ ها
0
بازدیدها
184
بالا