VPN یا Virtual Private Network شبکههایی خصوصی هستند که در محیط اینترنت ساخته میشوند.
فرض کنید که شرکت یا سازمانی دارای شعب گوناگونی در سطح یک کشور باشد.
اگر این سازمانی بخواهد که شبکههای داخلی شعب خود را بهیکدیگر متصل کند، چه گزینههایی پیشرو خواهد داشت؟
بهطور معمول یکی از سادهترین راهحلها، استفاده از اینترنت خواهد بود.
اما چگونه چنین سازمانی میتواند منابع شبکههای LAN درون سازمانی خود را در محیط نا امن اینترنت بین شعب خود به اشتراک بگذارد؟
از طرف دیگر استفاده از ارتباطات تلفنی راهدور و یا خطوط استیجاری (leased line) نیز هزینههای بسیار سنگینی دارند.
در نتیجه نمیتوان از چنین روشهایی بهطور دائم برای اتصال مثلاً چاپگر دفتر مرکزی به سیستمهای شعب راهدور استفاده کرد.
VPNها راهحلی هستند که سازمانها و مراکز دیگر میتوانند بهکمک آن شبکههای LAN شعب گوناگون خود را از طریق شبکه اینترنت ( البته با حفظ امنیت) به یکدیگر متصل سازند.
در طراحی شبکههای VPN، مسائل متنوعی مطرح هستند که هر یک از آنها تاثیر زیادی بر پارامترهای اساسی شبکههای VPN بر جای میگذارند.
فاکتورهایی همچون مقیاسپذیری و Interoperability یا سازگاری علاوه بر کارایی و امنیت شبکهها، ویژگیهایی هستند که طرحهای گوناگون VPNها را از یکدیگر متمایز میسازند.
طراحان شبکههای VPN باید به مواردی از قبیل وجود دیوارههای آتش، مسیریابها و Netmask و بسیاری از عوامل دیگر توجه کافی داشته باشند.
شناخت کافی و صحیح از توپولوژی شبکه منجر به تشخیص صحیح نقل و انتقالات بستههای اطلاعاتی و در نتیجه درک نقاط ضعف و آسیبپذیر شبکهها و مسائل دیگری از این دست خواهد شد.
در این نوشته سعی شده است که علاوه بر موارد فوق، به موضوعاتی مانند نگهداری از شبکه و کارایی آن نیز پرداخته شود .
Gateway یا دروازه
میدانیم که شبکههای VPN قابلیت اتصال شبکههای گوناگون را بهیکدیگر دارند و در این زمینه سناریوهای متفاوتی مانند host-network و یاnetwork-network مطرح شدهاند.
در تمامی شبکههای VPN، از دو میزبان برای انجام امور encryption/decryption در ترافیک شبکه VPN استفاده میشود که به نقاط پایانی (end point) شبکههای VPN معروف شدهاند.
زمانی که یکی از این نقاط و یا هردوی آنها، دسترسی به شبکهای از ماشینهای دیگر داشته باشند، به آن میزبان مربوطه یک دروازه یا Gateway گفته میشود.
مفهوم Gateway یکی از مفاهیم و کلیدواژههای استاندارد در بین اصطلاحات شبکه تلقی میشود.
به عنوان مثال، مسیریابی که یک سازمان را به ISP خود متصل میسازد، یک دروازه محسوب میشود.
البته بر حسب موضوع میتوان به همان مسیریابی که تمام ترافیک شبکه از آن عبور میکند، دیوارهآتش نیز نام داد.
در اصطلاح VPN، به چنین دروازهای یک نقطه پایانی گفته میشود که در ابتدای شبکه واقع شده است و دسترسی به VPN را فراهم میآورد.
طراحان VPN برای تفکیک سناریوهای گوناگون از یکدیگر، از اصطلاحاتی مانند host-to-host ،host-to-gateway و یاgateway-to-gateway استفاده میکنند.
اصطلاح نخست، بیان کننده نقطه پایانی VPN است (صرفنظر از آنکه آن نقطه یک میزبان است یا یک gateway) عبارات دوم و سوم به توصیف کننده نوع اتصال هستند که میتواند یک میزبان دیگر و یا یک شبکه دیگر باشد.
خلاصه آنکه زمانی که گفته میشود که شبکه VPN برای اتصال 192.168.1.0 به 192.168.2.0 آرایش شده است (یعنی از 192.168.1.0 تا 192.168.2.0)، منظور آن است که قرار است دو شبکه به یکدیگر ارتباط یابند.
در این مثال میتوانید فرض کنید که هر یک از این شبکههای دارای دروازهای هستند که توسط نشانیهای 192.168.1.1 و
192.168.2.1 شناسایی میشوند و مسئول انتقال ترافیک به شبکههای خود هستند.
یک مثال
برای کمک به درک بهتر سناریوهای مطرح شده، از یک مثال ساده network-network استفاده میکنیم (شکل 1).
همانطور که در شکل دیده میشود، سناریوی شبکه- شبکه نمایش داده شده، شامل دو شبکه در شهرهای متفاوت است.
در این تصویر شبکه شهر الف با 24/192.168.2.0 شناسایی میشود.
در این شبکه سیستمی بهنام Bears با نشانی IP بهصورت 192.168.1.1 نقش سرور VPN یا gateway را ایفا میکند.
در سمت دیگر نیز شبکه شهر ب دارای آرایش مشابهی است و سیستم Falcon درآن در نشانی 192.168.2.1 در نقش VPN server/Gateway ظاهر شده است.
هر دو شبکه از آدرسدهی در ناحیه شبکه خصوصی private network بر اساس مشخصه RFC 1918 بهره میبرند.
در تصویر شماره یک، نشانیهای خارج از این دو شبکه (مثلاً 280.8.8.8 و 270.7.7.7) نشانیهای مسیریابی اینترنتی (Internet-routable) فرضی هستند که هر یک از ماشینها برای ارتباط حقیقی بین خود، ازآن استفاده میکنند.
نشانیهای اینترنتی خارجی
ممکن است که از دیدن نشانیهای 280.8.8.8 و نشانی دیگر که در مثال فوق از آن استفاده شده، تعجب کرده باشید.
چنین نشانیهایی صحیح نیستند و همانطور که میدانید، هر یک از بخشهای نشانیهای IP صحیح در ناحیهای بین صفر تا 255 واقع هستند.
در این شبکه، قصد طراح چنین بوده است که از نشانیهای واقعی قابل مسیریابی اینترنتی استفاده نشود، تا بر اثر اشتباه تایپی امکان برقراری یک ارتباط VPN با سیستم خارجی ناشناس وجود نداشته باشد.
در نتیجه در طرحهایی که در عمل ارئه میشوند، دو راه متصور خواهد بود:
● یا باید ازIPهای اختصاصی به عنوان IPهای خارجی استفاده شود، که به معنی آن خواهد بود که کاربر باید چنین نشانیهایی را با نشانیهای واقعی قابل مسیریابی اینترنتی تعویض کند.
اشاره : VPN یا Virtual Private Network شبکههایی خصوصی هستند که در محیط اینترنت ساخته میشوند.
در این نوشته سعی شده است که علاوه بر موارد فوق، به موضوعاتی مانند نگهداری از شبکه و کارایی آن نیز پرداخته شود .Gateway یا دروازه میدانیم که شبکههای VPN قابلیت اتصال شبکههای گوناگون را بهیکدیگر دارند و در این زمینه سناریوهای متفاوتی مانند host-network و یاnetwork-network مطرح شدهاند.
مفهوم Gateway یکی از مفاهیم و کلیدواژههای استاندارد در بین اصطلاحات شبکه تلقی میشود.
طراحان VPN برای تفکیک سناریوهای گوناگون از یکدیگر، از اصطلاحاتی مانند host-to-host ،host-to-gateway و یاgateway-to-gateway استفاده میکنند.
خلاصه آنکه زمانی که گفته میشود که شبکه VPN برای اتصال 192.168.1.0 به 192.168.2.0 آرایش شده است (یعنی از 192.168.1.0 تا 192.168.2.0)، منظور آن است که قرار است دو شبکه به یکدیگر ارتباط یابند.
در این مثال میتوانید فرض کنید که هر یک از این شبکههای دارای دروازهای هستند که توسط نشانیهای 192.168.1.1 و 192.168.2.1 شناسایی میشوند و مسئول انتقال ترافیک به شبکههای خود هستند.
یک مثال برای کمک به درک بهتر سناریوهای مطرح شده، از یک مثال ساده network-network استفاده میکنیم (شکل 1).
در این تصویر شبکه شهر الف با 24/192.168.2.0 شناسایی میشود.
در سمت دیگر نیز شبکه شهر ب دارای آرایش مشابهی است و سیستم Falcon درآن در نشانی 192.168.2.1 در نقش VPN server/Gateway ظاهر شده است.
هر دو شبکه از آدرسدهی در ناحیه شبکه خصوصی private network بر اساس مشخصه RFC 1918 بهره میبرند.
نشانیهای اینترنتی خارجی ممکن است که از دیدن نشانیهای 280.8.8.8 و نشانی دیگر که در مثال فوق از آن استفاده شده، تعجب کرده باشید.
چنین نشانیهایی صحیح نیستند و همانطور که میدانید، هر یک از بخشهای نشانیهای IP صحیح در ناحیهای بین صفر تا 255 واقع هستند.
در این شبکه، قصد طراح چنین بوده است که از نشانیهای واقعی قابل مسیریابی اینترنتی استفاده نشود، تا بر اثر اشتباه تایپی امکان برقراری یک ارتباط VPN با سیستم خارجی ناشناس وجود نداشته باشد.
در نتیجه در طرحهایی که در عمل ارئه میشوند، دو راه متصور خواهد بود: ● یا باید ازIPهای اختصاصی به عنوان IPهای خارجی استفاده شود، که به معنی آن خواهد بود که کاربر باید چنین نشانیهایی را با نشانیهای واقعی قابل مسیریابی اینترنتی تعویض کند.
● راه دوم آن است که از نشانیهایی بهصورت W.X.Y.Z به عنوان نشانیخارجی بهگونهای استفاده شود که آن w عددی بزرگتر از 255 و در نتیجه نشانی اینترنتی غیر موجه باشد.
سناریوی شبکه- شبکه (network-network) فوق را میتوان تنها با یک تغییر بهگونهای تغییر داد که تبدیل به شبکهای host-network گردد.
برای اینکار کافی است که رابط اترنت eth0 و تمام شبکه 24/192.168.2.0 را از سیستم Bears برداریم و Bears را به سیستم Falcon متصل سازیم.
به همین طریق میتوان سناریوی host-network را با برداشتن رابط eth1 و شبکه 24/192.168.2.0 از روی سیستم Falcon و تبدیل سیستمهای Bears و Falcon به تنها سیستمهایی که در VPN قرار دارند، به سناریوی host-host تبدیل ساخت.
البته باید توجه داشت که قبل از هرگونه تصمیمگیری در مورد نوع VPN مناسب، باید ابتدا نیازمندیها با دقت تعیین و تعریف شوند.
در ادامه این مقاله چنین ملاحظاتی را مورد نظر قرار خواهیم داد.
توزیع کلیدها a موضوعKey distribution در بین کلاینتهای VPN و سرورهای شبکه یکی از نخستین مواردی هستند که باید در نظر گرفته شوند.
توزیع کلیدها میتواند شامل دو نوع Key باشد.یعنی کلیدهای متقارن و نامتقارن (symmetric / asymmetric).
انتقال ایمن کلیدها یکی از مهمترین موضوعاتی است که باید رعایت گردد.
در بهترین شرایط شما باید قادر باشید که از کانال فیزیکی خارج از شبکه که ایمن هم باشد برای دسترسی به هر دو سیستمها بهره ببرید و تنظیم کلیدها را خود بر عهده گیرید.
البته در عمل و بسیاری از موارد چنین امکانی وجود نخواهد داشت.
در صورتیکه شما ناگزیر به توزیع کلیدهای متقارن از راه دور هستید، حداقل اطمینان حاصل کنید که از پروتکلهای ایمنی همچون، SFTP-SCP-SSL/TLS استفاده کنید.
بهخاطر داشته باشید که پروتکلهایی مانند Telnet یا FTP به هیچ وجه امن نیستند و در صورتیکه از چنین روشهایی برای توزیع کلیدها استفاده کنید، به معنی آن خواهد بود که کلیدهای خود را تقدیم هکرها کردهاید.
شاید حتی مناسبتر باشد که از یک متخصص ویژه و یا یکی از کارمندان خود برای سفر به سایت راه دور و انتقال کلیدها از طریق دیسکت استفاده کنید.
بحث کلیدهای نامتقارن ( که شامل یک جفت کلید عمومی و خصوصی هستند)، موضوعی کاملاً متفاوت است.
در این موارد، میتوان کلید عمومی را بدون نگرانی از بابت امنیت، از روشهای معمولی مانند FTP و یا حتی از طریق پست الکترونیک، انتقال داد.
کلیدهای عمومی بهخودی خود اطلاعات با ارزشی را نمیتوانند به هکرها انتقال دهند که از آن بتوان برای نفوذ به شبکه VPN بهرهبرداری کرد.
در این روش، وضعیت بهگونهای است که پس از دریافت کلید عمومی، کاربر آن را بهکمک نرمافزار VPN نصب کرده و پس از این مرحله از مدیریت شبکه راه دور در سمت مقابل شبکه VPN میخواهد تا کلید را با صدای بلند بخواند.
در این سناریو، در صورتیکه کلید بهگونهای انتقال داده شود که امکان دستکاری آن توسط هکر فرضی وجود داشته باشد، آنگاه شبکه VPN شما در معرض خطری قرار میگیرد که اصطلاحاً به آن حمله man-in-the-middle گفته میشود.
بهطور خلاصه، انتقال ایمن کلید مهمترین فاکتور امنیت یک شبکه محسوب میشود.
مقیاسپذیری شبکههای VPN هم مانند تمامی بخشهای دیگر ابرساختار شبکه، باید قابلیت تطابق با ترافیک کاری امور اداری یا تجاری سازمانها را دارا باشد و بتواند با تغییر مقیاسهای سازمانی هماهنگ گردد.
در صورتیکه از شبکه VPN برای اتصال دفتر مرکزی یک سازمان به شعب راهدور آن بهره گرفته شود و به عبارت دیگر طرح توسعه محدودی برای آن در نظر گرفته شده باشد، احتمالاً چندان درگیر موضوعمقیاسپذیری (Scalability) نخواهید بود.
دلیل این مطلب آن است که اکثر تکنولوژیهای VPN تا حدودی میتوانند پاسخگوی نیازمندیهای توسعه سازمانی باشند.
اما اگر قرار باشد از شبکه VPN در یک ساختار سازمانی بزرگ استفاده شود و کاربران زیادی بخواهند از VPN بهرهبرداری کنند، آنگاه موضوع مقیاسپذیری تبدیل به یکی از موارد اصلی در فهرست موضوعات با اهمیت خواهد شد.
برای تعریف مقیاسپذیری از سه مورد نام برده میشود: ● قابلیت پشتیبانی از اتصالات بیشتر ● سهولت نگهداری و پشتیبانی ● هزینه پارامترهای فوق تا حد زیادی به نوع و طراحی VPN وابسته هستند.
از طرف دیگر توپولوژی انتخاب شده برای شبکه VPN تعیین کنندهترین فاکتور سنجش مقیاسپذیری محسوب میشود.
توپولوژی ستارهای در ادامه یک شبکه VPN نمونه از نوع network-network را بررسی خواهیم کرد که در طراحی آن از توپولوژی ستارهای استفاده شده است.
در توپولوژی ستاره، هر یک از سایتهای راهدور دارای یک ارتباط VPN با هاب VPN مرکزی هستند.
هاب VPN مرکزی باید قابلیت پشتیبانی از تعداد n ارتباط VPN را داشته باشد که در اینجا تعداد n برابر است با تعداد سایتهای راهدور.
در چنین شبکهای هر جفت از سیستمهایی که قصد ارتباط با یکدیگر را داشته باشند، باید ترافیک خود را بهصورت ایمن از بین هاب مرکزی به مقصد نهایی هدایت کنند.
مزیت اصلی چنین مدلی در آن است که اضافه کردن سایتهای جدید (در واقع توسعه پذیری) در چنین آرایشی بسیار سرراست است.
اما نقاظ ضعف این آرایش را میتوان بهصورت زیر برشمرد: ● در شبکههای VPN از نوع ستارهای، یک نقطه آسیبپذیر مرکزی وجود دارد که در صورت از کار افتادن آن، کل شبکه از کار خواهد ایستاد.
● در صورتیکه کارایی در سیستم هاب مرکزی دچار اشکال و نقص شود، در آن صورت کارایی در تمام سیستمهای VPN راه دور نیز دچار مشکل خواهند شد.
● اشکال دیگر آرایشهای ستارهای آن است که حتی دو سیستم که از نظر جغرافیایی نیز بهیکدیگر نزدیک هستند، باز هم باید از ارسال و دریافت بستههای داده از طریق هاب مرکزی برای ارتباطات بین خود کمک بگیرند.
البته بسیاری از طراحان شبکههای VPN با آرایش ستارهای، بسیاری