حفظ امنیت دادههای داخل سازمانی و همچنین دادههای کاربران و مشتریان، بخش مهمی از فعالیتهای هر سازمانی است. در چند سال گذشته، سازمانهای بسیاری که مسئلهی امنیت اطلاعات را جدی نمیگرفتند، هک شدهاند و دادههای سرقتشدهی آنها منتشر و یا به رقبای آنها فروخته شد. سالها است که این حوادث رخ میدهد؛ اما اخیرا بیش از پیش آشکار شدهاند و روی اطلاعات افراد تاثیر بیشتری میگذارند.
یکی از راههای محافظت از دادههایی که بین داخل سازمان و بیرون از آن جابهجا میشود، استفاده از یک شبکهی خصوصی مجازی یا VPN است. مدت زیادی است که VPNها (Virtual Private Network) مورد استفاده قرار میگیرند (بیش از 20 سال) و عموما دو روش برای استفاده از آنها وجود دارد:
- محافظت از دادهها از یک کلاینت به یک مکان مرکزی (Client to Site)
- محافظت از دادهها از یک شبکهی سازمانی به یک شبکهی سازمانی دیگر (Site to Site).
هر دو نوع VPN روی اینترنت عمومی (Public) پیادهسازی شدهاند. هر مهندس شبکه، به دلیل استفادهی شخصی، کار کردن با کامپیوترهای سازمانی روی شبکههای ایمن و یا با پیادهسازی و نگهداری از یک راهکار VPN، به گونهای با استفاده از VPN درگیر خواهد بود. در نتیجه بسیار مهم است که مهندسان جدید شبکه حداقل با راهکارهای VPNی که بیش از بقیه مورد استفاده قرار میگیرند، آشنا شوند و نحوهی کارکرد این راهکارها را دریابند. در این مقاله چند مورد از متداولترین انواع VPN مورد بررسی قرار گرفته و در مورد اینکه معمولا چگونه پیادهسازی میشوند، بحث میگردد.
تعریف (Generic Routing Encapsulation (GRE
بیش از بیست سال است که مفهوم Generic Routing Encapsulation یا به اختصار GRE وجود . GRE یک راهکار متداول برای انتقال اطلاعات از یک شبکه به شبکهی دیگر میباشد. ایدهی پشت GRE این است که روشی برای انتقال اطلاعات روی یک محیط IP ارائه گردد. پروتکلی که روی GRE Tunnel جابهجا میشود، میتواند یکی از چندین پروتکل تحت پشتیبانی، از جمله قابلیت انتقال IP داخل یک GRE/IP Tunnel باشد. همچنین ممکن است از چند پروتکل استفاده گردد، مانند IPv4، IPv6 یا AppleTalk و موارد دیگر، البته IP و IPv6 از همه متداولتر هستند.
پیکربندیهای معمول GRE به شیوهی Point-To-Point بین دو نقطه است. ضعف اصلی GRE این است که از هیچ نوع امنیت (مثلا Encryption) پشتیبانی نمینماید و اطلاعات Tunnel شده را میتوان به سادگی با نرمافزارهای عادی ردیابی (Sniff) نمود. بااینحال، پیادهسازیهای مدرن GRE این پیکربندیهای عادی و اولیه را گسترش دادهاند و بسیاری از VPNها به عنوان بخشی از پیادهسازی چندین تکنولوژی VPN، از GRE استفاده مینمایند. یکی از پیادهسازیهای محبوب، استفاده از Multipoint GRE با Next Hop Resolution Protocol یا به اختصار NHRP و IP Security یا به اختصار IPSec است.
(IP Security (IPSec چیست؟
قدمت مفهوم (IP Security (IPSec تقریبا به اندازهی GRE است و برای فراهم کردن یک کانال ارتباطی ایمن از طریق یک شبکهی IP موجود مورد استفاده قرار میگیرد. IPSec فقط یک پروتکل نیست، بلکه گروهی از پروتکلها است که میتوان با توجه به الزامات خاص وضعیت موجود، آنها را به روشهای متعددی پیادهسازی نمود.
قابلیتهای اصلی IPSec شامل چندین ویژگی امنیتی قابل پیکربندی است:
- محرمانگی: یک Session از IPSec را میتوان به صورتی پیکربندی کرد تا محتوای آن رمزگذاری شود و در نتیجه روشی برای ارسال اطلاعات به طور ایمن بین Endpointها فراهم گردد.
- یکپارچگی یا Integrity: یک Session از IPSec را میتوان طوری پیکربندی نمود که حفاظت یکپارچه فراهم گردد و در نتیجه اطمینان حاصل شود که همان اطلاعاتی که توسط فرستنده ارسال میگردد، توسط دریافتکننده نیز دریافت شود.
- احراز هویت (Authentication): یک Session از IPSec را میتوان طوری پیکربندی کرد که احراز هویت فراهم گردد و در نتیجه اطمینان حاصل شود که فرستنده همان دستگاه یا شخصی است که ادعا میکند.
- محافظت Anti-Relay: این ویژگی از جمعآوری اطلاعات یک Session از IPSec توسط هکر پیشگیری مینماید که آن را Replay نماید تا به مکانی ایمن دسترسی پیدا کند.
تعریف (Point-to-Point Tunneling Protocol (PPTP
Point-to-Point Tunneling Protocol یا به اختصار PPTP از دههی 1990 مورد استفاده قرار میگرفته است و در ابتدا در محصولات Microsoft Windows بسیار پیادهسازی میشد (از بروزرسانی 1.3 ویندوز 95 به بعد). PPTP از چند پروتکل دیگر استفاده میکند تا راهکاری کامل، شامل Point-to-Point Protocol یا به اختصار PPP و نسخهی بهبود یافتهی GRE فراهم شود.
برای کارکرد PPTP باید در ابتدا یک کانال کنترلی راهاندازی شود که برای ایجاد یک Tunnel داده مورد استفاده قرار گیرد. این Tunnel داده با GRE، Encapsulate میگردد که یک PPP Frame را حمل میکند ؛ PPP از حمل چندین پروتکل از جمله IP پشتیبانی مینماید. همچنین PPP از احراز هویت، رمزگذاری و فشردهسازی پشتیبانی میکند.
PPTP از نظر پیکربندی یکی از سادهترین پروتکلهاست، اما از نظر محرمانه بودن دارای نقاط ضعف شناختهشدهای میباشد. دلیل این امر این است که PPTP برای پشتیبانی از رمزگذاری RC4 که دارای آسیبپذیریهای شناخته شده است عمدتا از Microsoft Point-to-Point Encryption یا به اختصار MPPE استفاده مینماید.
درباره Secure Sockets Layer (SSL) VPN
یکی از تکنولوژیهای VPN که اخیرا بسیار مورد توجه قرار گرفته SSL VPN است؛ دلیل اصلی این اقبال تحولاتی مختلف در اعمال آن است که پیادهسازی و استفاده از آن را تسهیل مینماید. در گذشته از SSL VPN عمدتا برای پشتیبانی از طریق یک پورتال مرکزی استفاده میشد که پشتیبانی محدودی برای مجموعهی خاصی از پروتکلها ارائه مینمود. پیادهسازیهای مدرن قابلیت پشتیبانی از گزینهی SSL VPN مبتنی بر Client و همچنین Clientless را فراهم مینمایند؛ پیادهسازیهای Clientless در قیاس با پیادهسازیهای مبتنی بر Client محدودتر هستند، اما برای پیادهسازی، بسیار سبکتر میباشند چراکه هیچچیز به طور دائم روی Client بارگذاری نشده است.
نام Secure Sockets Layer یا به اختصار SSL برای اکثر کاربران اینترنت اهل تکنولوژی نامی آشناست، زیرا یکی از پروتکلهایی است که توسط مرورگرهای وب و Clientهای انتقال فایل برای ایمنسازی ارتباطات مورد استفاده قرار میگیرد. VPNهای SSL از تکنولوژی یکسانی برای فراهم کردن کانالی ایمن برای بسیاری از پروتکلها استفاده مینمایند. یکی از برتریهای اصلی VPNهای SSL نسبت به راهکارهای دیگر این است که این راهکار از تعدادی پروتکل متداول که برای امنیت ترافیک وب مورد استفاده قرار میگیرد، استفاده میکند. این پورتها تقریبا به طور جهانی روی تمام اتصالات اینترنت Forward میشوند و در نتیجه Sessionها Block نخواهند شد (مشکلی که در برخی از گزینههای دیگری که مطرح شد وجود دارد).
با افزایش سرعت، قابلیت اطمینان و دسترسپذیری اتصالات اینترنتی، استفاده از VPNها بیش از پیش افزایش یافته است. شرکتهای بسیاری اتصالات دفتری Remote خود را از اتصالات خطوط استیجاری (Leased-Line) گرانقیمت به اتصالات VPN مبتنی بر اینترنت منتقل کردهاند که به احتمال زیاد با ادامه یافتن گسترش سرعت و اتصالات، این روند همچنان به رشد خود ادامه خواهد داد.