سازمانها برای آنکه بتوانند به شکل ایمنی از شبکههای کامپیوتری استفاده کنند باید مکانیزمهای امنیتی را به درستی پیادهسازی کنند تا اطلاعات مهم سازمانی به راحتی در اختیار افراد غیرمجاز قرار نگیرد.
به نقل از شبکه – مگ
پروتکلهای مختلفی برای ایمنسازی شبکهها در دسترس سازمانها قرار دارند که هر یک قابلیتهای منحصر به فردی ارائه میکنند. در این مقاله با چند مورد از پر کاربردترین این پروتکلها آشنا میشویم.
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) پیاده شده و قابلیت پیادهسازی بر روی بیشتر سیستم عاملها را دارد.