آشنایی با محبوبترین پروتکلهای ایمنسازی شبکهها
سازمانها برایآنکه بتوانند به شکل ایمنی از شبکههای کامپیوتری استفاده کنند باید مکانیزمهای امنیتی را بهدرستی پیادهسازی کنند تا اطلاعات مهم سازمانی بهراحتی در اختیار افراد غیرمجاز قرار نگیرد.
پروتکلهای مختلفی برای ایمنسازی شبکهها در دسترس سازمانها قرار دارند که هر یک قابلیتهای منحصربهفردی ارائه میکنند. در این مقاله با چند مورد از پرکاربردترین این پروتکلها آشنا میشویم.
Open Connect
اوپن کانکت نرمافزاری منبعباز برای اتصال به شبکههای خصوصی مجازی است که اتصالات نقطه به نقطه امن را پیادهسازی میکند تا شعب مختلف یک سازمان بتوانند به شکل ایمنی به تبادل اطلاعات بپردازند. در این حالت اگر هکری موفق شود به زیرساخت ارتباطی سازمانی نفوذ کند موفق نخواهد شد به راحتی به شنود اطلاعات بپردازد.
این نرمافزار در اصل به عنوان جایگزین نرمافزار متن باز اختصاصی سیسکو به نام AnyConnect که یک کلاینت شبکه خصوصی مجازی مبتنی بر پروتکل SSL است و توسط چند روتر سیسکو پشتیبانی میشود، آماده شده است.
تا تاریخ ۲۰۱۳، پروژه اوپن کانکت یک سرور سازگار با AnyConnect یعنی ocserv را ارائه میکرد که اجازه میداد یک راهحل کامل سرور – کلاینت سرویس شبکه خصوصی مجازی را پیادهسازی کرد. نرمافزار اوپن کانکت پشتیبانی از شبکه خصوصی مجازی SSL شرکت Juniper Networks را در نسخه ۷٫۰۵اضافه کرد.
پس از آن پشتیبانی از شبکه خصوصی مجازی GlobalProtect شرکت Palo Alto Networks در نسخه ۸٫۰۰ اضافه شد. شبکههای خصوصی مجازی سیسکو انی کانکت از TLS برای احراز هویت و پیکربندی مسیر، سپس از DTLS برای رمزنگاری مؤثر و انتقال ترافیک از طریق شبکه خصوصی مجازی استفاده میکند و در صورتی که دیوار آتش ترافیک بر پایه UDP را مسدود کرده باشد به انتقال بر اساس TLS بازمیگردد.
پروتکل DTLS که توسط سرورهای سرورهای سیسکو انی کانکت مورد استفاده قرار گرفت بر اساس یک پیشنویس غیر استاندارد از DTLS 1.0 بود تا اینکه پشتیبانی از نسخه استاندارد DTLS 1.2 در سال ۲۰۱۸ اضافه شد. اوپن کانکت و ocserv نسخه پیشرفتهای از پروتکل شبکه خصوصی مجازی انی کانکت (که بهعنوان یک استاندارد اینترنتی ارائه شده است) را اجرا میکنند که در یک پروژه منبع باز بدون وابستگی به سیسکو نوشته شده است.
هم اوپن کانکت و هم ocserv تلاش میکنند تا سازگاری سمت پنهان خود را با سرورها و کلاینتهای سیسکو انی کانکت حفظ کنند. نرمافزار اوپن کانکت پروتکلهای شبکه خصوصی مجازی Juniper و GlobalProtect را نیز اجرا میکند.
این پروتکلها ساختاری بسیار شبیه پروتکل انی کانکت دارند: در این پروتکلها نیز احراز هویت و پیکربندی مسیر را از طریق TLS انجام میشود، به جز اینکه از ESP (به جای DTLS) برای انتقال مؤثر و رمزگذاری شده ترافیک استفاده میشود، اما این پروتکلها نیز میتوانند به انتقال مبتنی بر TLS بازگردند.
ارتباطات نقطه به نقطه
در ارتباطات از راه دور، ارتباط نقطهبهنقطه (Point-to-point) به ارتباط بین دو نقطه (ایستگاه) یا نقطههای پایانی (ایستگاههای پایانی) اشاره دارد. یک مثال از آن تماس تلفنی است، که در آن یک تلفن با تلفن دیگر در ارتباط است و چیزی که توسط تماس گیرنده گفته میشود تنها توسط آن شخصی که با آن در ارتباط است شنیده میشود.
ارتباطات نقطه به نقطه با توپولوژی ارتباطات چند پخشی (از یک ایستگاه به چند ایستگاه) یا ارتباطات پخشی (از یک ایستگاه به همه ایستگاهها) که در آنها اطلاعات فرستاده شده از یک نقطه (ایستگاه) بهوسیله چند (نقطه) ایستگاه دریافت میشود، مقایسه میشود.
مثالی دیگر از ارتباطات نقطهبهنقطه leasedline ها، ارتباطات microwave rely و two way radio ارتباطات هستند. مثالی از سیستم ارتباطات چند پخشی رادیو و تلویزیون هستند. اصطلاح ارتباطات نقطه به نقطه بر خلاف سایر توپولوژیهای شبکه مانند گذرگاهها (buses) و crossbar switches که چندین وسیله را میتوانند به هم مرتبط کنند، اغلب در شبکههای کامپیوتری و معماری کامپیوتر به سیم یا اتصالهایی که فقط دو کامپیوتر یا مدار را به هم متصل میکنند، اشاره دارد.
نقطه به نقطه گاهی اوقات به اختصار با p2p یا pt2pt نشان داده میشود. استفاده از p2p در اینجا با استفاده از p2p که به اشتراکگذاری همتا به همتای فایل peer to peer file sharing اشاره دارد، متمایز است.
پیوند داده نقطه به نقطه مرسوم، رسانه ارتباطی با دقیقاً دو نقطه پایانی (ایستگاه پایانی) و بدون قالبهای داده یا بسته است. کامپیوتر میزبان باید در هر پایانه مسئولیت کامل قالب داده در حال انتقال بین دو پایانه را بر عهده داشته باشد. اتصال بین کامپیوتر و وسایل ارتباطی به طور کلی با استفاده از واسط RS-232 و یا چیزهایی مشابه آن پیادهسازی شدهاند.
کامپیوترهایی که تقریباً در فاصله نزدیک به هم هستند ممکن است که به طور مستقیم با سیمهایی مابین کارتهای واسطشان به هم متصل شده باشند. زمانی که دو ایستگاه در یک مسافتی به هم متصل میشوند، هر ایستگاه پایانی باید مدمی جهت تبدیلکردن سیگنالهای ارتباط از راه دور به جریانی از دادههای دیجیتال بهصورت نصب شده داشته باشد.
زمانی که در ارتباط از فراهمکنندههای (provider) از راه دور استفاده میشود، آنگاه ارتباط اختصاصی (dedicated)، استیجارهای (leased) یا خط اختصاصی (private line) نامیده میشود. آرپاننت از خطوط استیجاری جهت فراهمکردن پیوند داده نقطهبهنقطه برای تعویض بستهها (packet switching) ما بین ایستگاههای خودش استفاده کرده است، که در واقع پردازنده پیامهای واسط (interface message processors) نامیده میشود.
پروتکل PPTP
پروتکل تونلزنی نقطهبهنقطه (PPTP یا Point to Point Tunneling Protocol) روشی برای پیادهسازی شبکه خصوصی مجازی است. PPTP با استفاده از یک کانال کنترل بر روی از TCP و یک تونل GRE عامل به محفظههای قرار دادن بستههای PPP است.
PPTP از سرشناسترین انواع اتصالات شبکه خصوصی مجازی است و به وسیله بسیاری از دستگاهها پشتیبانی میگردد. به دلیل آنکه این اتصال نقطه به نقطه است راهاندازی و آرایش آسانی دارد و سرعت آن در میان باقی اتصالات بالا است. سرویسهای دیوار آتش مانند ISA Server یا Cisco PIX و Sonic Wall این پروتکل را تصدیق میکنند.
PPTP دادهها را با نرخ ۱۲۸ بیت رمزگذاری میکند که این نرخ این پروتکل را به دسته ضعیفترینها منتقل میکند. علاوه بر این، این اتصال ضعفهای دیگری نیز دارد. بااینحال در سالهای اخیر بیشتر مشکلات مبتنی بر این پروتکل برطرف شدهاند.
HTTP Tunnel
پروتکلهای شبکهای به طور معمول به خانواده TCP/IP پروتکلها تعلق دارند؛ بنابراین پروتکل HTTP به عنوان روکشی برای کانالی که پروتکل شبکهای که تونل گذاری شده برای برقراری ارتباط استفاده میکند. عمل میکند. تونل HTTP است که بهوسیله آن ارتباطاتی که با استفاده از پروتکلهای شبکهای مختلف عمل میکنند.
جریان HTTP با کانال پنهانی خود یک تونل HTTP نامیده میشود. نرمافزار تونل HTTP از برنامههای تونل HTTP client-server تشکیل شده که با نرمافزار برنامه موجود ادغام میشود به آنها اجازه میدهد که در محدوده اتصالات شبکهای محدود که شامل شبکههای firewall شبکههای پشت سرور پروکسی و شبکههای ترجمه آدرس.
یک تونل HTTP بیشتر بهعنوان ابزاری برای ارتباط از شبکه محل با اتصالات محدود در NATS یا سرور پروکسی و یا برنامههایی فاقد حفاظت ذاتی برای ارتباط در چنین شرایط ارتباطی محدود هستند مورداستفاده قرار میگیرد. اتصالات محدود در قالب پورت ICP/TP از خارج شبکه آغاز میشوند. بستن همه پروتکلهای شبکه به جز تعداد خاصی یک روش مورداستفاده رایج برای قفلکردن شبکه در جهت حفاظت از آن در برابر خطرات داخلی خارجی است. سرور واسطه اطلاعات واقعی را قبل از اینکه آن را به remote host بفرستد باز میکند. همزمان که دادهها را از remote host دریافت میکند. قبل از فرستادن آن بهعنوان بخشی از پاسخ HTTP به برنامه آن را در قالب پروتکل HTTP قرار میدهد. در این شرایط برنامه کاربردی نقش یک Tunnelling client را ایفا میکند درحالیکه remote host نقش یکیک سرور که با آن ارتباط برقرار شده را ایفا میکند.
SSTP
اساستیپی (Secure Socket Tunneling Protocol) یا به اختصار SSTP یکی از روشهای پیادهسازی شبکه خصوصی مجازی است که قابلیت انتقال پروتکلهای PPP و L2TP را با استفاده از رمزنگاری SSL نسخه ۳٫۰ دارا میباشد؛ بنابراین بالاترین امنیت را در بین روشهای شبکه خصوصی مجازی دارد و علاوه بر این با استفاده از SSL روی پورت ۴۴۳ از TCP میتواند تقریباً از هر دیوار آتشی به راحتی عبور کند. این روش محدودیتهایی هم دارد، اتصال مدل SSTP در ویندوز قدیمیتر از ویندوز Vista SP۱ قابل پیادهسازی نیست و علاوه بر آن به خاطر بهکارگیری SSL سرعت برقراری و تبادل اطلاعات در این شیوه مخصوصاً با محدود شدن عرض باند ترافیک کاربر، افت قابل ملاحظهای پیدا میکند.
WireGuard
وایر گارد (WireGuard) یک نرمافزار آزاد و متنباز و نرمافزاری کاربردی و یک پروتکل ارتباطی است که از شیوه شبکه خصوصی مجازی برای ایجاد ارتباط نقطهبهنقطه در مسیریابی (شبکه) استفاده میکند. این برنامه به عنوان یک ماژول در هسته لینوکس اجرا میشود که هدف آن بهبود عملکرد نسبت به اوپن ویپیان و آیپیسک در پروتکل تونلزنی است. وایرگارد توسط جیسون ای. دوننفلد تحت نسخه دوم پروانه عمومی همگانی گنو منتشر شد. وایرگارد با هدف ایجاد یک شبکه خصوصی مجازی کارآمد و در عین حال ساده، ارائه شد. طبق بررسیهای سایت تکنیکا، فناوریهای محبوب ویپیان مانند اوپن ویپیان و آیپیسک، اغلب پیکربندی پیچیدهای دارند، به آسانی اتصال آنها قطع میشود و به مدت زمان طولانی برای اتصال نیاز دارند، معمولاً از رمزنگاریهای منسوخ شده استفاده میکنند و با توجه به اینکه دارای تعداد خط کد گسترده (۴۰۰۰۰۰ تا ۶۰۰۰۰۰ خط) هستند، باعث میشود که عیبیابی آنها مشکلتر شود. وایرگارد با طراحی ساختاری متفاوت به دنبال حل مشکلات ذکر شدهاست و اتصال را بهطور پیش فرض امن و سریع فراهم میکند. وایرگارد با استفاده از بستههای مختلف رمزنگاری، بر روی رمزنگاریهایی تمرکز میکند که به نظر میرسد جز ایمن ترینها هستند و همچنین، با استفاده از پایگاه خط کد کمتری نسبت به اوپنویپیان و آیپیسک (حدود ۴۰۰۰ خط کد) حسابرسی امنیتی را راحت تر میکند. وایرگارد از Curve25519 برای تبادل کلید، از ChaCha20 برای رمزگذاری، Poly1305 برای احراز هویت پیام، SipHash برای رمزنگاری کلیدها و از BLAKE برای تابع درهمساز رمزنگارانه استفاده میکند. علاوه بر این، از لایه ۳ برای آیپی نسخه ۴ و آیپی نسخه ۶ پشتیبانی میکند. در مه سال ۲۰۱۹، محققان INRIA بررسی ماشینیای که توسط پروتکل و با استفاده از دستیابی ضد CryptoVerif تهیه شده را منتشر کردند.
Secure Shell
پوسته امن (Secure Shell) که بیشتر به نام SSH نامیده میشود یک پروتکل اینترنتی است که امکان تبادل اطلاعات با استفاده از یک کانال امن را بین دو دستگاه متصل در شبکه ایجاد میکند. دو نسخه اصلی این پروتکل به نامهای SSH1 یا SSH-1 و SSH2 یا SSH-2 شناخته میشود. در ابتدا بر روی سیستمهای مبتنی بر یونیکس و لینوکس برای دسترسی به حسابهای پوسته استفاده شد، اساساچ جایگزینی برای تلنت و سایر پوستههای ارتباط از راه دور غیر امن ایجاد شده است.
به عنوان یک تعریف بسیار ساده میتوان SSH را اینگونه بیان کرد که SSH یک روش قدرتمند و پر استفاده و البته نرمافزاری است که برای دستیابی به امنیت شبکه طراحی شده است؛ هر بار که دادهای از طرف کامپیوتر به شبکه فرستاده میشود، بهصورت خودکار توسط SSH رمزنگاری میشود. هنگامی که داده به مقصد خود میرسد بهصورت خودکار رمزگشایی میشود. نتیجهای که خواهد داشت کدگذاری نامرئی خواهد بود. بدین صورت کاربران نهایی درگیر پروسه کدگذاری و کدگشایی نخواهند شد و از ارتباط امن خود میتوانند بهخوبی استفاده کنند. امنیت سیستم کدگذاری SSH با استفاده از الگوریتمهای پیچیده و مدرن تضمین میشود. تا آنجا که امروزه در سیستمهای حیاتی و بسیار حساس از این سیستم استفاده میشود. بهصورت معمول محصولاتی که از SSH استفاده میکنند از دو بخش کارخواه و کارساز (کلاینت/سرور) تشکیل میشوند. کارخواه با استفاده از تنظیمات کارساز مربوط به آن وصل میشوند و کارساز وظیفه تأیید هویت و قبول یا رد ارتباط را به عهده دارد. تشابه نام Secure Shell با محیطهایی مانند Bourne shell یا C Shell نشاندهنده این نیست که SSH نیز محیطی است که وظیفه تفسیر فرامین برای سیستمعامل را بر عهده دارد. با اینکه SSH تمامی مشکلات را حل نخواهد کرد، اما در مورد بسیاری از موارد میتواند راهحل مناسبی باشد. برخی از این موارد عبارتاند از:
- یک پروتکل کارخواه/کارساز امن برای کدگذاری و انتقال دادهها در شبکه.
- تعیین هویت کاربران بهوسیله کلمه عبور، host , public key یا استفاده از Kerberos,PGP یا PAM
- قابلیت امن کردن برنامههای ناامن شبکه مانند Telnet ,FTP و در کل هر بر نامهای که بر اساس پروتکل TCP/IP بنا شده است.
- بدون هیچ تغییر در استفاده کاربر نهایی (End User) پیاده شده و قابلیت پیادهسازی بر روی بیشتر سیستمعاملها را دارد.
منبع:Shabakeh-mag