Vpn چیست؟
VPN، نظری و عملی
برقرار کردن امنیت برای یک شبکه درون یک ساختمان کار ساده ای است. اما هنگامی که بخواهیم از نقاط دور رو ی دادههای مشترک کار کنیم ایمنی به مشکل بزرگی تبدیل میشود. در این بخش به اصول و ساختمان یک VPN برای سرویس گیرندههای ویندوز و لینوکس میپردازیم.
اصول VPN
فرستادن حجم زیادی از داده از یک کامپیوتر به کامپیوتر دیگر مثلاً در به هنگام رسانی بانک اطلاعاتی یک مشکل شناخته شده و قدیمی است. انجام این کار از طریق Email به دلیل محدودیت گنجایش سرویس دهنده Mail نشدنی است.
استفاده از FTP هم به سرویس دهنده مربوطه و همچنین ذخیره سازی موقت روی فضای اینترنت نیاز دارد که اصلاً قابل اطمینان نیست.
یکی از راه حلهای اتصال مستقیم به کامپیوتر مقصد به کمک مودم است که در اینجا هم علاوه بر مودم، پیکر بندی کامپیوتر به عنوان سرویس دهنده RAS لازم خواهد بود. از این گذشته، هزینه ارتباط تلفنی راه دور برای مودم هم قابل تامل است. اما اگر دو کامپیوتر در دو جای مختلف به اینترنت متصل باشند میتوان از طریق سرویس به اشتراک گذاری فایل در ویندوز بسادگی فایلها را رد و بدل کرد. در این حالت، کاربران میتوانند به سخت دیسک کامپیوترهای دیگر همچون سخت دیسک کامپیوتر خود دسترسی داشته باشند. به این ترتیب بسیاری از راههای خرابکاری برای نفوذ کنندگان بسته میشود.
شبکههای شخصی مجاری یا VPN (Virtual private Network)ها اینگونه مشکلات را حل میکند. VPN به کمک رمز گذاری روی داده ها، درون یک شبکه کوچک میسازد و تنها کسی که آدرسهای لازم و رمز عبور را در اختیار داشته باشد میتواند به این شبکه وارد شود. مدیران شبکه ای که بیش از اندازه وسواس داشته و محتاط هستند میتوانند VPN را حتی روی شبکه محلی هم پیاده کنند. اگر چه نفوذ کنندگان میتوانند به کمک برنامههای Packet sniffer جریان دادهها را دنبال کنند اما بدون داشتن کلید رمز نمی توانند آنها را بخوانند.
-4.1.1 VPN چیست ؟
VPN دو کامپیوتر یا دو شبکه را به کمک یک شبکه دیگر که به عنوان مسیر انتقال به کار میگیرد به هم متصل میکند. برای نمونه میتوان ب دو کامپیوتر یکی در تهران و دیگری در مشهد که در فضای اینترنت به یک شبکه وصل شده اند اشاره کرد. VPN از نگاه کاربر کاملاً مانند یک شبکه محلی به نظر میرسد. برای پیاده سازی چنین چیزی، VPN به هر کاربر یک ارتباط IP مجازی میدهد.
داده هایی که روی این ارتباط آمد و شد دارند را سرویس گیرنده نخست به رمز در آورده و در قالب بستهها بسته بندی کرده و به سوی سرویس دهنده VPN میفرستد. اگر بستر این انتقال اینترنت باشد بستهها همان بستههای IP خواهند بود.
سرویس گیرنده VPN بستهها را پس از دریافت رمز گشایی کرده و پردازش لازم را روی آن انجام میدهد. روشی که شرح داده شد را اغلب Tunneling یا تونل زنی مینامند چون دادهها برای رسیدن به کامپیوتر مقصد از چیزی مانند تونل میگذرند. برای پیاده سازی VPN راههای گوناگونی وجود دارد که پر کاربرد ترین آنها عبارتند از
Point to point Tunneling protocol یا PPTP که برای انتقال NetBEUI روی یک شبکه بر پایه IP مناسب است.
Layer 2 Tunneling protocol یا L2TP که برای انتقال IP، IPX یا NetBEUI روی هر رسانه دلخواه که توان انتقال Datagramهای نقطه به نقطه (Point to point) را داشته باشد مناسب است. برای نمونه میتوان به IP، X.25، Frame Relay یا ATM اشاره کرد.
IP Security protocol یا Ipsec که برای انتقال دادههای IP روی یک شبکه بر پایه IP مناسب است.
-4.1.2 پروتکلهای درون تونل
Tunneling را میتوان روی دو لایه از لایههای OSI پیاده کرد. PPTP و L2TP از لایه 2 یعنی پیوند داده استفاده کرده و دادهها را در قالب Frameهای پروتکل نقطه به نقطه (PPP) بسته بندی میکنند. در این حالت میتوان از ویژگیهای PPP همچون تعیین اعتبار کاربر، تخصیص آدرس پویا (مانند DHCP)، فشرده سازی دادهها یا رمز گذاری دادهها بهره برد.
با توجه به اهمیت ایمنی انتقال دادهها درVPN، دراین میان تعیین اعتبار کاربر نقش بسیار مهمی دارد. برای این کار معمولاً از CHAP استفاده میشود که مشخصات کاربر را در این حالت رمز گذاری شده جابه جا میکند. Call back هم دسترسی به سطح بعدی ایمنی را ممکن میسازد. در این روش پس از تعیین اعتبار موفقیت آمیز، ارتباط قطع میشود. سپس سرویس دهنده برای برقرار کردن ارتباط جهت انتقال دادهها شماره گیری میکند. هنگام انتقال داده ها، Packetهای IP، IP X یا NetBEUI در قالب Frameهای PPP بسته بندی شده و فرستاده میشوند. PPTP هم Frameهای PPP را پیش از ارسال روی شبکه بر پایه IP به سوی کامپیوتر مقصد، در قالب Packetهای IP بسته بندی میکند. این پروتکل در سال 1996 از سوی شرکت هایی چون مایکرو سافت، Ascend، 3 com و Robotics US پایه گذاری شد. محدودیت PPTP در کار تنها روی شبکههای IP باعث ظهور ایده ای در سال 1998 شد.L2TP روی X.25،Frame Relay یا ATM هم کار میکند. برتری L2TP در برابر PPTP این است که به طور مستقیم روی رسانههای گوناگون WAN قابل انتقال است.
4.1.3 - VPN-Ipsec فقط برای اینترنت
Ipsec برخلافPPTP و L2TP روی لایه شبکه یعنی لایه سوم کار میکند. این پروتکل داده هایی که باید فرستاده شود را همراه با همه اطلاعات جانبی مانند گیرنده و پیغامهای وضعیت رمز گذاری کرده و به آن یک IP Header معمولی اضافه کرده و به آن سوی تونل میفرستد.
کامپیوتری که در آن سو قرار دارد IP Header را جدا کرده، دادهها را رمز گشایی کرده و آن را به کامپیوتر مقصد میفرستد.Ipsec را میتوان با دو شیوه Tunneling پیکر بندی کرد. در این شیوه انتخاب اختیاری تونل، سرویس گیرنده نخست یک ارتباط معمولی با اینترنت برقرار میکند و سپس از این مسیر برای ایجاد اتصال مجازی به کامپیوتر مقصد استفاده میکند. برای این منظور، باید روی کامپیوتر سرویس گیرنده پروتکل تونل نصب شده باشد. معمولاً کاربر اینترنت است که به اینترنت وصل میشود. اما کامپیوترهای درون LAN هم میتوانند یک ارتباط VPN برقرا کنند. از آنجا که ارتباط IP از پیش موجود است تنها برقرار کردن ارتباط VPN کافی است. در شیوه تونل اجباری، سرویس گیرنده نباید تونل را ایجاد کند بلکه این کار ار به عهده فراهم ساز (Service provider) است. سرویس گیرنده تنها باید به ISP وصل شود. تونل به طور خودکار از فراهم ساز تا ایستگاه مقصد وجود دارد. البته برای این کار باید همانگیهای لازم با ISP انجام بگیرد.
۴.۱.۴- ویژگیهای امنیتی در IPsec
Ipsec از طریق Authentication Header (AH) مطمئن میشود که Packetهای دریافتی از سوی فرستنده واقعی (و نه از سوی یک نفوذ کننده که قصد رخنه دارد) رسیده و محتویات شان تغییر نکرده. AH اطلاعات مربوط به تعیین اعتبار و یک شماره توالی (Seguence Number) در خود دارد تا از حملات Replay جلوگیری کند. اما AH رمز گذاری نمی شود. رمز گذاری از طریق Encapsulation Security Header یا ESH انجام میگیرد. در این شیوه دادههای اصلی رمز گذاری شده و VPN اطلاعاتی را از طریق ESH ارسال میکند.
ESH همچنین کارکرد هایی برای تعیین اعتبار و خطایابی دارد. به این ترتیب دیگر به AH نیازی نیست. برای رمز گذاری و تعیین اعتبار روش مشخص و ثابتی وجود ندارد اما با این همه، IETF برای حفظ سازگاری میان محصولات مختلف، الگوریتمهای اجباری برای پیاده سازی Ipsec تدارک دیده. برای نمونه میتوان به MD5، DES یا Secure Hash Algorithm اشاره کرد. مهمترین استانداردها و روش هایی که در Ipsec به کار میروند عبارتند از:
• Diffie-Hellman برای مبادله کلیدها میان ایستگاههای دو سر ارتباط.
• رمز گذاری Public Key برای ثبت و اطمینان از کلیدهای مبادله شده و همچنین اطمینان از هویت ایستگاههای سهیم در ارتباط.
• الگوریتمهای رمز گذاری مانند DES برای اطمینان از درستی دادههای انتقالی.
• الگوریتمهای درهم ریزی (Hash) برای تعیین اعتبار تک تک Packet ها.
• امضاهای دیجیتال برای تعیین اعتبارهای دیجیتالی.
4.1.5 - Ipsec بدون تونل
Ipsec در مقایسه با دیگر روشها یک برتری دیگر هم دارد و آن اینست که میتواند همچون یک پروتکل انتقال معمولی به کار برود.