نحوه تولید و مدیریت کلیدهای SSH

پروتکل SSH حفاظت ارتباطات پیشرفته ای را برای محافظت در برابر آن فراهم می کند امنیت آسیب پذیری هایی از جمله باج افزار و سایر حملات.

برای مدیران و کاربران سیستم، همه چیز با ابزار ssh-keygen آغاز می شود که به عنوان فعال کننده مهم ایجاد و مدیریت کلید SSH عمل می کند.

هدف از کلیدهای SSH

کلیدهای SSH (مخفف “کلیدهای پوسته ایمن”) می توانند مکمل یا جایگزینی برای روش های دسترسی سنتی به نام کاربری و رمز عبور ارائه دهند. روش های رمز عبور می توانند به ویژه برای فیشینگ و brute-force نفوذ کنند حملات سایبری.

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

در مجموع، این کلیدها یک جفت کلید را تشکیل می دهند که به عنوان یک اعتبار دسترسی ایمن برای احراز هویت می ایستد. این برای سرورهای مرکز داده و همچنین از راه دور مفید است شبکه شده سرورها و مشتریان بنابراین ابزار ssh-keygen برای تولید کلید به یک ابزار مهم در جعبه ابزار مدیر و کاربر تبدیل شده است.

پروتکل SSH چگونه کار می کند؟

پروتکل SSH از لایه برنامه در بالای لایه انتقال استفاده می کند پشته TCP/IP. جفت های کلید SSH از زیرساخت کلید عمومی (PKI) برای ارائه عملیات رمزگذاری شده استفاده می کنند.

مربوط:پاسخ به حادثه: درس های آموخته شده از آتش سوزی مرکز داده

در اینجا، دست دادن اساسی توضیح داده شده است:

  1. در ابتدا یک اتصال امن بین یک سرویس گیرنده SSH و یک سرور SSH ایجاد می شود، یک دستگاه مشتری از پوسته ترمینال (AKA، پوسته خط فرمان) برای شروع فرآیند ارتباط با تماس با سرور استفاده می کند.

  2. به نوبه خود، سرور کلید عمومی خود را برای مشتری ارسال می کند. کلید عمومی سرور برای رمزگذاری داده ها استفاده می شود و برای هر مشتری قابل استفاده است.

  3. کلاینت کلید عمومی را با ورودی مناسب پیکربندی SSH محلی خود (مانند ~/.ssh/known_hosts) برای کلید عمومی مرتبط با نام میزبان سرور مطابقت می دهد. مشتری این را تأیید می کند و هویت سرور را تأیید می کند.

  4. در احراز هویت مشتری، کلاینت هویت خود را با ارسال کلید عمومی به سرور ثابت می کند.

  5. سرور یک چالش تصادفی ایجاد می کند و آن را با کلید عمومی مشتری رمزگذاری می کند.

  6. سپس، مشتری از کلید خصوصی خود برای رمزگشایی چالش استفاده می کند.

  7. کلاینت پاسخ را با کلید عمومی سرور که در حین تأیید سرور دریافت کرده رمزگذاری می کند و آن را پس می فرستد. بنابراین ثابت می کند که دارای کلید خصوصی مربوطه است.

ابزار ssh-keygen در سطح خط فرمان توسط یونیکس، لینوکس، MacOS، ویندوز و غیره پشتیبانی می شود. سیستم های عامل برای تولید کلیدهای امن همچنین برای مدیریت و تبدیل کلیدهای احراز هویت استفاده می شود.

مربوط:راهنمای انعطاف پذیری ابر: به حداکثر رساندن امنیت، به حداقل رساندن زمان خرابی

از جمله الگوریتم‌های رمزنگاری کلید عمومی که می‌توان با ابزارهای ssh-keygen استفاده کرد، می‌توان به DSA، ECDSA، ECDSA-SK، ED25519 و RSA اشاره کرد.

نحوه انتخاب الگوریتم ها و اندازه های کلیدی قوی

انتخاب الگوریتم و طول کلید یک مرحله مهم در ایجاد کلید است و پیاده‌کننده‌ها باید عواملی مانند تأخیر، سربار محاسباتی مورد نیاز و سطح امنیت را در انتخاب طول بزرگ کلید متعادل کنند، که بسته به نوع کلید معمولاً از 256 بیت تا 4096 بیت متغیر است. در نسخه الگوریتم در واقع، تعداد بیت ها می تواند بسیار بالاتر باشد.

با این حال، برخی از الگوریتم‌های رمزنگاری مدرن می‌توانند امنیت عالی را با مکمل‌های بیتی نسبتاً متوسط ​​به دست آورند.

دستورات SSH-Keygen

SSH یک پروتکل است، نه یک برنامه نرم افزاری، اما دستورات ssh-keygen به طور طبیعی برای عملیات ضروری هستند. از جمله دستورات مهم می توان به موارد زیر اشاره کرد:

ssh-keygen -t

این دستور با استفاده از الگوریتم RSA PKI جفت های جدیدی تولید می کند.

ssh-copy -id

این دستور برای نصب یک کلید کار می کند.

پرچم -e

این دستور بیان می کند که کاربر می خواهد از یک فایل کلید خصوصی برای احراز هویت استفاده کند. گزینه های این عملیات عبارتند از

-f input_keyfile / -m key_format

این دستورات هر دو فرمت فایل کلید خصوصی را مشخص می کنند.

دستورات عمومی SSH Keygen

اینفوگرافیک زیر برخی از دستورات رایج ssh-keygen را نشان می دهد:

SSH-Keygen-Commands.jpg

ویژگی‌ها و بهبودهای SSH Keygen

پروتکل ssh-keygen در طول زمان پیشرفت هایی را دریافت می کند. اینها شامل الگوریتم های رمزنگاری جدید، ویژگی ها و رفع اشکال می شود. به روز رسانی های مفید از زمان ظهور SSH-1 یک ویژگی مشخص بوده است. آن تلاش اولیه به طور مستمر بیشتر مورد استفاده قرار گرفت.

مختصری از تاریخچه SSH

SSH-1 برای اولین بار به عنوان جایگزینی برای a استفاده شد شبکه راه دور پروتکل (Teletype Network) که در اصل برای مدیریت ارتباطات اینترنتی استفاده می شد. ریشه SSH به سال 1995 باز می گردد، زمانی که یک حمله شناسایی رمز عبور باعث محقق فنلاندی شد. تاتو یلونن برای ایجاد پروتکل با استفاده از رمزگذاری RC4.

در آن زمان، اسنایفرهای شبکه شروع به استفاده از مشاهده و ضبط اطلاعات بسته‌بندی‌شده کرده بودند. این sniffer های مبتنی بر سخت افزار به مرور زمان به sniffer های مبتنی بر نرم افزار ملحق شدند. رمز رمزگذاری اصلی SSH متعاقباً به روز شد.

مانند هر فناوری دیگری، کلید SSH یک گلوله نقره ای نیست. کلید SSH و فرآیندهای مرتبط نیاز به طراحی و مدیریت دقیق برای محافظت از ارتباطات دارند. با این حال، پروتکل SSH بیش از یک جایگزین مفید برای Telnet است.

رسیدگی به نگرانی های ادمین

ssh-keygen به کارکنان مرکز داده جایگزینی برای نام کاربری و رمز عبور سنتی برای دسترسی به سرورهای راه دور ارائه می دهد. با این حال، استفاده گسترده از دستور ssh-keygen باید با درک این نکته که کلیدهای SSH می توانند به طور گسترده در یک سازمان تکثیر شوند، تعدیل شود – بنابراین، نیاز به توجه مداوم به مدیریت کلید دارد.

برای مدیریت بهینه، ادمین‌ها و کاربران ssh-keygen باید به چرخش کلید، ذخیره‌سازی کلید خصوصی امن، و شیوه‌های انطباق عمومی مرتبط با موارد استفاده خود توجه کنند.

توانایی مدیران برای تخصیص مستقل ارتباطات رمزگذاری شده در سازمان هایی که نیاز به حرکت سریع دارند و در عین حال امنیت شبکه را تضمین می کنند، مزایای زیادی به همراه دارد.


Source link