منبع : از مجله رایانه شماره 127
VPN با لینوکس (2)
در بخش پیش بر پایه لینوکس 2.4 و Free S/WAN یک VPN Security Gateway راه انداختیم. با نصب patch های x.509 (www.strongsec.com/freewan/) Gateway را با تنامین اعتبار های مطمئن و رمز گذاری های قوی کامل کردیم. به این ترتیب پیکر بندی سرویس دهنده به پایان می رسد. اکنون باید سرویس گیرنده ها را برای دسترسی به VPN تنظیم کنیم. فرض می کنیم که سیستم عامل مورد استفاده کاربران بیرون از شبکه ویندوز 2000 و xp است که هر دوی آنها برنامه های لازم برای ایجاد و مدیریت ارتباط های IPsec را در خود دارند.
البته باید این احتمال را نیز در نظر گرفت که شاید برخی کاربران با سیستم ویندوز 9x/Me قصد استفاده از VPN را داشته باشند. در این حالت به یک برنامه سرویس گیرنده IPsec نیاز داریم. یکبار معروفترین این برنامه ها که برای کاربردهای شخصی رایگان است PGPnet می باشد. این برنامه را می توان حتی روی ویندوز های NT و 2000 هم بکار برد.
ویندوز 2000 و XP
ویندوز های 2000و XP با توجه به پشتیبانی از IPsec برای استفاده به عنوان سرویس گیرنده IPsec بسیار مناسبند. این دو سیستم عامل افزون بر سرویس های IPsec امکاناتی هم برای ایمنی IP دارند. برای ساختن یک تونل VPN، کافی است که به کاربر تنها سرویس IPsec را اجرا کرده و گزینه های لازم را در آن تنظیم کند.
البته فرض بر این است که تنظیمات امنیتی از پیش انجام شده باشد. انجام این کار در ویندوز چندان ساده نیست. در ویندوز 2000 باید برنامه IPsecPOL
http://agent.microsoft.com/windows2000/techinfo/reskit/tools/existing/ipsecpol-o.asp
را از 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 خواهید دید.
خلاصه
لینوکس و Free S/WAN برای ساختن VPN راه حل هایی هستند که در مقایسه با راه حل های سخت افزاری بسیار ساده تر و کم هزینه تر است. به ویژه سرویس گیرنده های ویندوز 2000 و XP با توجه به دسترس بودن برنامه های لازم بسیار ساده و سریع پیکربندی می شوند. اما هنگام راه اندازی VPN نباید یک نکته فراموش کرد. VPN اگر چه مطمئن است اما این اطمینان تا وقتی است که کامپیوترها در هماهنگی کامل با یکدیگر باشند. اگر از VPN به درستی محافظت نشود بستر بسیار مناسبی برای ویروس ها، کرم ها، اسب های تروآیی و کاربران غیر مجاز خواهد بود. بنابراین استفاده از برنامه های ضد ویروس و دیواره آتش را نباید فراموش کنید.
پیکر بندی
ما قصد داریم که 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 می گوید که ارتباط در پی در خواست از سوی کاربران بیرون از شبکه برقرار شود.
اما از آنجا که در این شیوه، دو کامپیوتر به طور مستقیم داده ها را مبادله میکنند نمی توان مبدا و مقصد داده ها را پنهان کرد. از حالت 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 و همه ارتباط ها را زیر نظر دارد.
منبع : از مجله رایانه شماره 127
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 نه تنها می توان از هویت طرف گفتگو مطمئن شدبلکه می توان نسبت به درستی و دست نخوردگی داده هاهم اطمینان حاصل کرد . به کمک عملکرد رمز گذاری می توان افزون بر آن خوانده شدن داده ها از سوی افراد غیر مجاز جلوگیری کرد.
منبع : از مجله رایانه شماره 127
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 بی درنگ ارتباط برقرار کرده و شبکه مجازی کامل می شود.
منبع : رایانه شماره : 127
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 انجام بگیرد .ٍ
· خدمات : خدمات برای کسب و کار شما جنبه حیاتی دارد ؛ مثلاً شما نامه فروش خوبی را نوشته اید و آماده اید که آن را به وب هاست خودتان پست کنید . بنابر این روز بعد می توانید آن را امتحان کنید . در اجرا به مشکلی برمی خورید و نیاز دارید که وب هاست به کمک شما بیاید . مشکل در اینجاست که ساعت 10 شب است و شرکت مورد بحث تا 9 صبح فردا کار را شروع نخواهد کرد . بنابراین مجبورید تا ساعت 9 صبح منتظر بمانید ؛ تازه در این وقت هم با یک خط شلوغ روبرو می شوید .حالا شما مجبور شده اید که این برنامه کاریتان را به تعویق بیاندازید . اگر از این موارد چند بار و به اشکال مختلف رخ دهد کافیست تا هر کسی را از کوره بدر کند .
· امنیت : آیا در مورد اینکه یک متجاوز اینترنتی تا چه حد می تواند به سایت شما خسارت وارد کند ایده ای دارید ؟ اگر یک متجاوز اینترنتی راهش را به سوی سیستم شما باز کند و آن را از کار بیاندازد ، یا اگر آدمهای بی انصافی وارد اطلاعات مشتریان شما شده و شماره کارتهای اعتباری را بربایند، تصور می کنید چه اثری می تواند بر کسب و کار شما داشته باشد . این موضوع بسیاری از کابوسهای شبانه است! مشکل در اینجاست که بسیاری از شرکت های کوچک ارائه دهنده وب هاست و حت بعضی از شرکتهای بزرگ هم اهمیتی به مایل امنیتی نمی دهند . آنها منابع و پرسنل این کار را ندارند ؛ شما هم ندارید . شما باید وقتتان را صرف بازاریابی برای کالا و خدماتتان نمایید و خدمات مناسب را برای مشتریان خود فراهم آورید ؛ نه اینکه تبدیل به یک کارشناس مسائل امنیتی گردید . شما باید به دنبال یک شرکت Web Host بگردید که تمام موضوعات امنیتی عمده را بکار گرفته باشد تا دیگران نتوانند وارد سایت شما شده ، به اطلاعات شما خسارت وارد آورند . وب هاست شما اولاً باید از آخرین روشهایی که مزاحمین اینترنتی استفاده می کنند آگاهی داشته باشد ؛ ثانیاً برای مبارزه بموقع با مشکلات و مسائل امنیتی ، باید آخرین ابزار حفاظتی مناسب را در دسترس داشته باشد .
· سرعت : برقراری سریع ارتباط باصفحات وب شما در اینترنت نیز در حد خود بسیار مهم است . حتی سریعترین اجرای صفحات ، از سطحی از ارتباط متاثر می شوند که Web Host شما در اینترنت دارا می باشد . اگر بازدیدکنندگان مجبور شوند که برای مشاهده یک صفحه 30 ثانیه صبر کنند ، دچارمشکل می شوید و پس از مدتی هیچ مشتری نخواهید داشت ؛ چرا که 30 ثانیه انتظار در اینترنت معادل 30 دقیقه زمان عادی است .
استقرار شبکه های فیبر نوری در اتصالات اینترنت باعث افزایش و اعتبار ارتباطات اینترنتی شده است . این شبکه فیبر نوری به منزله ستون فقرات شبکه ارتباطی شناخته می شود . Web Host شما باید به این شبکه فیبر نوری متصل باشد . میلیونها وب سایت به این ستون فقرات متصل هستند ؛ اما اگر وب هاست شما به آن متصل نباشد ، شما ممکن است کسب و کارتان را از دست بدهید .
حال که متوجه شدید که چه خدماتی را باید از یک Web Host بخواهید نگاهی به بعضی انتخابهایی بیندازیم که در دسترس شما هستند .