برای ارتباط صحیح دستگاههای موجود در شبکه، لازم است تنظیماتی در دستگاهها اعمال گردد. انتقال اطلاعات تحت مجموعهای از قوانین به نام پروتکل شبکه صورت میگیرد. پروتکلهای شبکه اولیه مانند Telnet و rsh، امنیت کافی اطلاعات در برابر حملات سایبری مخرب را تضمین نمیکردند. بدین ترتیب، پروتکل SSH برای برقراری ارتباط ایمنتر ایجاد گردید. در ادامه به بررسی SSH و کاربرد آن پرداخته میشود.
تصویر(1)
در این پست با موارد زیر آشنا خواهید شد:
- SSH چیست؟
- SSH و کاربرد آن
- نحوه عملکرد SSH به چه صورت است؟
- نحوه استفاده از SSH
- سه تکنیک رمز گذاری SSH
- جمع بندی
SSH چیست؟
Secure Shell به اختصار SSH، یک پروتکل شبکه است که ارتباط از راه دور و امن میان دو کامپیوتر را امکانپذیر میکند. این پروتکل از دادههای رمزگذاری شده استفاده می نماید تا هکرها ترافیک بین دو دستگاه متصل را هک نکنند.
SSH از سه لایه مجزا تشکیل شده است:
- لایه انتقال: این لایه ارتباط امن بین مشتری و سرور را در حین و پس از احراز هویت برقرار میکند. همچنین بر رمزگذاری، رمزگشایی و حفاظت یکپارچه از دادهها نظارت دارد. علاوه بر این، با فشرده سازی و ذخیره سازی اطلاعات، سبب افزایش سرعت تبادل داده میشود.
- لایه احراز هویت: این لایه وظیفه برقراری ارتباط مابین کاربر و SSH را بر عهده داشته و کل فرآیند احراز هویت مشتری را انجام میدهد.
تصویر(2)
- لایه اتصال: این لایه پس از احراز هویت موفقیت آمیز، ارتباط بین سیستمها را مدیریت نموده و کنترل باز و بسته بودن کانالهای ارتباطی را بر عهده دارد. علاوه بر این، ایجاد چندین کانال ارتباطی و برقراری سشنهای متعدد را امکان پذیر میکند.
SSH و کاربرد آن
برای ایمن سازی انتقال اطلاعات بین سیستمها، از SSH استفاده میشود. چند مورد از کاربردهای SSH، به شرح زیر است:
- دسترسی از راه دور: پروتکل SSH به صورت رمزگذاری شده، اتصال سیستم ها را از راه دور میسر مینماید و ارتباطی امن بین کاربران و فرآیندهای خودکار ایجاد میکند.
- انتقال فایل: SFTP، پروتکلی برای انتقال امن فایلها است که توسط SSH مدیریت میشود. این پروتکل، روشی امن را برای ویرایش فایلها از طریق شبکه، مهیا میکند.
- انتقال از طریق پورت: SSH پورتهای سیستم مشتری را به پورتهای اتصال راه دور سرور، متصل میکند. بدین ترتیب، به ایمن سازی پروتکلهای دیگر شبکه مانند TCP/IP کمک مینماید.
- تونل زنی یا Tunneling: این روش امکان انتقال امن دادهها را از طریق شبکه فراهم میکند. Tunneling به عنوان یک جایگزین ایدهآل برای VPN محسوب میشود و جهت دسترسی آنلاین امن به اطلاعات حساس تجاری موجود در شبکههای ناامن، مفید است.
- مدیریت شبکه: پروتکل SSH مدیریت زیر ساخت شبکه و سایر بخشهای سیستم را انجام میدهد.
نحوه کار SSH به چه صورت است؟
SSH یک پروتکل مبتنی بر client-server است. به این معنا که پروتکل مذکور، اجازه اتصال دستگاهی که تقاضای دریافت اطلاعات یا خدمات را دارد به دستگاهی دیگر (سرور) میدهد.
اگر یک کاربر از طریق SSH به سرور متصل شود، میتواند آن را به صورت یک شبکه محلی کنترل کرد.
سرور دارای یک پورت TCP مشخص است که از طریق آن میتواند روی شبکه نظارت کرده و جهت برقراری ارتباط، در انتظار اتصال کاربر باشد. البته قبل از اتصال کاربر و ارسال دستورات SSH، باید فرآیند احراز هویت صورت گیرد.
نحوه استفاده از SSH
میتوانید با استفاده از یک نرمافزار SSH client (نرمافزاری که برای ارتباط با سیستم یا سرور دیگر، کاربرد دارد) با سرور SSH ارتباط برقرار کنید. اغلب سیستمعاملهای مبتنی بر Unix، به صورت پیشفرض از daemon (فرآیندی میباشد که در پس زمینه لینوکس اجرا میشود) و client پشتیبانی میکنند. بنابراین، در این سیستمها میتوانید SSH client را در ترمینال بیابید.
کاربر باید یک دستور SSH شامل نام کاربری و آدرس سرور یا hostname را وارد کند تا بتواند از راه دور به آن متصل شود:
ssh [username]@[server_ip_or_hostname]
نکته: اگر نام کاربری SSH مشخص نشده باشد، اتصال تحت نام کاربری پیش فرض صورت خواهد گرفت.
OpenSSH (برنامهای جهت اتصال از طریق پروتکل SSH) کلاینت و سرور، در نسخه 1709 برای سیستم عامل ویندوز 10 ارائه شد. در نسخههای قبلی ویندوز به دلیل عدم وجود ویژگی Secure Shell از ابزارهایی مانند PuTTY برای برقراری اتصال SSH استفاده میشد. PuTTY یک نرم افزار SSH client به همراه رابط گرافیکی برای Secure Shell و Telnet است.
سه تکنیک رمز گذاری SSH
تصویر(3)
SSH جهت برقراری ارتباط امن بین کاربر و سرور، از سه نوع تکنیک رمزگذاری داده استفاده میکند که عبارتند از:
- رمز گذاری متقارن
- رمز گذاری نامتقارن
- هش کردن
رمزگذاری متقارن: در رمزگذاری متقارن از یک کلید واحد برای رمزگشایی و همچنین رمزگذاری ارتباط بین کاربر و سرور، استفاده میشود. این روش سرعت بالایی داشته و نیاز به منابع زیادی ندارد و SSH برای هر سشن، آن را به کار میگیرد.
رمزنگاری نامتقارن: در رمزگذاری نامتقارن دستگاهها از دو کلید متفاوت اما از نظر ریاضی مرتبط، به نامهای کلید خصوصی و عمومی، استفاده می کنند. در واقع، داده ها توسط این کلیدها به صورت نامتقارن رمزگذاری می شوند. سیستم مشتری که در تنظیمات رمزگذاری تاثیر گذار است، میتواند اطلاعات را با استفاده از کلید خصوصی رمزگشایی کند.
هش کردن: یکی دیگر از روشهای رمزگذاری، Hashing نام دارد. SSH از هش برای تایید اعتبار و اطمینان از منبع ارسال کننده دادهها، استفاده میکند. این کار با استفاده از کدهای احراز هویت پیام مبتنی بر هش (HMAC) و کد احراز هویت پیام (MAC) صورت میگیرد.
الگوریتم هش از packet (بخش های کوچک از یک داده بزرگتر) داده برای ایجاد یک رشته هش منحصربهفرد استفاده میکند. سیستم ارسال کننده، همواره packet را همراه با مقدار هش میفرستد. سیستم دریافت کننده، الگوریتم مورد استفاده برای ایجاد هش را میشناسد و آن را روی دادهها اعمال میکند. هدف این است که از یکسان بودن مقدار هش به دست آمده با هش فرستنده، اطمینان حاصل شود. در صورت متفاوت بودن، دادهها به صورت ناقص انتقال خواهند یافت.
تصویر(4)
جمع بندی
در این مقاله نکات مهمی در مورد SSH و کاربرد آن بیان شد تا درک بهتری نسبت به مکانیزمهای انجام شده در پس زمینه داشته باشید. آگاهی از نحوه عملکرد و کاربرد SSH، به شما کمک میکند تا در مورد استفاده از آن در محیط شخصی یا کاری خود، تصمیم گیری نمایید.