صفحه اول > ابزارها

 

مقدمه‌ای بر SSH

 

    SSH که مخفف Secure Shell می‌باشد، به‌طور عمومی به برنامه‌یی اطلاق می‌گردد که برای دسترسی امن به رایانه‌یی از راه‌ دور، برای اجرای فرامین یا انتقال پرونده‌ها، مورد استفاده قرار می‌گیرد. علت اهمیت چنین روش‌هایی، اقدامات معمول نفوذگران در قالب پویش شبکه برای آگاهی از محتوای بسته‌ها، استفاده از IPهای جعلی و سرقت آدرس‌های IP، تهدیدات سرویس‌های DNS و دیگر روش‌های حمله است. عملاً با رمزکردن کانال ارتباطی میان کاربر و خادم، احتمال هریک از این حملات در پی اقدامات نفوذگران به حداقل می‌رسد.

 

    با وجود آن‌که SSH به برنامه‌یی که این وظیفه را بر عهده دارد اطلاق می‌گردد، ولی تمامی این برنامه‌ها از استاندارد واحدی تبعیت می‌کنند. در نگارش جدید آن به نام SSH2، نرم‌افزاری به نام sftp برای برعهده‌گرفتن وظیفه‌ی FTP Clientها نیز وجود دارد. طبق آمارهای تقریبی ارایه شده، قریب به ۲ میلیون کاربر از نسخه‌های مختلف برنامه‌های متنوع SSH تحت سیستم‌های عامل مختلف استفاده می‌کنند.

 

    نکته‌یی که لازم به گفتن است،‌ تفاوت میان پروتکل‌های استفاده شده در SSH1 و SSH2 است. به بیان دیگر این دو استاندارد با یکدیگر سازگاری ندارند. استانداردی که SSH1 بر مبنای آن است را می‌توان از آدرس http://www.tigerlair.com/ssh/faq/ssh1-draft.txt به‌دست آورد و برای آگاهی از استاندارد SSH2 می‌توانید به آدرس http://www.ietf.org/ids.by.wg/secsh.html  مراجعه کنید. در حال حاضر، پشتیبان این استاندارد IETF است. با این وجود تعداد زیادی از شرکت‌ها نرم‌افزارهایی بر اساس این استاندارد تولید می‌کنند که برخی رایگان و برخی تجاری است.

 

    برای استفاده از SSH، نیاز به سرویس و نرم‌افزاری داریم که در سوی خادم نصب می‌گردد. پس از آن نرم‌افزاری به عنوان مخدوم، کانال ارتباطی را ایجاد کرده و ارتباط امن برقرار می‌گردد. در حال حاضر سرویس‌ها و نرم‌افزارهای مخدوم برای سیستم‌های عامل مختلفی از جمله Windows، Macintosh، خانواده‌ی Unix، PalmOS، OS/2 و سیستم‌های عامل کم استفاده‌یی همچون VMS موجود است.

 

    نکته‌یی که در این میان اهمیتی خاص دارد، مقایسه‌ی میان SSH1 و SSH2 است و اینکه باید از کدام یک از این استانداردها و نرم‌افزارهای مبتنی بر آن‌ها استفاده کرد؟ پاسخ به این سؤال چندان ساده نیست زیرا کماکان نرم‌افزارهای بسیاری وجود دارند که بر مبنای SSH1 هستند و عملاً این استاندارد SSH1 است که برای تمامی سیستم‌های عامل و محیط‌ها توسعه یافته و نرم‌افزارهایی بر مبنای آن تولید شده‌اند. با این وجود عملاً توسعه‌ی SSH1 متوقف شده است و تولیدکننده‌گان نرم‌افزار تنها بر روی SSH2 تمرکز کرده‌اند. از علل این تغییر می‌توان به ضعف‌های امنیتی موجود در ساختار SSH1، امکان حملات شناخته شده‌یی مانند نوع man-in-the-middle در مورد آن و احتمال رخداد حملات پیش‌بینی‌نشده، اشاره کرد.