شبکه خصوصی مجازی

شبکه خصوصی مجازی یا Virtual Private Network که به اختصار VPN نامیده می شود، امکانی است برای انتقال ترافیک خصوصی بر روی شبکه عمومی. معمولا از VPN برای اتصال دو شبکه خصوصی از طریق یک شبکه عمومی مانند اینترنت استفاده می شود.منظور از یک شبکه خصوصی شبکه ای است که بطور آزاد در اختیار و دسترس عموم نیست. VPN به این دلیل مجازی نامیده می شود که از نظر دو شبکه خصوصی ، ارتباط از طریق یک ارتباط و شبکه خصوصی بین آنها برقرار است اما در واقع شبکه عمومی این کار را انجام می دهد. پیاده

سازی VPN معمولا اتصال دو یا چند شبکه خصوصی از طریق یک تونل رمزشده انجام می شود. در واقع به این وسیله اطلاعات در حال تبادل بر روی شبکه عمومی از دید سایر کاربران محفوظ می ماند. VPN را می توان بسته به شیوه پیاده سازی و اهداف پیاده سازی آن به انواع مختلفی تقسیم کرد.

فصل اول
کلیات بحث

دسته بندی VPN براساس رمزنگاری
VPN را می توان با توجه به استفاده یا عدم استفاده از رمزنگاری به دو گروه اصلی تقسیم کرد:
۱- VPNرمزشده : VPN های رمز شده از انواع مکانیزمهای رمزنگاری برای انتقال امن اطلاعات بر روی شبکه عمومی استفاده می کنند. یک نمونه خوب از این VPN ها ، شبکه های خصوصی مجازی اجرا شده به کمک IPSec هستند.

۲- VPN رمزنشده : این نوع از VPN برای اتصال دو یا چند شبکه خصوصی با هدف استفاده از منابع شبکه یکدیگر ایجاد می شود. اما امنیت اطلاعات در حال تبادل حائز اهمیت نیست یا این که این امنیت با روش دیگری غیر از رمزنگاری تامین می شود. یکی از این روشها تفکیک مسیریابی است. منظور از تفکیک مسیریابی آن است که تنها اطلاعات در حال تبادل بین دو شبکه خصوصی به هر یک از آنها مسیر دهی می شوند. (MPLS VPN) در این مواقع می توان در لایه های بالاتر از رمزنگاری مانند SSL استفاده کرد.
هر دو روش ذکر شده می توانند با توجه به سیاست امنیتی مورد نظر ، امنیت مناسبی را برای مجموعه به ارمغان بیاورند، اما معمولا VPN های رمز شده برای ایجاد VPN امن به کار می روند. سایر انواع VPN مانند MPLS VPN بستگی به امنیت و جامعیت عملیات مسیریابی دارند.

دسته بندی VPN براساس لایه پیاده سازی
VPN بر اساس لایه مدل OSI که در آن پیاده سازی شده اند نیز قابل دسته بندی هستند. این موضوع از اهمیت خاصی برخوردار است. برای مثال در VPN های رمز شده ، لایه ای که در آن رمزنگاری انجام می شود در حجم ترافیک رمز شده تاثیر دارد. همچنین سطح شفافیت VPN برای کاربران آن نیز با توجه به لایه پیاده سازی مطرح می شود.

۱- VPN لایه پیوند داده : با استفاده از VPN های لایه پیوند داده می توان دو شبکه خصوصی را در لایه ۲ مدل OSI با استفاده از پروتکلهایی مانند ATM یا Frame Relay به هم متصل کرد.با وجودی که این مکانیزم راه حل مناسبی به نظر می رسد اما معمولا روش ارزنی نیست چون نیاز به یک مسیر اختصاصی لایه ۲ دارد. پروتکلهای Frame Relay و ATM مکانیزمهای رمزنگاری را تامین نمی کنند. آنها فقط به ترافیک اجازه می دهند تا بسته به آن که به کدام اتصال لایه ۲ تعلق دارد ، تفکیک شود. بنابراین اگر به امنیت بیشتری نیاز دارید باید

مکانیزمهای رمزنگاری مناسبی را به کار بگیرید.
۲- VPN لایه شبکه : این سری از VPN ها با استفاده از tunneling لایه ۳ و/یا تکنیکهای رمزنگاری استفاده می کنند. برای مثال می توان به IPSec Tunneling و پروتکل رمزنگاری برای ایجاد VPN اشاره کرد.مثالهای دیگر پروتکلهای GRE و L2TP هستند. جالب است اشاره کنیم که L2TP در ترافیک لایه ۲ تونل می زند اما از لایه ۳ برای این کار استفاده می کند. بنابراین در VPN های لایه شبکه قرار می گیرد. این لایه برای انجام رمزنگاری نیز بسیار مناسب است. در بخشهای بعدی این گزارش به این سری از VPN ها به طور مشروح خواهیم پرداخت.

۳- VPN لایه کاربرد : این VPN ها برای کار با برنامه های کاربردی خاص ایجاد شده اند. VPN های مبتنی بر SSL از مثالهای خوب برای این نوع از VPN هستند. SSL رمزنگاری را بین مرورگر وب و سروری که SSL را اجرا می کند، تامین می کند.SSH مثال دیگری برای این نوع از VPN ها است.SSH به عنوان یک مکانیزم امن و رمز شده برای login به اجزای مختلف شبکه شناخته می شود. مشکل VPNها در این لایه آن است که هرچه خدمات و برنامه های جدیدی اضافه می شوند ، پشتیبانی آنها در VPN نیز باید اضافه شود.

دسته بندی VPN براساس کارکرد تجاری
VPN را برای رسیدن به اهداف تجاری خاصی ایجاد می شوند. این اهداف تجاری تقسیم بندی جدیدی را برای VPN بنا می کنند .
۱- VPN اینترانتی : این سری از VPN ها دو یا چند شبکه خصوصی را در درون یک سازمان به هم متصل می کنند. این نوع از VPN زمانی معنا می کند که می خواهیم شعب یا دفاتر یک سازمان در نقاط دوردست را به مرکز آن متصل کنیم و یک شبکه امن بین آنها برقرار کنیم.

VPN اکسترانتی : این سری از VPN ها برای اتصال دو یا چند شبکه خصوصی از دو یا چند سازمان به کار می روند. از این نوع VPN معمولا برای سناریوهای B2B که در آن دو شرکت می خواهند به ارتباطات تجاری با یکدیگر بپردازند، استفاده می شود.

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

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

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

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

۴٫۱٫۱ 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 مناسب است .
۴٫۱٫۲ پروتكل هاي درون تونل
Tunneling را مي توان روي دو لايه از لايه هاي OSI پياده كرد . PPTP و L2TP از لايه ۲ يعني پيوند داده استفاده كرده و داده ها را در قالب Frame هاي پروتكل نقطه به نقطه ( PPP ) بسته بندي مي كنند . در اين حالت مي توان از ويژگي هاي PPP همچون تعيين اعتبار كاربر ، تخصيص آدرس پويا ( مانند DHCP ) ، فشرده سازي داده ها يا رمز گذاري داده ها بهره برد.
با توجه به اهميت ايمني انتقال داده ها درVPN ، دراين ميان تعيين اعتبار كاربر نقش بسيار مهمي دارد . براي اين كار معمولا” از CHAP استفاده مي شود كه مشخصات كاربر را در اين

حالت رمز گذاري شده جابه جا ميكند . Call back هم دسترسي به سطح بعدي ايمني را ممكن مي سازد . در اين روش پس از تعيين اعتبار موفقيت آميز ، ارتباط قطع مي شود . سپس سرويس دهنده براي برقرار كردن ارتباط جهت انتقال داده ها شماره گيري مي كند . هنگام انتقال داده ها ، Packet هاي IP ، IP X يا NetBEUI در قالب Frame هاي PPP بسته بندي

شده و فرستاده مي شوند . PPTP هم Frame هاي PPP را پيش از ارسال روي شبكه بر پايه IP به سوي كامپيوتر مقصد ، در قالب Packet هاي IP بسته بندي مي كند . اين پروتكل در سال ۱۹۹۶ از سوي شركت هايي چون مايكرو سافت ، Ascend ، ۳ com و Robotics US پايه گذاري شد . محدوديت PPTP در كار تنها روي شبكه هاي IP باعث ظهور ايده اي در سال ۱۹۹۸ شد .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 داده ها از لايه ۳ به بالا رمز گذاري مي شوند خرابكاران متوجه نمي شوند كه اين داده ها به ارتباط با سرويس دهنده Mail مربوط مي شود يا به چيز ديگر .

 

۴٫۱٫۶ – جريان يك ارتباط 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 با ويندوز

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

پيش نيازها
براي اينكه دو كامپيوتر بر پايه ويندوز بتواند از طريق VPN به هم مرتبط شوند دست كم يكي از آنها بايد به ويندوز NT يا ۲۰۰۰ كار كند تا نقش سرويس دهنده VPN را به عهده بگيرد. ويندوز هاي ۹x يا Me تنها مي توانند سرويس گيرنده VPN باشند. سرويس دهنده VPN بايد يك IP ثابت داشته باشد. روشن است كه هر دو كامپيوتر بايد به اينترنت متصل باشند. فرقي نمي كند كه اين اتصال از طريق خط تلفن و مودم باشد يا شبكه محلي. IP در سرويس دهنده VPN بايد مجاز (Valid) باشد تا سرويس گيرنده بتواند يك مستقيما آن را ببيند.

در شبكه هاي محلي كه اغلب از IP هاي شخصي (۱۹۲٫۱۶۸٫x.x) استفاده مي شود VPN را بايد روي شبكه ايجاد كرد تا ايمني ارتباط بين ميان كامپيوترها تامين شود. اگر سرويس گيرنده VPN با ويندوز ۹۵ كار مي كند نخست بايد Dial up Networking Upgrade 1.3 را از سايت مايكروسافت برداشت كرده و نصب كنيد. اين مجموعه برنامه راه اندازهاي لازم براي VPN را در خود دارد . البته مايكروسافت پس از Upgrade 1.3 Networking Dial up نگارش هاي تازه تري نيز عرضه كرده كه بنا بر گفته خودش ايمني و سرعت ارتباط VPN را بهبود بخشيده است .

نصب سرويس دهنده VPN
روي كامپيوتر بر پايه ويندوز NT نخست بايد در بخش تنظيمات شبكه، راه انداز Point to Point Tunneling را نصب كنيد. هنگام اين كار، شمار ارتباط هاي همزمان VPN پرسيده مي شود. در سرويس دهنده هاي NT اين عدد مي تواند حداكثر ۲۵۶ باشد. در ايستگاه كاري NT،‌ اين عدد بايد ۱ باشد چون اين سيستم عامل تنها اجازه يك ارتباط 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) استفاده كنيد.

اين فضاي آدرس بايد دست كم ۲ آدرس داشته باشد ،‌يكي براي سرويس دهنده VPN و ديگري براي سرويس گيرنده VPN . هر كار بر بايد براي دسترسي به سرويس دهنده از طريق VPN مجوز داشته باشد. براي اين منظور بايد در User Manager در بخش Dialing اجازه دسترسي از دور را بدهيد . به عنوان آخرين كار،Remote Access Server را اجرا كنيد تا ارتباط VPN بتواند ايجاد شود.

سرويس گيرنده VPN روي ويندوز NT
نصب سرويس گيرنده VPN روي ويندوز NT شبيه راه اندازي سرويس دهنده VPN است بنابراين نخست بايد ۴ مرحله گفته شده براي راه اندازي سرويس دهنده VPN را انجام بدهيد،‌ يعني:
. نصب PPTP
. تعيين شمار ارتباط ها
. اضافه كردن VPN به عنوان دستگاه شماره گيري
. پيكر بندي VPN Adapter در RAS، تنها تفاوت در پيكر بندي VPN Adapter آن است كه بايد به جاي ارتباط هاي به سمت درون به ارتباط هاي به سمت بيرون (out going) اجاز ه بدهيد .

. سپس تنظيمات را ذخيره كرده و كامپيوتر را بوت كنيد. در گام بعدي، در بخش Networking يك ارتباط(Connection) تلفني بسازيد . به عنوان دستگاه شماره گير يا همان مودم بايد VPN Adapter را انتخاب كرده و بجاي شماره تلفن تماس، IP مربوط به سرويس دهنده VPN را وارد كنيد. در اينجا پيكر بندي سرويس گيرنده VPN روي ويندوز NT به پايان مي رسد و شبكه هاي شخصي مجازي ساخته مي شود.

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

گام نخست :

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

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

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

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

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

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

فصل سوم
VPN با لینوکس

VPN با لينوكس
يكي از توانايي هاي 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 هاي شماره ۲۴۰۱ تا ۲۴۱۰ آمده. 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 شماره ۲۴۹۵( است. يك چنين گواهينامه اي يك Public Key براي دارنده خود ايجاد مي كند. اين گواهينامه، داده هايي مربوط به الگوريتم به كار رفته براي امضاء ايجاد كننده، دارنده و مدت اعتبار در خود دارد كه در اين ميان، Public Keyمربوط به دارنده از بقيه مهمتر است. CA هم گواهينامه را با يك عدد ساخته شده از روي داده ها كه با Public Key خودش تركيب شده امضاء مي كند.
براي بررسي اعتبار يك گواهينامه موجود، گيرنده بايد اين امضاء را با Public Key مربوط به CA رمز گشايي كرده و سپس با عدد نخست مقايسه كند . نقطه ضعف اين روش در طول مدت اعتبار گواهينامه و امكان دستكاري و افزايش آن است. اما استفاده از اين گواهينامه ها در ارتباطهاي VPN مشكل چنداني به همراه ندارد چون مدير شبكه Security Gateway و همه ارتباط ها را زير نظر دارد.

IPsec يا FreeS/WAN
همانطور كه گفتيم FreeS/WAN مجموعه كاملي براي راه اندازي IPsec روي لينكوس است . البته بيشتر نگارش هاي لينوكس برنامه هاي لازم براي اين كار را با خود دارند. اما بر اساس تجربه بهتر است FreeS/WANرا به كار ببريد.
در اينجا ما از RedHatLinux نگارش ۲/۷ با هسته ۲٫۴٫۱۸ وFreeS/WAN197 (ftp://ftp.xs4all.nl/pub/cryypto/freesean/ ) استفاده كرده ايم. درصورت لزوم مي توان FreeS/WAN را با هسته هسته هاي خانواده ۲٫۲ هم به كار برد. البته در اين حالت دست كم به نگارش ۲٫۲٫۱۹ لينوكس نياز داريد. اين را هم بايد در نظر داشته باشيد كه راه انداختن VPN Gateway همراه با ديواره آتش سودمنداست و هسته نگارش ۲٫۴ امكانات خوبي براي راه انداختن ديواره آتش دارد.

نصب
براي نصب بايد هسته را در/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 دلخواه اجازه ارتباط با شبكه داخلي(۱۷۲٫۱۶٫۰٫۰/۱۶) را بدهد . اين كامپيوتر براي اين كار دو رابط Ethernet(eth0 براي شبكه داخلي (۱۷۲٫۱۶٫۰٫۰/۱۶) و eth1 براي محيط بيروني)‌دارد . بايد ميان اين دو رابط عملكرد IP-Forwarding فعال باشد. نخست بايد ديواره آتش را در اين Security Gateway طوري تنظيم كنيم كه Packet هاي AH و ESP را بپذيرد. به همين دليل روي رابط بيروني(همان eth1) Packet هاي UDP را روي پورت ۵۰۰(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 شبكه داخلي(۱۷۲٫۱۶٫۰٫۰/۱۶) به كار مي رود. كمي بعد اين بخش رابا 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 به طول ۲۰۴۸ بيت مي سازيم :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 نياز داريم كه اين بار طول آن ۱۰۲۴ بيت است:
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 –certfile caCert.pem-out user.p12

چشم انداز
پيكربندي Security Gateway را با موفقيت پشت سر گذاشتيم. در بخش بعدي به سرويس گيرنده هاي VPN در ويندوز مي پردازيم. براي اين كار از ابزارهاي موجود در ويندوز ۲۰۰۰ و xp بهره خواهيم برد.
در بخش پيش بر پايه لينوكس ۲٫۴ و Free S/WAN يك VPN Security Gateway راه انداختيم. با نصب patch هاي x.509 (www.strongsec.com/freewan/) Gateway را با تنامين اعتبار هاي مطمئن و رمز گذاري هاي قوي كامل كرديم. به اين ترتيب پيكر بندي سرويس دهنده به پايان مي رسد. اكنون بايد سرويس گيرنده ها را براي دسترسي به VPN تنظيم كنيم. فرض مي كنيم كه سيستم عامل مورد استفاده كاربران بيرون از شبكه ويندوز ۲۰۰۰ و xp است كه هر دوي آنها برنامه هاي لازم براي ايجاد و مديريت ارتباط هاي IPsec را در خود دارند.
البته بايد اين احتمال را نيز در نظر گرفت كه شايد برخي كاربران با سيستم ويندوز ۹x/Me قصد استفاده از VPN را داشته باشند. در اين حالت به يك برنامه سرويس گيرنده IPsec نياز داريم. يكبار معروفترين اين برنامه ها كه براي كاربردهاي شخصي رايگان است PGPnet مي باشد. اين برنامه را مي توان حتي روي ويندوز هاي NT و ۲۰۰۰ هم بكار برد.