شبکه جهانی اینترنت بخش حیاتی و غیرقابل تفکیک جامعه جهانی است. در واقع شبکه اینترنت ستون فقرات ارتباطات کامپیوتری جهانی در دهه 1990 است زیرا اساسا به تدریج بیشتر شبکه ها را به هم متصل کرده است.در حال حاضر رفته رفته تفکرات منطقه ای و محلی حاکم بر فعالیت های تجاری جای خود را به تفکرات جهانی و سراسری داده اند. امروزه با سازمانهای زیادی برخورد می نمائیم که در سطح یک کشور دارای دفاتر فعال و حتی در سطح دنیا دارای دفاتر متفاوتی می باشند . تمام سازمانهای فوق قبل از هر چیز بدنبال یک اصل بسیار مهم می باشند : یک روش سریع ، ایمن و قابل اعتماد بمنظور برقراری ارتباط با دفاتر و نمایندگی در اقصی نقاط یک کشور و یا در سطح دنی
ا .
بدین منظوربایستی یکشبکهی گستردهی خصوصی بین شعب این شرکت ایجاد گردد. شبکههای اینترنت که فقط محدود به یک سازمان یا یک شرکت میباشند، به دلیل محدودیتهای گسترشی نمیتوانند چندین سازمان یا شرکت را تحت پوشش قرار دهند. شبکههای گسترده نیز که با خطوط استیجاری راهاندازی میشوند، در واقع شبکههای گستردهی امنی هستند که بین مراکز سازمانها ایجاد میشوند. پیادهسازی این شبکهها نیاز به هزینه زیادی دارد راه حل غلبه بر این مشکلات، راهاندازی یک VPN است.
شبکه
جهانی اینترنت بخش حیاتی و غیرقابل تفکیک جامعه جهانی است. در واقع شبکه
اینترنت ستون فقرات ارتباطات کامپیوتری جهانی در دهه 1990 است زیرا اساسا
به تدریج بیشتر شبکه ها را به هم متصل کرده است.در حال حاضر رفته رفته
تفکرات منطقه ای و محلی حاکم بر فعالیت های تجاری جای خود را به تفکرات
جهانی و سراسری داده اند. امروزه با سازمانهای زیادی برخورد می نمائیم که
در سطح یک کشور دارای دفاتر فعال و حتی در سطح دنیا دارای دفاتر متفاوتی می
باشند . تمام سازمانهای فوق قبل از هر چیز بدنبال یک اصل بسیار مهم می
باشند : یک روش سریع ، ایمن و قابل اعتماد بمنظور برقراری ارتباط با دفاتر و
نمایندگی در اقصی نقاط یک کشور و یا در سطح دنیا .
بدین منظوربایستی یک
شبکهی گستردهی خصوصی بین شعب این شرکت ایجاد گردد. شبکههای اینترنت
که فقط محدود به یک سازمان یا یک شرکت میباشند، به دلیل محدودیتهای
گسترشی نمیتوانند چندین سازمان یا شرکت را تحت پوشش قرار دهند. شبکههای
گسترده نیز که با خطوط استیجاری راهاندازی میشوند، در واقع شبکههای
گستردهی امنی هستند که بین مراکز سازمانها ایجاد میشوند. پیادهسازی
این شبکهها نیاز به هزینه زیادی دارد راه حل غلبه بر این مشکلات،
راهاندازی یک VPN است.
کلیدواژهها: شبکه های مجازی – VPN – تونل کشی-رمز نگاری
مقدمه
VPN
در یک تعریف کوتاه ، شبکهای اختصاصی است که از یک شبکه عمومی غیر قابل
اعتماد (عموما اینترنت) برای ارتباط با سایت های از راه دور و ارتباط
کاربران با یکدیگر استفاده می نماید.این نوع شبکه به جای استفاده از خطوط
واقعی نظیر Lesed line: ، از یک ارتباط مجازی به کمک اینترنت به منظور ارتباط به سایت های راه دور و انتقال ترافیک شخصی استفاده می کند.
شبکههای
رایانهای به شکل گستردهای در سازمانها و شرکتهای اداری و تجاری مورد
استفاده قرار میگیرند. اگر یک شرکت از نظر جغرافیایی در یک نقطه متمرکز
باشد، ارتباطات بین بخشهای مختلف آنرا میتوان با یک شبکهی محلی
برقرار کرد. اما برای یک شرکت بزرگ که دارای شعب مختلف در نقاط مختلف یک
کشور و یا در نقاط مختلف دنیا است و این شعب نیاز دارند که با هم ارتباطاتِ
اطلاعاتیِ امن داشته باشند، بایستی یک شبکهی گستردهی خصوصی بین شعب
این شرکت ایجاد گردد. شبکههای اینترانت که فقط محدود به یک سازمان یا یک
شرکت میباشند، به دلیل محدودیتهای گسترشی نمیتوانند چندین سازمان یا
شرکت را تحت پوشش قرار دهند. شبکههای گسترده نیز که با خطوط استیجاری
راهاندازی میشوند، در واقع شبکههای گستردهی امنی هستند که بین مراکز
سازمانها ایجاد میشوند. پیادهسازی این شبکهها علیرغم درصد پایین
بهرهوری، نیاز به هزینه زیادی دارد. زیرا، این شبکهها به دلیل عدم
اشتراک منابع با دیگران، هزینه مواقع عدم استفاده از منابع را نیز بایستی
پرداخت کنند. راهحل غلبه بر این مشکلات، راهاندازی یک VPN است.
فرستادن
حجم زیادی از داده از یک کامپیوتر به کامپیوتر دیگر مثلا” در به هنگام
رسانی بانک اطلاعاتی یک مشکل شناخته شده و قدیمی است . انجام این کار از
طریق Email به دلیل محدودیت گنجایش سرویس دهنده Mail نشدنی است .استفاده از FTP هم به سرویس دهنده مربوطه و همچنین ذخیره سازی موقت روی فضای اینترنت نیاز دارد که اصلا” قابل اطمینان نیست .
یکی
از راه حل های اتصال مستقیم به کامپیوتر مقصد به کمک مودم است که در اینجا
هم علاوه بر مودم ، پیکر بندی کامپیوتر به عنوان سرویس دهنده RAS
لازم خواهد بود . از این گذشته ، هزینه ارتباط تلفنی راه دور برای مودم هم
قابل تامل است . اما اگر دو کامپیوتر در دو جای مختلف به اینترنت متصل
باشند می توان از طریق سرویس به اشتراک گذاری فایل در ویندوز بسادگی فایل
ها را رد و بدل کرد . در این حالت ، کاربران می توانند به سخت دیسک
کامپیوترهای دیگر همچون سخت دیسک کامپیوتر خود دسترسی داشته باشند . به این
ترتیب بسیاری از راه های خرابکاری برای نفوذ کنندگان بسته می شود .
شبکه های شخصی مجازی یا( VPN ( Virtual private Networkها اینگونه مشکلات را حل میکند . VPN
به کمک رمز گذاری روی داده ها ، یک شبکه کوچک می سازد و تنها کسی که آدرس
های لازم و رمز عبور را در اختیار داشته باشد می تواند به این شبکه وارد
شود . مدیران شبکه ای که بیش از اندازه وسواس داشته و محتاط هستند می
توانند VPN را حتی روی شبکه محلی هم پیاده کنند . اگر چه نفوذ کنندگان می توانند به کمک برنامه های Packet snifter جریان داده ها را دنبال کنند اما بدون داشتن کلید رمز نمی توانند آنها را بخوانند.
یک مثال :
فرض
نمائید درجزیره ای در اقیانوسی بزرگ، زندگی می کنید. هزاران جزیره در
اطراف جزیره شما وجود دارد. برخی از جزایر نزدیک و برخی دیگر دارای مسافت
طولانی با جزیره شما میباشند متداولترین روش بمنظور مسافرت به جزیره دیگر،
استفاده از یک کشتی مسافربری است مسافرت با کشتی مسافربری ، بمنزله عدم
وجود امنیت است . در این راستا هر کاری را که شما انجام دهید،توسط سایر
مسافرین قابل مشاهده خواهد بود.فرض کنید هر یک از جزایر مورد نظر به مشابه
یک شبکه محلی(LAN)
و اقیانوس مانند اینترنت باشند. مسافرت با یک کشتی مسافربری مشابه برقراری
ارتباط با یک سرویس دهنده وب و یا سایر دستگاههای موجود در اینترنت
است.شما دارای هیچگونه کنترلی بر روی کابل ها و روترهای موجود در اینترنت
نمیباشید.(مشابه عدم کنترل شما بعنوان مسافر کشتی مسافربری بر روی سایر
مسافرین حاضر در کشتی ) .در صورتیکه تمایل به ارتباط بین دو شبکه اختصاصی
از طریق منابع عمومی وجود داشته باشد، اولین مسئله ای که با چالش های جدی
برخورد خواهد کرد، امنیت خواهد بود.
فرض کنید، جزیره شما قصد ایجاد یک
پل ارتباطی با جزیره مورد نظر را داشته باشد .مسیر ایجاد شده یک روش ایمن ،
ساده و مستقیم برای مسافرت ساکنین جزیره شما به جزیره دیگر را فراهم می
آورد. اما ایجاد و نگهداری یک پل ارتباطی بین دو جزیره مستلزم صرف هزینه
های بالائی خواهد بود.(حتی اگر جزایر در مجاورت یکدیگر باشند).با توجه به
ضرورت و حساسیت مربوط به داشتن یک مسیر ایمن و مطمئن ، تصمیم به ایجاد پل
ارتباطی بین دو جزیره گرفته شده است. در صورتیکه جزیره شما قصد ایجاد یک پل
ارتباطی با جزیره دیگر را داشته باشد که در مسافت بسیار طولانی نسبت به
جزیره شما واقع است ، هزینه های مربوط بمراتب بیشتر خواهد بود. وضعیت فوق ،
نظیر استفاده از یک اختصاصی Leased است. ماهیت پل های ارتباطی(خطوط اختصاصی) از اقیانوس (اینترنت) متفاوت بوده و کماکان قادر به ارتباط جزایر شبکه های( LAN)
خواهند بود. سازمانها و موسسات متعددی از رویکرد فوق ( استفاده از خطوط
اختصاصی) استفاده می نمایند. مهمترین عامل در این زمینه وجود امنیت و
اطمینان برای برقراری ارتباط هر یک سازمانهای مورد نظر با یکدیگر است . در
صورتیکه مسافت ادارات و یا شعب یک سازمان از یکدیگر بسیار دور باشد ، هزینه
مربوط به برقرای ارتباط نیز افزایش خواهد یافت
با توجه به موارد گفته شده ، چه ضرورتی بمنظور استفاده از VPN وجود داشته و VPN
تامین کننده ، کدامیک از اهداف و خواسته های مورد نظر است ؟ با توجه به
مقایسه انجام شده در مثال فرضی ، می توان گفت که با استفاده از VPN به هریک از ساکنین جزیره یک زیردریائی داده می شود. زیردریائی فوق دارای خصایص متفاوت نظیر :
- دارای سرعت بالا است .
- هدایت آن ساده است .
- قادر به استتار( مخفی نمودن) شما از سایر زیردریا ئیها و کشتی ها است .
- قابل اعتماد است .
- پس از تامین اولین زیردریائی ، افزودن امکانات جانبی و حتی یک زیردریائی دیگرمقرون به صرفه خواهد بود
-
در مدل فوق ، با وجود ترافیک در اقیانوس ، هر یک از ساکنین دو جزیره قادر
به تردد در طول مسیر در زمان دلخواه خود با رعایت مسایل ایمنی میباشند
مثال فوق دقیقا" بیانگر تحوه عملکرد VPN
است . هر یک از کاربران از راه دور شبکه قادربه برقراری ارتباطی امن و
مطمئن با استفاده از یک محیط انتقال عمومی ( نظیر اینترنت ) با شبکه محلی (LAN) موجود در سازمان خود خواهند بود. توسعه یک VPN
افزایش تعداد کاربران از راه دور و یا افزایش مکان های مورد نظر ) بمراتب
آسانتر از شبکه هائی است که از خطوط اختصاصی استفاده می نمایند. قابلیت
توسعه فراگیر از مهمترین ویژگی های یک VPN نسبت به خطوط اختصاصی است .
معایب ومزایا
با توجه به اینکه در یک شبکه VPN به عوامل متفاوتی نظیر : امنیت ، اعتمادپذیری ، مدیریت شبکه و سیاست ها نیاز خواهد بود. استفاده از VPN برای یک سازمان دارای مزایای متعددی مانند : ● گسترش محدوه جغرافیائی ارتباطی ● بهبود وضعیت امنیت ● کاهش هزینه های عملیاتی در مقایسه با روش های سنتی نظیر WAN ● کاهش زمان ارسال و حمل اطلاعات برای کاربران از راه دور ● بهبود بهره وری ● توپولوژی آسان ،... است .
برخی از جوانب منفی شبکه سازی اینترنتی به این شرح است :● شک نسبت به اطلاعات دریافت شده ● استفاده از منابع غیرموثق ● تفسیر بد از اطلاعات رسیده ● سرقت ایده ها ● نبود مهارتهای حرفه ای در کار با اطلاعات ● فروش اطلاعات یا استفاده نابجای از اطلاعات ● عدم اطمینان از کارایی سرویس و تأخیر در ارتباطاتVPN
نسبت به شبکههای پیادهسازی شده با خطوط استیجاری، در پیادهسازی و
استفاده، هزینه کمتری صرف میکند. اضافه وکم کردن گرهها یا شبکههای محلی
به VPN،
به خاطر ساختار آن، با هزینه کمتری امکانپذیر است. در صورت نیاز به
تغییر همبندی شبکهی خصوصی، نیازی به راهاندازی مجدد فیزیکی شبکه نیست و
به صورت نرمافزاری، همبندی شبکه قابل تغییر است. تونل کشی
مجازی بودن در VPN
به این معناست که شبکههای محلی و میزبانهای متعلق به عناصر اطلاعاتی
یک شرکت که در نقاط مختلف از نظر جغرافیایی قرار دارند، همدیگر را ببینند و
این فاصلهها را حس نکنند. VPNها برای پیادهسازی این خصوصیت از مفهومی به نام تونلکشی(tunneling)استفاده میکنند. در تونلکشی، بین تمامی عناصر مختلف یک VPN، تونل زده میشود. از طریق این تونل، عناصر به صورت شفاف همدیگر را میبینند
در
روش فوق تمام بسته اطلاعاتی در یک بسته دیگر قرار گرفته و از طریق شبکه
ارسال خواهد شد. پروتکل مربوط به بسته اطلاعاتی خارجی ( پوسته ) توسط شبکه و
دو نفطه (ورود و خروج بسته اطلاعاتی )قابل فهم میباشد. دو نقطه فوق را
"اینترفیس های تونل " می گویند. روش فوق مستلزم استفاده از سه پروتکل است :
● پروتکل حمل کننده : از پروتکل فوق شبکه حامل اطلاعات استفاده می نماید. ● پروتکل کپسوله سازی: از پروتکل هائی نظیر: IPSec,L2F,PPTP,L2TP,GRE استفاده میگردد.
پروتکل مسافر: از پروتکل هائی نظیر IPX,IP,NetBeui بمنظور انتقال داده های اولیه استفاده می شود.
مفهوم تونل کشی در VPN
برای تونلکشی بین عناصر یک VPN از مفهومی به نام Encapsulation لفافهبندی بستههای اطلاعاتی استفاده میشود. تمام عناصر یک VPN
دارای آدرسهای اختصاصی هستند. همه این عناصر از آدرسهای اختصاصی یکدیگر
مطلعند و هنگام ارسال داده بین یکدیگر از این آدرسها استفاده میکنند. این
وظیفهی یک VPN
است که بستههای اطلاعاتی را در بستههای انتقالی روی شبکه عمومی
لفافهبندی کند و پس از انتقال امن از محیط ارتباط عمومی، آن بستهها را
از حالت لفافهبندی خارج نموده و با توجه به آدرس قبل از لفافهبندی،
بستهها را به عنصر گیرنده برساند. به این ترتیب ایجاد VPN بر روی یک شبکهی عمومی، با پیادهسازی دو جنبهی خصوصیگری و مجازیگری امکانپذیر است.
عملکرد Tunneling
مشابه حمل یک کامپیوتر توسط یک کامیون است . فروشنده ، پس از بسته بندی
کامپیوتر ( پروتکل مسافر ) درون یک جعبه ( پروتکل کپسوله سازی ) آن را توسط
یک کامیون ( پروتکل حمل کننده ) از انبار خود ( ایترفیس ورودی تونل ) برای
متقاضی ارسال می دارد. کامیون ( پروتکل حمل کننده ) از طریق بزرگراه (
اینترنت ) مسیر خود را طی ، تا به منزل شما ( اینترفیش خروجی تونل ) برسد.
شما در منزل جعبه ( پروتکل کپسول سازی ) را باز و کامپیوتر ( پروتکل مسافر)
را از آن خارج می نمائید.
با استفاده از روش Tunneling می توان عملیات جالبی را انجام داد. مثلا" می توان از بسته ای اطلاعاتی که پروتکل اینترنت را حمایت نمی کندنظیر (NetBeui) درون یک بسته اطلاعاتی IP استفاده و آن را از طریق اینترنت ارسال نمود و یا میتوان یک بسته اطلاعاتی را که از یک آدرس IP غیر قابل رویت ( اختصاصی ) استفاده می نماید ، درون یک بسته اطلاعاتی که از آدرس های معتبر IP استفاده می کند ، مستقر و از طریق اینترنت ارسال نمود.
انواع تونل
تونلها به دو نوع اصلی تقسیم میگردند: اختیاری و اجباری. تونل اختیاری
تونل
اختیاری بهوسیله کاربر و از سمت کامپیوتر کلاینت طی یک عملیات هوشمند،
پیکربندی و ساخته میشود. کامپیوتر کاربر نقطه انتهایی تونل بوده و
بهعنوان تونل کلاینت عمل میکند. تونل اختیاری زمانی تشکیل میشود که
کلاینت برای ساخت تونل به سمت تونل سرور مقصد داوطلب شود.
هنگامیکه کلاینت بهعنوان تونل کلاینت قصد انجام عملیات دارد، پروتکل Tunneling موردنظر باید بر روی سیستم کلاینت نصب گردد. تونل اختیاری میتواند در هریک از حالتهای زیر اتفاق بیفتد:
- کلاینت ارتباطی داشته باشد که بتواند ارسال اطلاعات پوشش گذاری شده را از طریق مسیریابی به سرور منتخب خود انجام دهد .
- کلاینت ممکن است قبل از اینکه بتواند تونل را پیکربندی کند، ارتباطی را از طریق DialUp
برای تبادل اطلاعات برقرار کرده باشد. این معمولترین حالت ممکن است.
بهترین مثال از این حالت، کاربران اینترنت هستند. قبل از اینکه یک تونل
برای کاربران بر روی اینترنت ساخته شود، آنها باید به ISP خود شمارهگیری کنند و یک ارتباط اینترنتی را تشکیل دهند.تونل اجباری
تونل
اجباری برای کاربرانی پیکر بندی و ساخته می شود که دانش لازم را نداشته و
یا دخالتی در ساخت تونل نخواهند داشت. در تونل اختیاری، کاربر، نقطه نهایی
تونل نیست. بلکه یک Device دیگر بین سیستم کاربر و تونل سرور، نقطه نهایی تونل است که بهعنوان تونل کلاینت عمل مینماید.
اگر پروتکل Tunneling
بر روی کامپیوترکلاینت نصب و راه اندازی نشده و در عین حال تونل هنوز مورد
نیاز و درخواست باشد، این امکان وجود دارد که یک کامپیوتر دیگر و یا یک Device شبکه دیگر، تونلی از جانب کامپیوتر کلاینت ایجاد نماید.
این وظیفهای است که به یک متمرکزکننده دسترسی (AC) به تونل، ارجاع داده شده است. در مرحله تکمیل این وظیفه، متمرکزکننده دسترسی یا همان AC باید پروتکل Tunneling مناسب
را ایجاد کرده و قابلیت برقراری تونل را در هنگام اتصال کامپیوتر کلاینت
داشته باشد. هنگامیکه ارتباط از طریق اینترنت برقرار می شود، کامپیوتر
کلاینت یک تونل تأمین شده (NAS (Network Access Service را از طریق ISP احضار میکند.
بهعنوان مثال یک سازمان ممکن است قراردادی با یک ISP داشته باشد تا بتواند کل کشور را توسط یک متمرکزکننده دسترسی بههم پیوند دهد. این AC میتواند
تونلهایی را از طریق اینترنت برقرار کند که به یک تونل سرور متصل باشند و
از آن طریق به شبکه خصوصی مستقر در سازمان مذکور دسترسی پیدا کنند.
این پیکربندی بهعنوان تونل اجباری شناخته میشود، بهدلیل اینکه کلاینت مجبور به استفاده از تونل ساخته شده بهوسیله AC شده
است. یکبار که این تونل ساخته شد، تمام ترافیک شبکه از سمت کلاینت و نیز
از جانب سرور بهصورت خودکار از طریق تونل مذکور ارسال خواهد شد.
بهوسیله این تونل اجباری، کامپیوتر کلاینت یک ارتباط PPP میسازد و هنگامیکه کلاینت به NAS،
از طریق شمارهگیری متصل میشود، تونل ساخته میشود و تمام ترافیک بهطور
خودکار از طریق تونل، مسیریابی و ارسال میگردد. تونل اجباری می تواند
بهطور ایستا و یا خودکار و پویا پیکربندی شود.
تونلهای اجباری ایستا
پیکربندی تونلهای Static معمولاً به تجهیزات خاص برای تونلهای خودکار نیاز دارند. سیستم Tunneling خودکار بهگونهای اعمال میشود که کلاینتها به AC از طریق شمارهگیری (Dialup) متصل
میشوند. این مسأله احتیاج به خطوط دسترسی محلی اختصاصی و نیز تجهیزات
دسترسی شبکه دارد که به اینها هزینههای جانبی نیز اضافه میگردد.
برای مثال کاربران احتیاج دارند که با یک شماره تلفن خاص تماس بگیرند، تا به یک AC متصل شوند که تمام ارتباطات را بهطور خودکار به یک تونل سرور خاص متصل میکند. در طرحهای Tunneling ناحیهای، متمرکزکننده دسترسی بخشی از User Name را که Realm خوانده میشود بازرسی میکند تا تصمیم بگیرد در چه موقعیتی از لحاظ ترافیک شبکه، تونل را تشکیل دهد.تونلهای اجباری پویا
در این سیستم انتخاب مقصد تونل براساس زمانی که کاربر به AC متصل می شود، ساخته میشود. کاربران دارای Realm یکسان، ممکن است تونلهایی با مقصدهای مختلف تشکیل بدهند. البته این امر به پارامترهای مختلف آنها مانند UserName، شماره تماس، محل فیزیکی و زمان بستگی دارد.
تونلهای Dynamic، دارای قابلیت انعطاف عالی هستند. همچنین تونلهای پویا اجازه میدهند که AC بهعنوان یک سیستم Multi-NAS عمل کند، یعنی اینکه همزمان هم ارتباطات Tunneling
را قبول می کند و هم ارتباطات کلاینتهای عادی و بدون تونل را. در صورتی
که متمرکزکننده دسترسی بخواهد نوع کلاینت تماسگیرنده را مبنی بر دارای
تونل بودن یا نبودن از قبل تشخیص بدهد، باید از همکاری یک بانک اطلاعاتی
سود ببرد.
برای اینکار باید AC اطلاعات
کاربران را در بانک اطلاعاتی خود ذخیره کند که بزرگترین عیب این مسأله این
است که این بانک اطلاعاتی به خوبی قابل مدیریت نیست.
بهترین راهحل این موضوع، راهاندازی یک سرور RADIUS است، سروری که اجازه میدهد که تعداد نامحدودی سرور، عمل شناسایی Userهای خود را بر روی یک سرور خاص یعنی همین سرور RADIUS انجام دهند، بهعبارت بهتر این سرور مرکزی برای ذخیره و شناسایی و احراز هویت نمودن کلیه کاربران شبکه خواهد بود.
امنیت در VPN
خصوصی بودن یک VPN بدین معناست که بستهها به صورت امن از یک شبکهی عمومی مثل اینترنت عبور نمایند. برای محقق شدن این امر در محیط واقعی از:
هویتشناسی بستهها، برای اطمینان از ارسال بستهها به وسیله یک فرستندهی مجاز استفاده میشود.
فایروال
. فایروال یک دیواره مجازی بین شبکه اختصای یک سازمان و اینترنت ایجاد می
نماید. با استفاده از فایروال می توان عملیات متفاوتی را در جهت اعمال
سیاست های امنیتی یک سازمان انجام داد. ایجاد محدودیت در تعداد پورت ها
فعال ، ایجاد محدودیت در رابطه به پروتکل های خاص ، ایجاد محدودیت در نوع
بسته های اطلاعاتی و ... نمونه هائی از عملیاتی است که می توان با استفاده
از یک فایروال انجام داد.
رمزنگاری
: فرآیندی است که با استفاده از آن کامپیوتر مبداء اطلاعاتی رمزشده را
برای کامپیوتر دیگر ارسال می نماید. سایر کامپیوترها ی مجاز قادر به
رمزگشائی اطلاعات ارسالی خواهند بود. بدین ترتیب پس از ارسال اطلاعات توسط
فرستنده ، دریافت کنندگان، قبل از استفاده از اطلاعات می بایست اقدام به
رمزگشائی اطلاعات ارسال شده نمایند. سیستم های رمزنگاری در کامپیوتر به دو
گروه عمده تقسیم می گردد : ● رمزنگاری کلید متقارن ● رمزنگاری کلید عمومی
در رمز نگاری " کلید متقارن " هر یک از کامپیوترها دارای یک کلید Secret
(کد) بوده که با استفاده از آن قادر به رمزنگاری یک بسته اطلاعاتی قبل از
ارسال در شبکه برای کامپیوتر دیگر می باشند. در روش فوق می بایست در ابتدا
نسبت به کامپیوترهائی که قصد برقراری و ارسال اطلاعات برای یکدیگر را دارند
، آگاهی کامل وجود داشته باشد. هر یک از کامپیوترهای شرکت کننده در مبادله
اطلاعاتی می بایست دارای کلید رمز مشابه بمنظور رمزگشائی اطلاعات باشند.
بمنظور
رمزنگاری اطلاعات ارسالی نیز از کلید فوق استفاده خواهد شد. فرض کنید قصد
ارسال یک پیام رمز شده برای یکی از دوستان خود را داشته باشید. بدین منظور
از یک الگوریتم خاص برای رمزنگاری استفاده می شود .در الگوریتم فوق هر حرف
به دوحرف بعد از خود تبدیل می گردد.(حرف A به حرف C ، حرف B به حرف( D
پس از رمزنمودن پیام و ارسال آن، میبایست دریافت کننده پیام به این حقیقت
واقف باشد که برای رمزگشائی پیام لرسال شده ، هر حرف به دو حرق قبل از خود
می بایست تبدیل گردد.
در چنین حالتی می بایست به دوست امین خود ،
واقعیت فوق ( کلید رمز ) گفته شود. در صورتیکه پیام فوق توسط افراد دیگری
دریافت گردد ، بدلیل عدم آگاهی از کلید ، آنان قادر به رمزگشائی و استفاده
از پیام ارسال شده نخواهند بود.
در
رمزنگاری عمومی از ترکیب یک کلید خصوصی و یک کلید عمومی استفاده می شود.
کلید خصوصی صرفا" برای کامپیوتر شما ( ارسال کننده) قابل شناسائی و استفاده
است . کلید عمومی توسط کامپیوتر شما در اختیار تمام کامپیوترهای دیگر که
قصد ارتباط با آن را داشته باشند ، گذاشته می شود. بمنظور رمزگشائی یک پیام
رمز شده ، یک کامپیوتر می بایست با استفاده از کلید عمومی ( ارائه شده
توسط کامپیوتر ارسال کننده ) ، کلید خصوصی مربوط به خود اقدام به رمزگشائی
پیام ارسالی نماید . با استفاده از روش فوق می توان اقدام به رمزنگاری
اطلاعات دلخواه خود نمود.در جدول ذیل می توان این مراحل را بررسی نمود:
معماریهای VPN
سایت به سایت (Site-to-Site):
تبادل اطلاعات به صورت امن، بین دو شعبهی مختلف از یک سازمان میتواند از طریق شبکه عمومی و به صورت مجازی، به فرم شبکهی محلی-به-شبکهی محلی صورت گیرد. هدف از این نوع معماری، این است که تمامی رایانههای متصل به شبکههای محلیِ مختلفِ موجود در یک سازمان، که ممکن است از نظر مسافت بسیار از هم دور باشند، به صورت مجازی، به صورت یک شبکه محلی دیده شوند و تمامی رایانههای موجود در این شبکهی محلی مجازی بتوانند به تمامی اطلاعات و کارگزارها دسترسی داشته باشند و از امکانات یکدیگر استفاده نمایند. در این معماری، هر رایانه تمامی رایانههای موجود در شبکهی محلی مجازی را به صورت شفاف مشاهده مینماید و قادر است از آنها استفادهی عملیاتی و اطلاعاتی نماید. تمامی میزبانهای این شبکهی مجازی دارای آدرسی مشابه میزبانهای یک شبکهی محلی واقعی هستند.
شبکهی محلی-به-شبکهی محلی مبتنی بر اینترانت :
در صورتیکه سازمانی دارای یک و یا بیش از یک محل ( راه دور) بوده و تمایل
به الحاق آنها در یک شبکه اختصاصی باشد ، می توان یک اینترانت VPN را بمنظور برقرای ارتباط هر یک از شبکه های محلی با یکدیگر ایجاد نمود.
شبکهی محلی-به-شبکهی محلی مبتنی بر اکسترانت : در مواردیکه سازمانی در تعامل اطلاعاتی بسیار نزدیک با سازمان دیگر باشد ، می توان یک اکسترانت VPN
را بمنظور ارتباط شبکه های محلی هر یک از سازمانها ایجاد کرد. در چنین
حالتی سازمانهای متعدد قادر به فعالیت در یک محیط اشتراکی خواهند بود.دستیابی از راه دور (Remote-Access) :
حالت
خاص معماری شبکهی محلی-به-شبکهی محلی، ساختار میزبان-به-شبکهی محلی
است که در آن، یک کاربر مجاز (مانند مدیر شرکت که از راه دور کارهای اداری
و مدیریتی را کنترل می کند و یا نمایندهی فروش شرکت که با شرکت ارتباط
برقرار کرده و معاملات را انجام میدهد) میخواهد از راه دور با یک شبکه
محلی که پردازشگر اطلاعات خصوصی یک شرکت است و با پایگاه دادهی شرکت در
تماس مستقیم است، ارتباط امن برقرار نماید. در این ارتباط در واقع میزبان
راه دور به عنوان عضوی از شبکهی محلی شرکت محسوب میشود که قادر است از
اطلاعات و کارگزارهای موجود در آن شبکه محلی استفاده نماید. از آنجا که
این یک ارتباط دوطرفه نیست، پس میزبانهای آن شبکه محلی، نیازی به برقراری
ارتباط با میزبان راه دور ندارند. در صورت نیاز به برقراری ارتباط شبکهی
محلی با میزبان راه دور، باید همان حالت معماری شبکهی محلی-به-شبکهی
محلی پیادهسازی شود. در این معماری برقراری ارتباط همواره از سوی میزبان
راه دور انجام میشود.
سازمانهائی که تمایل به برپاسازی یک شبکه بزرگ "
دستیابی از راه دور " می باشند ، می بایست از امکانات یک مرکز ارائه دهنده
خدمات اینترنت جهانی ISP(Internet service provider) استفاده نمایند. سرویس دهنده ISP ، بمنظور نصب و پیکربندیVPN ، یک NAS(Network access server)
را پیکربندی و نرم افزاری را در اختیار کاربران از راه دور بمنظور ارتباط
با سایت قرار خواهد داد. کاربران در ادامه با برقراری ارتباط قادر به
دستیابی به NAS و استفاده از نرم افزار مربوطه بمنظور دستیابی به شبکه سازمان خود خواهند بود.
میزبان-به-میزبان:
معماری دیگری که وجود دارد، ساختار میزبان-به-میزبان میباشد. در این
معماری، دو میزبان با هم ارتباط امن دارند. بدلیل تفاوتهای این معماری با
دو معماری فوق (مناسب بودن این همبندی برای ارتباطات شخصی و نه شرکتی،
برقراری ارتباط یک میزبان با اینترنت بدون دیوارهی آتش و قرار نگرفتن یک
شبکهی محلی پشت یک دیوارهی آتش) این معماری استفادهی عملیاتی و تجاری
کمتری دارد.
تکنولوژی های VPN با توجه به نوع) VPN "دستیابی از راه دور " و یا " سایت به سایت " ) ، بمنظور ایجاد شبکه از عناصر خاصی استفاده می گردد:
- نرم افزارهای مربوط به کاربران از راه دور
- سخت افزارهای اختصاصی نظیر یک " کانکتور VPN" و یا یک فایروال PIX
- سرویس دهنده اختصاصی VPN بمنظور سرویُس های Dial-up
- سرویس دهنده NAS که توسط مرکز ارائه خدمات اینترنت بمنظور دستیابی به VPN از نوع "دستیابی از را دور" استفاده می شود.
- کانکتور VPN . سخت افزار فوق توسط شرکت سیسکو طراحی و عرضه شده است. کانکتور فوق در مدل های متفاوت و قابلیت های گوناگون عرضه شده است .
- روتر مختص VPN
. روتر فوق توسط شرکت سیسکو ارائه شده است . این روتر دارای قابلیت های
متعدد بمنظور استفاده در محیط های گوناگون است . - در طراحی روتر فوق شبکه
های VPN نیز مورد توجه قرار گرفته و امکانات مربوط در آن بگونه ای بهینه سازی شده اند.
- فایروال PIX . فایروال PIX(Private Internet exchange) قابلیت هائی نظیرNAT، سرویس دهنده Proxy ، فیلتر نمودن بسته ای اطلاعاتی، فایروال وVPN را در یک سخت افزار فراهم نموده است
- با توجه به اینکه تاکنون یک استاندارد قابل قبول و عمومی بمنظور ایجاد شVPN ایجاد نشده است ، شرکت های متعدد هر یک اقدام به تولید محصولات اختصاصی خود نموده اند. قراردادهای موجود در پیادهسازی VPN o ردهی بستهگرا Packet Oriented
لفافهبندی روی بستهها اِعمال میشود. اکثر پیادهسازیهای تجاری و غیرتجاری VPN، بستهگرا میباشند. این قرارداد از قرارداد PPP برای بستهبندی اطلاعات استفاده مینماید. این نوع قراردادها در مدل استاندارد لایهبندی شبکهی OSI، در سطح لایههای دوم و سوم قرار دارند. بنابراین، امکان تونلکشی برای دسترسی راه دور وجود دارد.
ردهی کاربردگرا Application Oriented
در قراردادهای کاربردگرا، اعمال رمزنگاری اطلاعات و هویتشناسی کاربران انجام میشود. این نوع قراردادها در مدل پشتهای شبکهی OSI در لایههای چهارم به بالا قرار دارند و چون آدرسدهی شبکهها و میزبانها در لایهی سومِ مدلِ پشتهای شبکهی OSI
امکانپذیر است، این نوع قراردادها امکان تونلکشی بین میزبان و شبکهی
محلی یا بین دو شبکهی محلی را فراهم نمیکنند. با توجه به عدم امکان
تونلکشی در قراردادهای این رده، توانایی ایجاد شبکههای مجازی در
قراردادهای این رده وجود ندارد و از این قراردادها برای ایجاد شبکههای
خصوصی استفاده میشود. البته میتوان برای مخفیسازی آدرسهای شبکهی
محلی، از امکان ترجمهی آدرس شبکه(NAT) که در اکثر دیوارههای آتش وجود دارد، استفاده نمود. با این روش میتوان بعضی از قابلیتهای تونلکشی را برای قراردادهای VPN کاربردگرا ایجاد کرد.
قراردادهای کاربردگرای VPN
قراردادهای:SSH
کاربرد اصلی قرارداد SSH، امن نمودن خدمت ارتباط از راه دور است. این قرارداد در لایهی کاربرد و بالاتر از قرارداد TCP/IP کار میکند. SSH قابلیت هویتشناسی کاربران ورمزنگاری اطلاعات را دارد. قرارداد SSH
دارای سه لایهی اصلی انتقال، هویتشناسی کاربر و اتصال میباشد. لایهی
انتقال، وظیفهی فراهم آوردن امنیت و هویتشناسی کارگزار را بهعهده دارد.
به علت قرار گرفتن این لایه بر روی لایهی TCP و همچنین وجود حفرهی امنیتی در لایههای TCP و IP،
امنیت در ارتباط بین دو کامپیوتر از بین خواهد رفت، که میتوان با قرار
دادن دیوارهی آتش بر روی آن، این مشکل را به نوعی حل نمود. لایهی
هویتشناسی کاربر، وظیفهی شناساندن کارفرما به کارگزار را به عهده دارد.
لایهی اتصال وظیفهی تسهیم و ایجاد کانالهای امن لایههای انتقال و هویتشناسی را بر عهده دارد. از قرارداد SSH میتوان برای پیادهسازی شبکههای خصوصی که حالت خاصی از VPNها هستند، استفاده نمود. قرار داد SOCKS قرارداد SOCKS در مدل لایهبندی شبکه OSI
درلایهی پنجم بصورت کارفرما و کارگزار پیادهسازی شده است این قرارداد
دارای امکان رمزنگاری اطلاعات نیست ولی بدلیل داشتن امکان هویتشناسی چند
سطحی و امکان مذاکره بین کارفرما وکارگزار SOCKS(Negotiate Capability)، میتوان از آن برای پیادهسازی قراردادهای رمزنگاری موجود، از آن استفاده نمود. SOCKS، به صورت Circuit-Level Proxy پیاده سازی شده است. یعنی، کارفرما و کارگزار SOCKS
در دروازههای دو شبکه محلی، اعمال هویتشناسی و مذاکرههای لازم را
انجام میدهند و سپس ارتباطات میزبانهای دو شبکه محلی با یکدیگر انجام
میشود. چون کارفرمای SOCKS مثل یک Proxy عمل مینماید، میتوان برای امنیت بیشتر، به میزبانهای شبکهی محلی، آدرسهای نامعتبر اختصاص داد و با ترجمه آدرس شبکه (NAT) که در کارگزار SOCKS
انجام میشود، این آدرسهای نامعتبر را به آدرس معتبر و بالعکس تبدیل
نمود. با این روش میتوان شبکه محلی را از یک شبکه عمومی مخفی نمود.
قراردادهای ردهی بستهگرای VPN
Simple Key Management for Internet Protocol SKIP :
یک قرارداد مدیریت کلید است ولی با توجه به اینکه این قرارداد امکانات تونلکشی را نیز ارائه میدهد، میتوان آنرا به عنوان یک قرارداد پیادهسازی VPN در نظر گرفت. این قرارداد در سطح لایهی سوم OSI کار میکند.
Layer 2 Tunneling Protocol L2TP:
یک مکانیزم تونلکشی است که از ترکیب مکانیزمهای PPTP وL2F به منظور بهرهوری از محاسن هر دو قرارداد به وجود آمده است و از قرارداد PPP برای بستهبندی اطلاعات استفاده میکند.
از پروتکل فوق بمنظور ایجاد تونل بین موارد زیر استفاده می گردد :● سرویس گیرنده و روتر● NAS و روتر● روتر و روتر
Layer Two Filtering L2F :
این قرارداد مانند PPTP یک قرارداد تونلکشی در لایهی دوم است که توسط شرکت Cisco ارائه شده و بوسیلهی بعضی از شرکتها نظیر Telecom حمایت میشود.
Point to Point Tunneling Protocol PPTP:
یک مکانیزم تونلکشی نقطه به نقطه است که برای دسترسی راه دور به کارگزار سختافزاری Ascend و ویندوز NT طراحی شده است.در این قراداد، امکان رمزنگاری و هویتشناسی پیشبینی نشده و ازقرارداد PPPبرای بستهبندی اطلاعات استفاده میشود.قراردادPPP
ارتباط تلفنی یک میزبان به شبکهی محلی را فراهم میآورد و وظیفهی
لایهی پیوند داده و لایهی فیزیکی را هنگام ارتباط تلفنی میزبان به فراهم
آورندهی سرویس اینترنت(ISP)، انجام میدهد قراردادPPTP در کاربردهای کوچک و کاربردهایی که نیاز به امنیت خیلی بالایی ندارند، استفاده میشود.راهاندازیVPN با استفاده از قرارداد PPTP در این محیطها کمهزینه و مقرون بصرفه است. قرارداد PPTP دارای قابلیت پیادهسازیVPN شبکهی محلی-بهشبکهی محلی نیز میباشد
این پروتکل امکان رمزنگاری 40 بیتی و 128 بیتی را دارا بوده و از مدل های تعیین اعتبار کاربر که توسط PPP حمایت شده اند ، استفاده می نماید.
Ipsec IP Security protocol :
Ipsec برخلافPPTP و L2TP
روی لایه شبکه یعنی لایه سوم کار می کند . این پروتکل داده هایی که باید
فرستاده شود را همراه با همه اطلاعات جانبی مانند گیرنده و پیغام های وضعیت
رمز گذاری کرده و به آن یک IP Header معمولی اضافه کرده و به آن سوی تونل می فرستد .
کامپیوتری که در آن سو قرار دارد IP Header را جدا کرده ، داده ها را رمز گشایی کرده و آن را به کامپیوتر مقصد می فرستد .Ipsec را می توان با دو شیوه Tunneling
پیکر بندی کرد . در این شیوه انتخاب اختیاری تونل ، سرویس گیرنده نخست یک
ارتباط معمولی با اینترنت برقرار می کند و سپس از این مسیر برای ایجاد
اتصال مجازی به کامپیوتر مقصد استفاده می کند . برای این منظور ، باید روی
کامپیوتر سرویس گیرنده پروتکل تونل نصب شده باشد . معمولا” کاربر اینترنت
است که به اینترنت وصل می شود . اما کامپیوترهای درون LAN هم می توانند یک ارتباط VPN برقرا کنند . از آنجا که ارتباط IP از پیش موجود است تنها برقرار کردن ارتباط VPN کافی است . در شیوه تونل اجباری ، سرویس گیرنده نباید تونل را ایجاد کند بلکه این کار ار به عهده فراهم ساز (Service provider ) است . سرویس گیرنده تنها باید به ISP وصل شود . تونل به طور خودکار از فراهم ساز تا ایستگاه مقصد وجود دارد . البته برای این کار باید همانگی های لازم با ISP انجام بگیرد .ٍ
ویژگی های امنیتی در IPsec Ipsec از طریق(Authentication Header) AH مطمئن می شود که Packet های دریافتی از سوی فرستنده واقعی ( و نه از سوی یک نفوذ کننده که قصد رخنه دارد ) رسیده و محتویات شان تغییر نکرده . AH اطلاعات مربوط به تعیین اعتبار و یک شماره توالی (Sequence Number ) در خود دارد تا از حملات Replay جلوگیری کند . اما AH رمز گذاری نمی شود . رمز گذاری از طریق Security Encapsulation) Header) ESH انجام می گیرد . در این شیوه داده های اصلی رمز گذاری شده و VPN اطلاعاتی را از طریق ESH ارسال می کند . ESH همچنین کارکرد هایی برای تعیین اعتبار و خطایابی دارد . به این ترتیب دیگر به AH نیازی نیست . برای رمز گذاری و تعیین اعتبار روش مشخص و ثابتی وجود ندارد اما با این همه ، IEEE برای حفظ سازگاری میان محصولات مختلف ، الگوریتم های اجباری برای پیاده سازی Ipsec تدارک دیده . برای نمونه می توان به MD5 ، DES یا Secure Hash Algorithm اشاره کرد . مهمترین استانداردها و روش هایی که در Ipsec به کار می روند عبارتند از : Daffier - Hellmann برای مبادله کلید ها میان ایستگاه های دو سر ارتباط .
رمز گذاری Public Key برای ثبت و اطمینان از کلیدهای مبادله شده و همچنین اطمینان از هویت ایستگاه های سهیم در ارتباط .
الگوریتم های رمز گذاری مانند DES برای اطمینان از درستی داده های انتقالی .
الگوریتم های درهم ریزی ( Hash ) برای تعیین اعتبار تک تک Packet ها .
امضاهای دیجیتال برای تعیین اعتبارهای دیجیتالی . جریان یک ارتباط Ipsec بیش از آن که دو کامپیوتر بتوانند از طریق Ipsec داده ها را میان خود جابجا کنند باید یکسری کارها انجام شود:o نخست
باید ایمنی برقرار شود . برای این منظور ، کامپیوترها برای یکدیگر مشخص می
کنند که آیا رمز گذاری ، تعیین اعتبار و تشخیص خطا یا هر سه آنها باید
انجام بگیرد یا نه . o سپس الگوریتم را مشخص می کنند ، مثلا” DEC برای رمزگذاری و MD5 برای خطایابی. o در گام بعدی ، کلیدها را میان خود مبادله می کنند . 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 تکیه می کند برای ایجاد SA هر دو کامپیوتر باید نخست تعیین اعتبار شوند . در حال حاضر برای این کار از راه های زیر استفاده می شود : oاPre shared keys: روی هر دو کامپیوتر یک کلید نصب می شود که IKE از روی آن یک عدد Hash
ساخته و آن را به سوی کامپیوتر مقصد می فرستد . اگر هر دو کامپیوتر
بتوانند این عدد را بسازند پس هر دو این کلید دارند و به این ترتیب تعیین
هویت انجام می گیرد . o رمز گذاری Public Key
: هر کامپیوتر یک عدد تصادفی ساخته و پس از رمز گذاری آن با کلید عمومی
کامپیوتر مقابل ، آن را به کامپیوتر مقابل می فرستد .اگر کامپیوتر مقابل
بتواند با کلید شخصی خود این عدد را رمز گشایی کرده و باز پس بفرستد برا ی
ارتباط مجاز است . در حال حاضر تنها از روش RSA برای این کار پیشنهاد می شود . o
امضاء دیجیتال: در این شیوه،هرکامپیوتر یک رشته داده را علامت
گذاری(امضاء)کرده و به کامپیوتر مقصد می فرستد. درحال حاضر برای این کار از
روش های RSA و(DSS ( Digital Signature Standard
استفاده می شود . برای امنیت بخشیدن به تبادل داده ها باید هر دو سر ارتبا
طنخست بر سر یک یک کلید به توافق می رسند که برای تبادل داده ها به کار می
رود . برا ی این منظور می توان همان کلید به دست آمده از طریق Daffier Hellmann را به کاربرد که سریع تر است یا یک کلید دیگر ساخت که مطمئن تر است.