کلیدهای SSH جزئی از یک پروتکل هستند که در حین انتقال داده ها بین سرورها و کامپیوترها امنیت سیستم های IT را تضمین کرده و توسط سازمان هایی مورد استفاده قرار می گیرند که به ارتباطات بین سیستمی و مدیریت امن تر آنها وابسته هستند.
با این وجود اکثر شرکت ها این کلیدهای SSH را به طرز نامناسبی مدیریت می کنند، که امنیت آنها را به خطر می اندازد. به همین دلیل این مطلب را برای شما آماده کردیم تا به اهمیت پروتکل SSH، تاریخچه آن، مزایا و نحوه عملکردش به طور مفصل اشاره کنیم.
استفاده از کلیدهای SSH برای سازمان هایی که برای پیشبرد امور خود به ارتباطات بین کامپیوترها و سرورها وابسته هستند، یک ضرورت به شمار می آیند. با این حال، برای برقراری امنیت صحیح در این زمینه، باید اقدامات خاصی صورت گیرد.
بیایید بحث امروز را با دو خبر از امضاهای SSH لو رفته شروع کنیم...
اولین مورد در سال 2019 رخ داد، اما در سال 2020 شناسایی شد! جالب است بدانید که شرکت هاستینگ GoDaddy را نیز در بر می گیرد.
این شرکت اعلام کرد که امضاهای SSH بیش از 28 هزار کاربر تحت حمله قرار گرفته است. یک مهاجم مخرب از سیستم های امنیتی آنها عبور کرده و به داده های ورودی SSH دست یافته بود که در سرورهای این شرکت مستقر شده بودند.
موضوع به سرعت پیگیری و رفع شد. به طوری که شرکت مجبور شد تا تمام یوزنیم ها و پسوردهای درگیر شده در این حمله را ریست کرده و IP شناسایی شده را بلاک کند.
در سال 2021، GutHub یک اخطاریه از Axosoft دریافت کرد که در مورد یکی از کاربران git GUI شان که کلیدهای ضعیفی تولید می کرد، گزارش می داد؛ به همین دلیل، تمام کلیدهایی که توسط این کلاینت در سایت گیت هاب تولید شده بود را لغو کرد تا وابستگی امنیتی این شرکت به چنین کلاینتی به کل مجموعه و کاربرانش آسیبی وارد نکند.
از آن پس این شرکت اجازه تولید کلیدهای ضعیف را از کاربران گرفته و ورژن های قدیمی را لغو کرد.
این دو رویداد نشان می دهند که حتی سازمان های بزرگ نیز پروتکل SSH خود را به روشی صحیح مدیریت نمی کنند.
این موضوع می تواند امنیت کل سیستم را به خطر اندازد.
به همین دلیل این مطلب جامع و کاربردی را برای شما و سازمان تان تولید و منتشر کردیم تا هرآنچه در مورد کلیدهای SSH باید بدانید را فرا بگیرید.
پروتکل SSH چیست و چرا مهم است؟
SSH مخفف Secure Shell یا پوسته امنیتی است که می توان به آن به عنوان مکانیزمی برای مدیریت دسترسی های امنیتی به سرورها و اطلاعات موجود در آن نگاه کرد. پس به عبارت دیگر، SSH اتصالی امن و از راه دور به سرور را از طریق اینترنت مهیا می کند.
این اتصال رمزنگاری شده و لازم است در هر دو سمت اعتبار سنجی شود ( هم سمت سرور و هم سمت کامپیوتر ).
به این ترتیب تنها سرور و کامپیوتر شما قادر خواهند بود تا پیام ها و بسته های ارسالی شما را رمزگشایی کنند.
SSH که در حال حاضر توسط سرورها و دیتاسنترهای مختلفی مورد استفاده قرار می گیرد، شامل پروتکلی است که انتقال داده ها را با کپسوله سازی اپلیکیشن ها ممکن می سازد.
با کلیدهای SSH ادمین های سیستم ها و توسعه دهندگان اپلیکیشن ها به طور امن تری از راه دور به سیستم های خود دسترسی خواهند یافت. این ویژگی به طور گسترده ای در آپدیت های دیتابیس، بک آپ ها، مدیریت سیستم های خودکار، و برنامه های رصد سلامت سیستم مورد استفاده قرار می گیرد.
در عمل، کلیدهای SSH نقش مهمی در عملکرد شبکه های دیجیتال خودکاری بازی می کنند که توسط دیتاسنترها و کسب و کارهای مختلفی مورد استفاده قرار می گیرند.
این راهکار، اتصالات رمزنگاری شده را با سایر سیستم ها، پلتفرم ها و شبکه هایی مهیا و تضمین می کند که می توانند در محیط های مختلفی توزیع شده باشند؛ مثل محیط از راه دور یا در محیط کلود.
کلیدهای SSH جایگزینی برای تکنیک های امنیتی ای هستند که برای رمزنگاری داده های انتقالی مناسب اند. با این وجود، این رویکرد باید به خوبی محافظت شده، به طور مستمر تحلیل، مستندسازی و مدیریت شود. اگر این فرآیند جدی گرفته نشود، امنیت کل محیط به خطر خواهد افتاد.
با توجه به اینکه SSH در تمام دیتاسنترها مورد استفاده قرار می گیرد، به طور پیش فرض بر روی تمام سرورهای Linux، Unix و Mac فعال است.
در کنار استفاده از SSH برای برقراری کانالی امن بین دستگاه های لوکال و ریموت، می توان از SSH برای مدیریت روترها، سخت افزارهای سرور، پلتفرم های مجازی سازی، سیستم های عامل، و مدیریت سیستم های داخلی و اپلیکیشن های انتقال فایل، بهره مند شد.
علاوه بر اینکه کلیدهای SSH دسترسی آسان تر بین مرزهای سازمانی را مهیا می کنند، آنها امکانی به نام SSO یا Single sign in به معنای ورود یک باره، را برای کاربران فراهم می کنند تا بتوانند بین اکانت های خود بدون نیاز به تایپ کردن پسورد در هر بار اتصال، جا به جا شوند.
به طور مختصر قابلیت های SSH عبارتند از:
- ایمن سازی دسترسی از راه دور به سیستم های شبکه ای برای کاربران، بهمراه فرآیند های خودکار
- ایجاد سشن های امن و تعاملی برای انتقال فایل
- انتقال خودکار و امن فایل ها
- اعمال دستورات امن روی دستگاه ها و سیستم های از راه دور
- مدیریت امن عناصر زیرساختی شبکه
تاریخچه ای مختصر از SSH
اولین نسخه پروتکل SSH در دهه 1990 توسط محققی به نام Tatu Ylonen در دانشگاه Helsinki ساخته شد. در آن زمان، یک حمله sniffing در شبکه دانشگاه شناسایی شده بود، که می توانست ترافیک شبکه را رصد، ضبط و مختل کرده و یوزرنیم ها و پسوردها را برای سایرین افشا کند.
در نهایت، هزاران امضای دیجیتال لو رفت. به همین دلیل، این محقق به دنبال راهی برای ایمن سازی شبکه ها افتاد. که در نهایت پروتکل SSH را توسعه داد.
در حال حاضر کلیدهای SSH بیشتر برای اتصال و ورود از یک سیستم به سیستمی دیگر از راه دور مورد استفاده قرار می گیرد. علاوه بر این، در صورت استفاده از قابلیت رمزنگاری این پروتکل می توان به کارکردهایی از جمله اعمال دستورهای از راه دور و مدیریت زیرساخت های شبکه و سایر عناصر حیاتی سیستم ها نیز دست یافت.
به همین دلیل این ابزار این روزها کاربرد بسیار مهمی دارد؛ که با ترند کار از راه دور این روزها بسیار هم خوانی دارد.
قبل از استفاده از کلیدهای SSH، لازم است ابتدا نرم افزارهای خاصی را نصب کنید.
علاوه بر اینکه سیستم های از راه دور باید نرم افزاری به نام SSH daemon را نصب داشته باشند، سیستمی که برای اعمال دستورها و مدیریت سرورها مورد استفاده قرار می گیرد نیز باید نرم افزاری به نام SSH client داشته باشد.
این تنها راهی است که می توان یک کانال ارتباطی مناسب با استفاده از پروتکل SSH ایجاد کرد.
مزایای اعتبارسنجی کلید SSH
کلیدهای SSH قابلیت رمزنگاری ترافیک بین سرور و کلاینت را دارا هستند. در عمل، این یعنی اگر شخصی قصد جاسوسی از ترافیک شبکه را داشته باشد، نمی تواند داده ها را رمز گشایی کند.
این راهکار برای محافظت در مقابل حملات Brute force نیز مناسب است که از دسترسی ریموت مهاجمین به سیستم ها را مسدود می کند. با رمزنگاری کلید عمومی، دیگر نیازی به ارسال پسوردها در شبکه نبوده و امنیت در این شیوه بالاتر خواهد رفت.
یکی دیگر از مزایای استفاده از کلیدهای SSH این است که سازمان ها می توانند با مقررات امنیتی سازگاری یابند. اما برای این منظور باید این کلیدها را با توجه به خط مش های مندرج در قوانین تولید، ذخیره، مدیریت و حذف نمود تا به امنیت مورد نظر دست یافت.
کلیدهای SSH بسیار زیادی در طول زمان توسط سازمان ها تولید و ذخیره می شوند که می توانند در هر زمانی مورد استفاده قرار گیرند. بنابراین، بهتر است از نرم افزارهایی برای مدیریت بهتر آنها بهره گرفت و ریسک را به حداقل رساند.
انواع کلیدهای SSH
کلیدهای SSH امنیت و صرفه جویی در هزینه را برای خدمات کامپیوتر محور و سرویس های ابری مهیا می سازند؛ البته در صورت مدیریت صحیح.
این ویژگی عملکردی مشابه رمزهای عبور دارد، چراکه دقیقا دسترسی را مجاز کرده و افرادی که به سیستم ها متصل می شوند را کنترل می کند. برای اجرای این قابلیت، باید سیاست های امنیتی را به خوبی تقبل کرده و از اکانت ها و پسوردهای کاربران کمک گرفت.
منظور از این مطلب این است که باید کنترل کاملی بر کلیدهایی داشت که دسترسی پذیری، محرمانگی و یکپارچگی سیستم ها را فراهم می کنند.
این کلیدها با توجه به عملکردشان به دسته هایی تقسیم می شوند: کلیدهای کاربر، کلیدهای هاست، و کلیدهای سشن...
-
User Keys
منظور از کلیدهای کاربر، کلیدهای هویتی و اعتبار سنجی هستند که برای تایید ورود یک کاربر مورد استفاده قرار می گیرند. مکانیزم اعتبار سنجی آن تحت عنوان "اعتبار سنجی کلید عمومی" یا "Public-Key Authentication " شناخته می شود.
این کلیدهای هویتی توسط کلاینت های SSH صدور اجازه به کاربران برای ورود به سرورهای SSH را فراهم می کنند.
-
Host Keys
این نوع از کلید برای اعتبارسنجی کامپیوترها مورد استفاده قرار گرفته و از حملات man-in-the-middle جلوگیری می کند.
این اعتبار سنجی از نوع مدرک-محور بوده و می تواند برای سازمان ها بسیار کاربردی باشد.
این کلیدهای اعتبار سنجی باید تمام اتصالات را ایمن کنند. یکی از ویژگی های SSH به خاطر سپاری کلید هاست در زمان اولین اتصال به آن است.
-
Seesion Keys
کلیدهای سشن قابلیت رمزنگاری بیشتر داده ها در یک اتصال را دارند. این کلید در زمان برقراری اتصال بین دو طرف تبادل می شود. سپس برای الگوریتم رمزنگاری متقارن یا symmetric و یک الگوریتم کد اعتبار سنجی که از محافظت داده ها اطمینان حاصل می کند، مورد استفاده قرار می گیرد.
کلیدهای SSH چطور تولید می شوند؟
حال که در مورد SSH اطلاعات کافی کسب کردید، بگذارید در مورد نحوه عملکرد آن نیز بیشتر توضیح دهیم.
هدف اصلی SSH اعتبار سنجی کاربری است که قصد دارد از راه دور به طور امن با سرور ارتباط گیرد.
برای رسیدن به این هدف، SSH باید به وسیله یک ترمینال که رمزنگاری را مهیا می سازد، در اختیار کاربر قرار گیرد؛ صرف نظر از سیستم عامل مورد استفاده.
اگر سیستم عامل شما ویندوز باشد برای اینکار به یک SSH client مثل Putty نیاز خواهید داشت تا بتوانید اتصال را برقرار کنید.
از طرفی باید سرور یا سرویس هاستینگ شما نیز دسترسی SSH را فعال کرده باشد. پس قبل از هر چیز این موضوع را نیز چک کنید.
اغلب این اتصال به سرور توسط توسعه دهندگان و برنامه نویسان برای پیشبرد امور مدیریت بک اند سایت لازم خواهد بود. پس برای برقراری امنیت داده هایی که مداوما در این پروسه در جریان هستند، باید از SSH کمک گرفت.
همانطور که گفتیم در این پروتکل، فایل های انتقالی از رمزنگاری برای برقراری امنیت استفاده می کنند. ساختارهای رمزنگاری مختلفی برای این امر مورد استفاده قرار می گیرد که اغلب در سه دسته متقارن، نا متقارن و هشینگ قرار می گیرند.
-
رمزنگاری متقارن
در رمزنگاری متقارن، از یک کلید عمومی و یک کلید خصوصی که بین سرور و کلاینت محفوظ هستند کمک گرفته می شود. پس برای خواندن پیام ها داشتن این کلیدها ضروری است.
تولید و ارسال اتوماتیک این کلیدهای رمزنگاری توسط یک الگوریتم انجام می شود، که با هر سشن ساخته شده توسط کاربر اقدام به تولید کلید جدید و تکرار این فرآیند خواهد کرد.
به عبارت دیگر این کلیدها در یک جفت تحت عنوان کلید عمومی و کلید خصوصی ایجاد می شوند. برای اینکار از الگوریتم های پیچیده ای استفاده می شود که اشتباه پذیری و شناسایی کلید خصوصی را غیر ممکن و نا محتمل سازد. حتی اگر کلید عمومی شناسایی شده باشد.
پس یک فرد باید کلید خصوصی را نزد خود مخفی سازد، که تنها توسط یک کاربر مجاز مورد استفاده قرار گیرد. اما کلیدهای عمومی می توانند با سایرین به اشتراک گذاشته شوند.
برای تولید کلیدهای SSH باید اطلاعاتی نظیر یوزنیم و پسورد را وارد کنید، معمولاً عبارات کوتاهی برای کلیدهای عمومی و خصوصی ایجاد می شوند.
در این حالت، محتوایی که توسط کلیدهای عمومی رمزنگاری می شوند، تنها با کلید خصوصی متناظرشان می توانند رمزگشایی شوند.
-
هشینگ ( Hashing )
هشینگ مدل یه طرفه ی رمزنگاری است که در آن الگوریتم از یک هش، کدهای اعتبار سنجی و فرم خاصی از رمزنگاری برای محافظت از پیام ها استفاده می کند.
کدهای اعتبار سنجی پیام های هش-محور از دستکاری شدن کدهای ارسال شده به سمت سرور از راه دور محافظت می کنند.
دسترسی کلید SSH چیست؟
برای برقراری اتصال از طریق SSH ، علاوه بر اعتبار سنجی سرور از طریق کلید هاست، و کاربر از طریق کلید عمومی، داد و ستدهایی از جنس پروتکل، الگوریتم های رمزنگاری و کلیدهای سشن نیز لازم هستند.
سپس اطلاعات رد و بدل خواهند شد، از جمله گرافیک ها، فایل ها، و داده های ترمینال.
اعتبار سنجی کلید عمومی از سایر ابزارهای اعتبار سنجی امنیت بیشتری را تضمین می کند. بعلاوه این نوع از اعتبار سنجی برای دسترسی های انسانی و بین ماشینی بیشتر مورد استفاده قرار می گیرد.
کلیدهای SSH مدیریت نشده، می توانند توسط هکرها برای نفوذ بر زیرساخت های شبکه مورد سوء استفاده قرار گیرند. و یا لو رفتن یک کلید خصوصی می تواند به پیکربندی های دشوار و رخنه های اطلاعاتی منتج شود.
تنها ایراد امنیتی سیستم هایی که از کلیدهای SSH استفاده می کنند، این است که خطاهای انسانی می تواند به علت پیچیدگی های مدیریتی و کمبود دانش هر زمانی رخ دهند.
ساده ترین راه استفاده از SSH برای اتصال به سرور از راه دور در یک سشن ترمینال، استفاده از چنین کامند یا دستوری است:
ssh UserName@SSHserver.example.com
با فرض بر اینکه این اولین اتصال کلاینت به اتصال با این سرور است، یک تبادل اطلاعات بین لوکال هاست و سرور رخ داده و کاربر با یک امضای کلید عمومی به سرور ریموت پاسخ داده می شود، چیزی شبیه به این:
The authenticity of host 'sample.ssh.com' cannot be established.
DSA key fingerprint is 01:23:45:67:89:ab:cd:ef:ff:fe:dc:ba:98:76:54:32:10.
Are you sure you want to continue connecting (yes/no)?
با پاسخ "بله" به این سوال، می توان به سرور متصل شد، اما همانطور که در اولین عبارت ذکر شده اعتبارسنجی هاست تا بحال انجام نشده است، پس باید یک کلید عمومی تولید شود. کلید هاست تولید شده نیز در فایلی به نام hosts file درون سیستم لوکال ذخیره خواهد شد که البته این فایل در حالت عادی hidden یا مخفی است.
پس از ذخیره شدن این کلید، از این پس کلاینت می تواند بدون تایید مجدد به سرور متصل شود، این کلید اعتبار ورود و اتصال مجدد به سرور خواهد بود.
مقایسه SSH و Telnet
telnet یکی از اولین پروتکل های اپلیکیشن اینترنت بود، در کنار یک پروتکل دیگر به نام FTP. این پروتکل برای برقراری ارتباط اولیه و نگهداری یک ترمینال سشن های تکراری در یک هاست ریموت است.
SSH و telnet عملکرد یکسانی دارند، با این تفاوت ساده که پروتکل SSH از امضای دیجیتال کلید عمومی برای اعتبار سنجی نقاط نهایی در هر سشن ترمینال، استفاده می کند. بعلاوه این پروتکل دستورات و خروجی ها را نیز رمزنگاری می کند. در حالی که Telnet اصولا برای تکرار ترمینال ها مورد استفاده قرار می گیرد.
مقایسه SSH و SSL/TLS
پروتکل امنیت لایه انتقال TLS که نسخه جدید SSL است، برای برقراری امنیت در انتقال داده های بین شبکه ها طراحی شده است. پروتکل SSH در این لایه و یا بالای آن ( لایه Transport ) بکار خود می پردازد، اما با این حال تفاوت های مهمی بین این دو پروتکل موجود است.
با اینکه هر دو برای اعتبار سنجی هاست ها از جفت کلیدهای عمومی و خصوصی استفاده می کنند، اما در TLS تنها سرور با این جفت کلید اعتبار سنجی می شود. اما SSH برای اعتبار سنجی هر اتصال یک جفت کلید جداگانه بکار می برد. یعنی یک جفت کلید برای اتصال از دستگاه لوکال به دستگاه ریموت، و یک جفت کلید دیگر برای اعتبار سنجی اتصال از دستگاه ریموت به دستگاه لوکال.
یک تفاوت بارز دیگر بین SSH و TLS، این است که TLS این امکان را برای اتصالات فراهم کرده تا بدون اعتبار سنجی رمزنگاری شوند و یا بدون رمزنگاری اعتبار سنجی شوند. اما SSH تمام اتصالات را رمزنگاری و اعتبار سنجی می کند.
از طرفی، SSH این قابلیت را برای متخصصین امنیتی فراهم کرده تا با استفاده از یک مکانیزم امنیتی کلاینت های SSH را از راه دور مدیریت کنند. به طوری که بجای اعتبار سنجی رمزهای عبور برای اتصال بین کلاینت و سرور، SSH دستگاه ها را اعتبار سنجی می کند.
ارتقا امنیت کلیدهای SSH
برای ارتقای امنیت پروتکل SSH باید اقدامات مشخصی را انجام داد، از جمله توصیه های NIST IR 7966 که برای حسابرسان، شرکت ها و سازمان های دولتی نکاتی را ارائه داده است.
تغییر دادن دستی کلیدهای SSH نباید امکان پذیر باشد، حتی در محیط هایی که پیچیدگی خاصی ندارند؛ به این دلیل که شناسایی فردی که کلید خصوصی را در اختیار داشته و به یک کلید عمومی پاسخ می دهد، دشوار خواهد شد.
راهکار ایده آل که توسط سازمان هایی که از امنیت سایبری استفاده می کنند نیز بارها بکار گرفته شده، این است که از یک تکنولوژی خاص برای مدیریت کلیدهای SSH یا از ابزارهای خودکار مدیریت پسورد استفاده شود که به کاربر اجازه می دهند تا جفت کلیدهای منحصر به فردی را تولید کنند.
این راهکار به این دلیل توصیه می شود که ابزارهای خودکار فرآیند تولید، مدیریت و تغییر کلیدهای SSH را ساده تر می کنند. بنابراین آنها از پراکندگی جلوگیری کرده و امنیت را ارتقا می دهند.
علاوه بر این راهکار می توانید از این توصیه ها نیز بهره مند شوید:
- تمام کلیدهای SSH باید شناسایی شده و تحت مدیریت فعال قرار گیرند. این اولین قدم در جلوگیری از انتشار و دسترسی به کلیدهاست. با اینکار می توان متوجه شد که کدام کاربر از چه کلیدی و برای چه اقدامی استفاده کرده است.
- بهتر است کلیدهای SSH را بجای اکانتی که توسط چندین کاربر مورد استفاده قرار می گیرد، تنها به یک فرد اختصاص داد. در این صورت، کنترل کامل تری بر دسترسی ها ممکن خواهد شد.
- یکی دیگر از راهکارها این است که برای استفاده از کلیدها محدودیت تعیین شود ( PoLP )؛ به صورتی که هر کاربر تنها به سیستم هایی دسترسی خواهد داشت که از آنها برای انجام امور محوله استفاده می کند. اینکار سوء استفاده از کلیدهای SSH را به حداقل خواهد رساند.
- یک راه دیگر، چرخش کلیدهای SSH است؛ به طوری که از کاربران خواسته می شود تا در بازه های زمانی گوناگون کلیدهای جدید ایجاد کنند و یا محدودیتی برای تکرار پسوردها در اکانت های مختلف تعبیه شود. این روش می تواند برای سازمان ها این مزیت را داشته باشد که از حملاتی که با استفاده از یک رمز عبور به اکانت های مختلف، یا حدس پسورد صورت می گیرد، جلوگیری کنند.
- برای اعمال امنیت سایبری تمام سشن هایی که با اعتبار سنجی SSH شروع شده اند، می بایست بررسی و رصد شوند. این موضوع کنترل بر اقدامات صورت گرفته در هر سشن را برای سازمان ها ممکن می سازد.
آماری در خصوص امنیت کلیدهای SSH
یک پرسشنامه ای از Venafi نشان داد که اکثر شرکت ها از پروتکل SSH به درستی استفاده نمی کنند. در زیر جزئیات بیشتر این تحقیق را خواهیم دید که از بیش از 400 متخصص امنیت سایبری پرسیده شد:
- 61% از پاسخ دهندگان اظهار داشتند که آنها محدودیتی برای تعداد ادمین هایی که می توانند SSH را مدیریت کنند، در نظر نگرفته اند.
- تنها 35% از این موسسات کاربران را از پیکربندی کلیدهای مجاز منع می کردند، که این کار سیستم را در برابر دخالت ها نا امن می کند.
- 90% از متخصصین مصاحبه شده گفتند که آمار دقیق تعداد کلیدهای SSH را ندارند. در این صورت شناسایی کلید نامطمئن و خطرآفرین غیر ممکن خواهد بود.
- همانطور که گفته شد چرخش بین کلیدها به طور مستمر و تغییر دادن آنها به شدت توصیه می شود، با این حال، تنها 23% از پاسخ دهندگان از این توصیه پیروی می کردند. 40% از آنها نیز هیچ تغییری اعمال نمی کردند.
- پورتی که SSH را هدایت می کند به هکرها کمک می کند تا فایروال ها را دور زده و به نقاط دیگر شبکه هدف دسترسی پیدا کنند؛ اما 51% از متخصصین امنیتی اظهار داشتند که هیچ اقدامی در این خصوص انجام نداده اند.
- 54% از آنها پاسخ دادند که هیچ محدودیتی برای مناطقی که می تواند از کلیدها استفاده کرد، در نظر نگرفته اند. به این ترتیب هکرها می توانند از راه دور به کلیدهای SSH دسترسی پیدا کنند.
- 60% از سازمان ها برای شناسایی کلیدهای SSH جدید در شبکه شان آمادگی نداشتند.
- 76% آنها، از سیستم های امنیتی ای که به کلیدهای SSH ابری مجهزند ، بهره مند نبودند.
کامندها یا دستورات SSH
با این که نرم افزارهای خاصی برای اجرای SSH موجود هستند، اما اغلب بکارگیری آن با دستورات راحت تر انجام می شود.
ساده ترین حالت دستور SSH فراخوانی برنامه و نام هاست مقصد یا آدرس IP است:
ssh server.example.org
این شما را به مقصد متصل می کند؛ هاست مقصد در ادامه از شما یک پسورد خواهد خواست که بتوانید با آیدی کاربری خود وارد شوید.
در اکثر اوقات User ID برای هاست ریموت متفاوت خواهد بود که برای حل این موضوع باید از چنین دستوری استفاده کرد:
ssh remote_host_userID@server.example.org
SSH را می توان از طریق command line برای اعمال یک دستور مفرد در هاست ریموت استفاده کرد و سپس از آن خارج شد؛ برای مثال:
ssh example.org ls
این دستور یک دستور Unix is را اجرا خواهد کرد که تمام محتواهای دایرکتوری فعلی را لیست می کند. پس می توان با چنین دستوراتی به یک فایل خاص نیز دسترسی پیدا کرد. و سپس، پس از استفاده ترمینال را بست.
می توان از دستورات زیر نیز برای مقاصد دیگر استفاده کرد:
Ssh-keygen برای ساخت یک جفت کلید اعتبار سنجی اتصال SSH جدید است که می تواند برای خودکار سازی ورودها، اجرای SSO و اعتبارسنجی هاست ها مورد استفاده قرار گیرد.
Ssh-copy-id برای کپی کردن، نصب و پیکربندی یک کلید SSH روی یک سرور مورد استفاده قرار می گیرد که ورودهای بدون پسورد و SSO را خودکار سازی می کند.
Sftp برنامه ای که برای کپی کردن فایل ها از کامپیوتری به کامپیوتر دیگر مورد استفاده قرار می گیرد. این دستور نسخه SSH محور FTP است. این دستور به یک مکانیزم محبوب تر در اشتراک گذاری فایل ها در اینترنت تبدیل شده است.
دستورات بی شمار دیگری نیز در فضای اینترنت موجود هستند که می توانید از آنها برای پیشبرد اهداف خاص خود استفاده کنید.
منظور از SSH tunneling چیست؟
SSH tunneling که به عنوان فروارد کردن یا هدایت پورت SSH نیز شناخته می شود، تکنیکی است که یک کاربر را قادر می سازد تا یک تونل امن بین لوکال هاست و هاست ریموت ایجاد کند.
در اصل SSH port forwarding ترافیک شبکه را به سمت یک آدرس IP یا پورت خاص ریدایرکت می کند. در نتیجه هاست ریموت به طور مستقیم برای اپلیکیشن یا سایت در دسترس خواهد بود. ممکن است مقصد روی سرور SSH ریموت باشد، و حتی ممکن است همان سرور ریموت به سمت هاست ریموت دیگری فوروارد شود.
تونل های SSH برای ادمین های IT ابزاری بسیار کاربردی است؛ صد البته برای هکرها؛ چراکه همانطور که گفته شد آنها می توانند به کمک آن فایروال های شبکه را دور بزنند. در نهایت باید از ابزارهایی برای جلوگیری از استفاده ی غیر مجاز از تونل های SSH کمک گرفت.
توصیه می کنیم مطالب مربوط به امنیت سایبری از جمله تفاوت http و https، آشنایی با data breach، آشنایی کامل با کلیدهای عمومی و خصوصی، چیستی TLS و غیره را در بلاگ میزبان کلود مطالعه کنید.
جمع بندی
هر شرکت یا سازمانی که دارای وب سایت است باید اطلاعاتی که درون آن قرار دارد را به نحو احسن مدیریت کند. همانطور که مشخص است فایل های این سایت باید در جایی به نام سرور یا هاست مستقر شود؛ استفاده از پروتکل SSH یکی از راه های دستیابی به این فایل ها و اطلاعات درون سرور است. با مطالعه این مطلب دانش کافی در مورد کلیدهای SSH، تاریخچه ای مختصر از آنها، و اهمیت دقت در پیاده سازی و مدیریت این کلیدهای امنیتی کسب کردید؛ امیدواریم این مطلب برای شما مفید واقع شده باشد.
ارائه دهنده خدمات زیرساخت یکپارچه ابری