وظیفه پروتکل SSL چیست؟

ssl

وظیفه پروتکل SSL چیست؟

پروتکل SSH ابزاری برای مدیریت و دسترسی به شبکه از راه دور است. این پروتکل، داده‌ها را به صورت رمز شده میان دو میزبان انتقال می‌دهد.

SSH در محاسبات ابری برای حل مشکلات اتصال نقش مهمی دارد ، با استفاده از مسائل امنیتی از افشای یک ماشین مجازی مبتنی بر ابر به طور مستقیم بر روی اینترنت ممانعت می کند. تونل SSH می تواند یک مسیر امن در اینترنت از طریق فایروال به یک ماشین مجازی ارائه کند. (wikipedia, 2014)

تعریف :

SSH  (مخفف Secure Shell ) یک پروتکل اینترنتی است که امکان ارتباط، مدیریت و تبادل اطلاعات با استفاده از یک کانال امن را بین دو دستگاه متصل در شبکه ایجاد می‌کند. به عنوان یک تعریف بسیار ساده می‌توان SSH را این گونه بیان کرد : یک روش قدرتمند و پر استفاده و البته نرم‌افزاری است که برای دستیابی به امنیت شبکه طراحی شده است. هربار که داده‌ای از طرف کامپیوتر به شبکه فرستاده می‌شود، به صورت خودکار توسط SSH رمزنگاری می‌شود. هنگامی که داده به مقصد خود می‌رسد به صورت خودکار رمزگشایی می‌شود. نتیجه‌،کدگذاری نامرئی خواهد بود. بدین صورت کاربران نهایی درگیر پروسه کدگذاری و کدگشایی نخواهند شد و از ارتباط امن خود می‌توانند به خوبی استفاده کنند. امنیت سیستم کدگذاری SSH با استفاده از الگوریتم‌های پیچیده و مدرن تضمین می‌شود. تا آنجا که امروزه در سیستم‌های حیاتی و بسیار حساس از این سیستم استفاده می‌شود. به صورت معمول محصولاتی که از SSH استفاده می‌کنند از دو بخش (کلاینت/سرور) تشکیل می‌شوند. کلاینت ها با استفاده از تنظیمات سرور مربوطه به آن وصل می‌شوند و سرور وظیفه تایید هویت و قبول و یا رد ارتباط را به عهده دارد. (wikipedia, 2013)

 SSH از پروتکل SSL جهت رمزنگاری داده ها و از رمزنگاری کلید عمومی برای احراز هویت کامپیوتر از راه دور استفاده می کند.علاوه بر SSL،امضاهای دیجیتالی نیز برای امنیت بیشتر مورد استفاده قرار می گیرد.

رمزگذاری کلید عمومی :

در رمز گذاری کلید عمومی هر کاربر باید دوکلید داشته باشد : یک کلید عمومی که در اختیار همه قرار دارد و یک کلید خصوصی که باید در نزد کاربر نگهداری شود. دستور ssh-kegen کلید خصوصی و عمومی را به صورت جفتی تولید می کند. این جفت کلید به دو صورت دستی و اتوماتیک تولید می شوند که SSH از کلیدهای تولید شده به صورت اتوماتیک پشتیبانی می کند.کلید عمومی بر روی تمام رایانه هایی قرار داده شده است که صاحب کلید خصوصی منطبق باید اجازه دسترسی داشته باشد ( مالک کلید خصوصی رمز آن را نگهداری می کند).درحالیکه تائید هویت بر مبنای کلید خصوصی است، مالک ، کلید خصوصی خود را هرگز در طول تعیین اعتبار از طریق شبکه منتقل نمی کند.

SSH تنها بررسی می کند آیا همان شخص ارائه کننده ی کلید عمومی دارنده کلید خصوصی منطبق نیز هست. در سیستم های شبه یونیکس، لیستی از کلیدهای عمومی مجاز در دایرکتوریhome در فایل ~/.ssh/authorized_keys کاربری که اجازه ورود به سیستم از راه دور را دارد ذخیره می شود. (wikipedia, 2014)

نسخه های SSH :

دو نسخه این پروتکل به نام های SSH-1 و SSH-2  شناخته می شوند.

SSH-1 :  این نسخه گستره وسیع تری از متدهای تائید کاربر را پوشش می دهد، اما از اتصال همزمان در اکثر آنها پشتیبانی نمی کند و دارای معایب طراحی ذاتی است که آن را آسیب پذیر می سازد . در حال حاضر به طور کلی منسوخ شده است. به  عنوان مثال: در ژانویه سال ۲۰۰۱ یک آسیب پذیری کشف شد که اجازه تغییر تاریخ و زمان آخرین بلوک از یک جلسه ی IDEA رمزگذاری شده را می داد.در همان ماه ، آسیب پذیری دیگری کشف شد که اجازه می داد یک سرور مخرب احراز هویت سرویس گیرنده را به سرور دیگری بفرستد.معماری این نسخه در شکل ۱نشاده داده شده است. (docstore)

ssh

 SSH-2 : یک نسخه ی اصلاح شده از این پروتکل است که به عنوان یک استاندارد پذیرفته شده . این نسخه با بهره گیری از متد قدرتمند PublicKey و توسعه آن (DSA, RSA*, OpenPGP) توانسته است کاملا نیاز کاربران را رفع نماید. ضمن این که از اتصال همزمان نیز کاملا پشتیبانی می کند.

لازم به ذکر است این دو نسخه با یکدیگر سازگار نیستند و لازم است نسخه SSH بر روی سرویس گیرنده و سرویس دهنده یکسان باشند (در این رابطه موارد استثنا ء نیز وجود دارد ) .

با استفاده از دستور ssh –V می توان از نسخه SSH نصب شده بر روی سیستم مطلع شد. (wikipedia, 2014)

پلتفرم :

SSH از مدل سرویس گیرنده-سرویس دهنده(کلاینت/سرور) استفاده می کند که هر دو معمولا بر روی اکثر سیستم عامل های مدرن همچون Mac OS X،بسیاری ازتوزیعهای گنو/لینوکس ،OpenBSD FreeBSD, NetBSD , Solaris , و OpenVMS ارائه شده اند. این نکته قابل ذکر است که ویندوز یکی از معدود سیستم عامل های desktop/server مدرن است که به طور پیشفرض شامل SSH نمی باشد.

پورت TCP استاندارد ۲۲ برای تماس با سرویس دهنده SSH اختصاص داده شده است. (wikipedia, 2014)

روش استفاده :

به دو روش میتوان به این پروتکل جهت برقراری ارتباط با ماشین راه دور و اجرای دستورات متصل شد.

۱- رابط گرافیگی ویندوز، puty  : (شکل ۲)

این نرم افزار جهت اتصال پس از اجرا اطلاعات زیر را درخواست می کند که در صورت ورود اطلاعات درست می توان به خط فرمان ماشین راه دور دسترسی پیدا کرد.

–         آی پی آدرس سرور یا نام هاستینگ

–          نام کاربری و کلمه عبور

putty

شکل شماره ۲-Putty

۲- با استفاده از دستورات زیر که عملکرد هر دو یکسان است.(شکل۳)

ssh  -l  remoteusername  ip_addr_remote_machine

ssh  remoteusername@ip_addr_remote_machine

ssh

شکل شماره ۳- اتصال به ssh

پس از اجرای این دستور سوالی مبنی بر تمایل جهت ادامه کار پرسیده می شود.این نکته قابل ذکر است که به دلیل اینکه در اولین اتصال کلید عمومی ساخته میشود در ارتباطات بعدی دیگر این پیغام نشان داده نشده و تنها رمز عبور درخواست میشود.

معماری:

پروتکل SSH-2 دارای یک معماری داخلی(شکل شماره۴) ( تعریف شده در RFC 4251 ) با لایه های است که به خوبی  مجزا شده اند، این لایه ها عبارتند از :

  • لایه انتقال   ( RFC 4253 ).
  • لایه احراز هویت کاربر ( RFC 4252 )
  • لایه اتصال ( RFC 4254 )
  • ثبت SSHFP DNS (RFC 4255)

این معماری باز انعطاف پذیری قابل توجهی را فراهم می کند. (wikipedia, 2014) (docstore)

ssh

شکل شماره۴-معماری ssh-2

OpenSSH

OpenSSH )برگرفته از OpenBSD Secure Shell) نام دسته‌ای از نرم‌افزارهای رایانه‌ای است که امکان رمزنگاری کردن نشست ارتباطی در یک شبکه رایانه‌ای را با استفاده از پروتکل SSH فراهم می‌کند. این پروژه، به عنوان جایگزینی متن‌باز برای مجموعه نرم‌افزاری Secure Shell، محصول شرکت SSH Communications Security ایجاد شده است. OpenSSH جایگزینی است برای برنامه‌های سنتی یونیکس نظیر telnet، rlogin و ftp که به منظور برقراری ارتباط راه دور با یک میزبان دیگر استفاده می‌شوند. OpenSSH امکاناتی به منظور تونل‌زنی در ارتباطات و همینطور چندین روش گوناگون به منظور احراز هویت کاربران را هم فراهم می‌کند و از تمامی نسخه‌های پروتکل SSH پشتیبانی می‌کند.

بسته OpenSSH شامل ابزار زیر می‌باشد:

  • Ssh : جایگزینی برای ابزار آرلوگین (rlogin)، ریموت‌شل (rsh) و تل‌نت (telnet) که اجازه دسترسی به پوسته را برای سیستم راه‌دور مهیا می‌کند.
  • Scp : جایگزینی برای ابزار ریموت‌کپی (rcp)
  • Sftp : جایگزینی برای ابزار اف‌تی‌پی برای انتقال فایل بین کامپیوترها
  • Sshd : سرویس سرور SSH
  • ssh-keygen  : ابزاری برای بررسی و تولید کلیدهای RSA، DSA که برای مجوزدهی کاربر و میزبان استفاده می‌شود.
  • ssh-agent و ssh-add : ابزاری برای آسان‌کردن عمل مجوزدهی بوسیله نگهداری کلیدهای آماده و اجتناب از واردکردن کلیدواژه در هر بار استفاده آنها
  • ssh-keyscan : ابزرای برای جستجوی لیستی از میزبان‌ها و جمع‌اوری کلیدهای عمومی آنها

OpenSSH قادر به عبور پورت‌های پروتکل TCP از سیستم راه‌دور بر روی تونل‌های امن خود می‌باشد. از این توانایی برای ارتباطات مضاعف ترکیبی در پروتکل TCP بر روی یک ارتباط SSH استفاده می‌شود که بعنوان ابزاری برای مخفی نگاه داشتن ارتباطات و پروتکل‌های رمزنگاری که بغیر از این ایمن نخواهند بود استفاده می‌شود و همچنین برای دور زدن دیواره‌های آتش (firewalls) مورد استفاده قرار میگیرد. (wikipedia(1), 2014)

 

/ شبکه

اشتراک گذاری این مقاله

درباره نویسنده این مقاله

نظرات

نظری ارسال نشده!

ارسال یک نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *