راه اندازی SSH در روتر و سوئیچ سیسکو
راه اندازی SSH در روتر و سوئیچ سیسکو، SSH یا Secure Socket Shell یک پروتکل شبکه ای است که به کاربران به ویژه مدیران سیستم ( Administrator ) راهی امن برای دسترسی به کامپیوتر یا تجهیزات شبکه از طریق بستر نا امن اینترنت را می دهد. Secure Shell احراز هویت به واسطه رمز عبور قوی ( Password Authentication ) و احراز هویت کلید عمومی ( Public key Authentication ) و همچنین ارتباطات رمزنگاری شده بین دو کامپیوتر یا تجهیزات شبکه متصل به شبکه نا امن اینترنت را فراهم می نماید. علاوه بر ارائه رمزنگاری قوی، SSH به طور گسترده توسط مدیران شبکه برای مدیریت سیستم ها و برنامه های کاربردی از راه دور مورد استفاده قرار می گیرد و آن ها را قادر می سازد تا از طریق شبکه به کامپیوتر یا تجهیزات شبکه ای دیگری وارد شوند و دستورات مد نظر خود را از راه دور اجرا نمایند. SSH از مدل Server و Client استفاده می نماید که Client به واسطه یک برنامه ارتباط SSH را با Server مد نظر خود که می تواند یک کامپیوتر یا یکی از تجهیزات شبکه که از این قابلیت پشتیبانی می نماید، باشد. یک سرور SSH به طور پیش فرض به درخواست ها با پروتکل TCP و پورت استاندارد 22 پاسخ می دهد.
راه اندازی SSH در روتر و سوئیچ سیسکو
فهرست مطالب
مکانیزم رمزنگاری
SSH جایگزینی بسیار کاربردی برای برنامه های شبیه سازی ترمینال به صورت نا امن نظیر Telnet می باشد. SSH دقیقا همان قابلیت Terminal Session برای دسترسی به سیستم ها از راه دور را در اختیار ما قرار می دهد. اساسی ترین کاربرد SSH اتصال به یک میزبان ( Host ) از راه دوراست. عملکرد SSH مشابه Telnet می باشد با این تفاوت اصلی که پروتکل SSH از رمزنگاری کلید عمومی ( Public key ) برای احراز هویت نقاط پایانی ( Endpoint ) هنگام برقراری یک ترمینال و همچنین رمزنگاری دستورات اجرا شده در تمام مدت برقرای ترمینال استفاده می نماید.
رمزنگاری در پروتکل SSH با استفاده از چندین لایه امنیتی انجام میشود تا ارتباطات بین کلاینت و سرور بهصورت ایمن برقرار شوند. این فرآیند شامل سه مرحله اصلی است:
1. رمزنگاری متقارن (Symmetric Encryption)
در این روش، از یک کلید مشترک جهت رمزنگاری و رمزگشایی اطلاعات استفاده میشود. پس از اینکه کلاینت و سرور در ابتدای ارتباط، یک کلید مشترک را تولید نمودند، تمامی داده های تبادلی بین آنها با استفاده از این کلید بهصورت متقارن رمزنگاری می گردد.
- الگوریتمهای مورد استفاده: AES (Advanced Encryption Standard)، 3DES، Blowfish
- نحوه عملکرد: هر پیامی که کلاینت یا سرور ارسال میکند، با استفاده از کلید مشترک رمزنگاری شده و در مقصد، با استفاده از همان کلید، رمزگشایی می گردد.
2. رمزنگاری نامتقارن (Asymmetric Encryption)
این روش در ابتدای ارتباط و جهت تولید کلید مشترک به کار میرود. در رمزنگاری نامتقارن، دو کلید وجود دارد: یک کلید عمومی و یک کلید خصوصی. کلید عمومی برای رمزنگاری و کلید خصوصی برای رمزگشایی استفاده میشود.
- الگوریتم های مورد استفاده: RSA (Rivest-Shamir-Adleman)، DSA (Digital Signature Algorithm)، ECDSA (Elliptic Curve Digital Signature Algorithm)
- نحوه عملکرد: کلاینت کلید عمومی سرور را دریافت نموده و با استفاده از آن، یک کلید مشترک را رمزنگاری و به سرور ارسال می نماید. سرور با استفاده از کلید خصوصی خود، آن کلید را رمزگشایی و از آن به بعد، جهت رمزنگاری متقارن از کلید مشترک استفاده میشود.
3. احراز هویت (Authentication)
یکی دیگر از بخشهای مهم امنیت در SSH، احراز هویت است که اطمینان میدهد طرفین ارتباط قابل اعتماد می باشند.
- روش های احراز هویت:
- احراز هویت با کلید عمومی (Public Key Authentication): در این روش، کاربر یک جفت کلید عمومی و خصوصی تولید می نماید. کلید عمومی در سرور ذخیره و هنگام ورود به سیستم، کلاینت از کلید خصوصی خود جهت امضا نمودن پیام استفاده میکند و سرور با کلید عمومی ذخیره شده صحت امضا را بررسی می نماید.
- احراز هویت با رمز عبور (Password Authentication): کاربران میتوانند از رمز عبور برای ورود استفاده نمایند، اما این روش نسبت به احراز هویت با کلید عمومی امنیت کمتری خواهد داشت.
4. یکپارچگی داده ها (Integrity)
برای اطمینان از اینکه داده های تبادل شده در طول انتقال تغییر نیافته باشند، SSH از الگوریتم های Hashing جهت بررسی یکپارچگی داده ها استفاده می نماید.
- الگوریتمهای مورد استفاده: HMAC (Hash-based Message Authentication Code) با الگوریتمهایی مانند SHA-2
- نحوه عملکرد: هر بسته داده ای که ارسال میشود، یک مقدار هش از آن همراه با کلید مشترک تولید میشود. در مقصد، بسته داده دوباره هش شده و مقادیر هش مقایسه میشوند. اگر مقادیر یکسان باشند، یعنی داده در طول انتقال تغییر نکرده است.
فرآیند رمزنگاری در SSH
فرایند رمزنگاری در SSH در چهار مرحله انجام خواهد گرفت که به شرح زیر می باشد:
- مذاکره پروتکل (Protocol Negotiation): کلاینت و سرور بر روی نوع الگوریتم های رمزنگاری و Hashing توافق می نمایند.
- تبادل کلید (Key Exchange): کلاینت و سرور با استفاده از روش های رمزنگاری نامتقارن، یک کلید مشترک را تولید می نمایند.
- ارتباط رمزنگاری شده (Encrypted Communication): پس از تولید کلید مشترک، داده ها با استفاده از رمزنگاری متقارن منتقل میشوند.
- احراز هویت کاربر: کاربر از طریق روش هایی مانند کلید عمومی یا رمز عبور احراز هویت میشود.
به این ترتیب، پروتکل SSH با استفاده از ترکیبی از رمزنگاری متقارن، نامتقارن و Hashing، امنیت و یکپارچگی ارتباطات را تضمین می نماید.
کاربرد های SSH
- ورود امن به سرور: برای مدیران سیستم و کاربران، SSH یک روش امن جهت دسترسی به سرور های راه دور (Remote) است. این پروتکل جایگزین روش های ناامن از جمله Telnet می باشد.
- انتقال فایل به صورت امن: پروتکل هایی مانند SCP و SFTP که مبتنی بر SSH هستند، جهت انتقال فایل ها بین دو سیستم استفاده میشوند و تمامی داده ها را رمزنگاری می نمایند.
- اجرای دستورات از راه دور: مدیران شبکه و توسعه دهندگان میتوانند از SSH جهت اجرای دستورات روی سرورهای راه دور به صورت امن استفاده نمایند.
- تونل سازی (Tunneling): SSH قابلیت ایجاد Tunnel دارد که به کاربران اجازه میدهد ترافیک های مختلف شبکه را از طریق یک کانال امن منتقل نمایند.
- پورت فورواردینگ (Port Forwarding): این قابلیت به شما اجازه میدهد ترافیک برنامه های مختلف را از طریق یک کانال SSH امن هدایت نمایید.
- مدیریت تجهیزات شبکه: برای تجهیزاتی مانند سوئیچ ها، روتر ها و سرور های لینوکسی که در محیط شبکه قرار دارند، استفاده از SSH امکان مدیریت ایمن را فراهم می نماید.
مزایای استفاده از SSH
- امنیت بالا: SSH از رمزنگاری جهت محافظت از داده ها و احراز هویت استفاده مینماید.
- انعطافپذیری: علاوه بر ورود به سرورها، SSH میتواند جهت انتقال فایل، Tunneling، و حتی استفاده از پورت فورواردینگ به کار رود.
- قابلیت استفاده بر روی سیستم های مختلف: SSH بر روی بیشتر سیستمعامل ها از جمله Linux، macOS و Windows قابل استفاده است. به طور خلاصه، SSH یک ابزار کلیدی جهت دسترسی امن و مدیریت سیستم های شبکه است.
اطلاعات بیشتر (لینک های مرتبط):
Router> enable
Router# configure terminal
Router(config)# hostname R1
R1(config)# enable secret SECRET
R1(config)# username USER secret SECRET
R1(config)# crypto key generate rsa modulus 768
R1(config)# ip ssh version 2
R1(config)# ip domain name NAME
R1(config)# line vty 0 4
R1(config-line)# login local
R1(config-line)# transport input ssh
سناریو: به عنوان ادمین قرار است به شما وظیفه تنظیمات SSHروی روتر سایت 1 محول شود به طوری که از روتر سایت 2 امکان برقراری ارتباط SSH به صورت ریموت با سایت 1 فراهم گردد:
تنظیمات زیر در سایت 1 از شما باید درخواست شده:
- تغییر نام دستگاه ( hostname ) از حالت پیش فرض به Site1
- تنظیم Secret برای مود Global ( Cisco!23 )
- ایجاد کاربر محلی ( Local User ) در روتر مقصد ( Site1 ) برای احراز هویت با نام test و پسورد Cisco!23
- اعمال IP روی interface مورد نظر 192.168.1.1/24
- انجام کلیه تنظیمات SSH – Site1 فقط از طریق SSH قابل دسترس باشد و سایر ارتباطات مثل Telnet غیر فعال باشد
تنظیمات زیر در سایت 2 (Site2 ) از شما درخواست شده:
- اعمال IP روی interface مورد نظر 168.1.2/24
- برقراری ارتباط از Site2 به سمت Site1 توسط SSH
Site1:
Router> enable
Router# configure terminal
Router(config)# hostname site1
Router(config)# enable secret Cisco!23
Site1(config)# username test secret Cisco!23
Site1(config)# interface gig 0/0
Site1(config-if)# ip address 192.168.1.1 255.255.255.0
Site1(config-if)# no shutdown
Site1(config-if)# exit
Site1(config)# crypto key generate rsa modulus 768
Site1(config)# ip ssh version 2
Site1(config)# ip domain name MyDomain
Site1(config)# line vty 0 4
Site1(config-line)# login local
Site1(config-line)# transport input ssh
Site2:
Router> enable
Router# configure terminal
Router(config)# hostname site2
Site2(config)# interface gig 0/0
Site2(config-if)# ip address 192.168.1.1 255.255.255.0
Site2(config-if)# no shutdown
Site2(config-if)# end
SSH Connection From Site2
Site2# ssh -l test 192.168.1.1
Password: Cisco!23
Site1>
ا
اطلاعات بیشتر (لینک های مرتبط):
آموزش سیسکو
آموزش میکروتیک
نظرات کاربران