بررسی پروتکل SSH

SSH  مخفف عبارت “Secure Shell”  به معنای “پوسته امن” می باشد. البته اینجا منظور از کلمه پوسته (Shell) به آن معنا که در کامپایلرها می باشد، نیست. SSH یک راهکار و بهتر است گفت پروتکل طراحی شده برای برقراری اتصال امن میان کاربر (Clinte) و سرور (Server) می باشد. یک پروتکل ارتباطی امن بر پایه TPC/IP بین سرویس دهنده و سرویس گیرنده است که با رمز گذاری داده ها بین کلاینت و سرور از افشای اطلاعات در طول مسیر جلوگیری میکند.

قابلیت های پروتکل SSH :

مطمئنا در اختیار داشتن یک اتصال امن بین سرور و کلاینت قابلیت های فراوانی را در اختیار ما قرار می دهد که در اینجا به برخی از پر کاربردترین کاربردهای SSH اشاره می کنیم:

  • تائید کاربران از طریق متدهای مختلف
  • ایجاد تونل امن برای اتصالات TCP/IP و همچنین اتصالات غیر امنی ما نند IMPAP ضمن سازگاری کامل با فایروال
  • انتقال خودکار (forward) اتصالات
  • امکان تائید خارجی کاربران با کمک Kerberos and SecurID
  • انتقال فایل امن

همانطور که در شکل زیر می بینید یک هکر با استفاده از حمله مردی ئر میانه می تواند با استفاده از ضعف پروتکل Telnet، شبکه را sniff کند.

Why-and-how-to-configure-Secure-Shell-SSH-on-a-Cisco-Router[1]در شکل های زیر تفاوت پروتکل های Telnet و SSH بطور واضح قابل مشاهده است. همانطور که می بینید در telnet تمام اطلاعات بصورت clear text ردو بدل می شوند امکا در SSh این اطلاعات رمز نگاری شده و همن می شوند.

SSH-Protocol1[1]شکل 2 -SSH

SSH-Protocol2[1]شکل 3-Telnet

با کمک پروتکل های مختلفی می توان از طرف کلاینت به سمت سرور اطلاعات را ارسال نمود. اما این میان تفاوت SSH چیست، ما در اتصال با پروتکل SSH قبل از ارسال هر اطلاعات آنها را رمزنگاری نموده و در سمت مقابل رمز گشایی می نمائیم. البته این کار توسط خود سیستم و بدون دخالت کاربر انجام می پذیرد. در حال حاضر پروتکل SSH در 2 نسخه SSH-1 و SSH-2 در اکثر سیستم عامل ها در دسترس می باشد. به طور پیش فرض امکان اتصال از طریق هر دو نسخه وجود دارد مگر در سمت سرور و در فایل کانفیگ SSH تنظیم شده باشد که تنها از نسخه 1 یا مثلا 2 پشتیبانی نماید.

تفاوت نسخه 1 و 2 SSH :

این دو نسخه بیشتر در حوزه تائید کاربر (User Authentication) هست که با هم متفاوت هستند. SSH-1 گستره وسیع تری از متدهای تائید کاربر را پوشش می دهد، اما از اتصال همزمان در اکثر اونها پشتیبانی نمی کند. هر چند در SSH-2 شاهد متدهای RhostsRSA ، Kerberos و TIS نیستیم، اما در مقابل با بهره گیری از متد قدرتمند PublicKey و توسعه اون (DSA, RSA*, OpenPGP) توانسته است کاملا نیاز کاربران را رفع نماید. ضمن این که از اتصال همزمان نیز کاملا پشتیبانی می کند. تفاوت مهم دیگر SSH-1 در قیاس با SSH-2 بحث امنیت است که در برخی اتصال ها فرصت حملات ورودی (Insertion Attack) را ایجاد می نماید.

به صورت معمول محصولاتی که از SSH استفاده می کنند از دو بخش خادم و مخدوم ( Client/Server ) تشکیل می شوند. Client ها با استفاده از تنظیمات سرور مربوطه به آن وصل می شوند و سرور وظیفه تایید هویت و قبول و یا رد ارتباط را به عهده دارد.

  • یک پروتکل خادم/مخدوم امن برای کدگذاری و انتقال داده ها در شبکه.
  • تعیین هویت کاربران به وسیله کلمه عبور ، host ، public key و یا استفاده از Kerberos،PGP و یا PAM.
  • قابلیت امن کردن برنامه های ناامن شبکه مانند Telnet ، FTP و در کل هر برنامه ای که بر اساس پروتکل TCP/IP بنا شده است.
  • بدون هیچ تغییر در استفاده کاربر نهایی ( End User ) پیاده شده و قابلیت پیاده سازی بر روی بیشتر سیستم عامل ها را دارد.
دیدگاه

آدرس ایمیل شما منتشر نخواهد شد.