کلید SSH کپی شده یا عامل فوروارد شده؟ دو ریسک متفاوت
امضا یک فایل کلید نیست، و یک عامل واگذارشده یک افشا نیست. واقعیت پروتکل را از پرسش اعتماد به نقطه پایانی جدا کنید و سپس پاسخ دهید.
ورودی که از کلید SSH از طریق VPN استفاده میکند به این معنا نیست که کلید خصوصی به اپراتور شبکه تحویل داده شده است، و این اطمینانبخشی باریکتر از آن است که مردم میشنوند. احراز هویت با کلید عمومی یک کلید عمومی و امضایی میفرستد که کلاینت بهصورت محلی تولید میکند. فوروارد کردن عامل ترتیب دیگری با قرارگیری در معرض دیگری است و میتواند یک قابلیت احراز هویت قابل استفاده روی ماشینی بگذارد که شما کنترلش نمیکنید. پاسخی که بدهکارید بستگی دارد به اینکه کدام یک از این دو واقعاً رخ داده است.
احراز هویت با کلید عمومی چه میفرستد
در روش استاندارد کلید عمومی، کلاینت یک کلید عمومی ارائه میدهد، سرور تصمیم میگیرد که آن کلید را میپذیرد یا نه، و کلاینت یک چالش را با کلید خصوصی امضا میکند که در فایل یا عامل آن باقی میماند. آنچه از شبکه میگذرد کلید عمومی و امضای حاصل است. هیچ چیز در این تبادل لازم نمیکند که سرور، تونل یا هر کسی در مسیر، مواد خصوصی را نگه دارد.
مشخصات احراز هویت آن اثبات را تعریف میکند، و کلید خصوصی فیلدی در درخواست نیست.
این اظهارنظری درباره یک پروتکل است، نه شهادت شخصیت برای هر نقطه پایانی درگیر. بررسی هویت میزبان هنوز باید دستنخورده بماند، زیرا سروری که نمیتواند ثابت کند کیست ممکن است امضاها را برای هدفی جمع کند که شما در نظر نداشتید. یک ماشین مجازی اجارهای، یک سنگر بهارثرسیده و یک لپتاپ با افزونه ناشناخته سه پرسش اعتماد جداگانهاند. آنها را از پرسش رمزنگاری جدا نگه دارید، که واقعاً حل شده است.
فوروارد کردن عامل چه چیزی را واگذار میکند
فوروارد کردن عامل کانالی از میزبان راه دور به عامل روی ماشین شما باز میکند، تا فرایندهای آن میزبان بتوانند بدون داشتن کلید خصوصی از عامل بخواهند امضا کند. کلید همانجا که هست میماند و قابلیت نه. هر چیزی که بتواند به آن سوکت فورواردشده روی میزبان راه دور برسد، در طول عمر نشست، میتواند عملیات احراز هویت را بهعنوان یکی از هویتهای بارگذاریشده درخواست کند. این اختیار واگذارشده است، و به همین دلیل فوروارد کردن سیاستی باریکتر از تحویل یک کلید عمومی میخواهد.
یک فایل کلید کپیشده افشاست. یک عامل فورواردشده مجوز است، و این دو پاسخهای متفاوت میخواهند.
فوروارد کردن را برای نیازی نامدار و میزبانهای نامدار فعال کنید و بررسی کنید کلاینت واقعاً چه میکند، نه آنچه پیکربندی به نظر میرسد میگوید. تنظیمات مؤثر اهمیت دارند، زیرا یک بلوک میزبان بیصدا یک پیشفرض سراسری را نادیده میگیرد. همین استدلال در سمت سرور صدق میکند، که میتواند وقتی استقرار هرگز به آن نیاز ندارد، فوروارد کردن را کاملاً رد کند.
پیش از انتخاب پاسخ، شواهد را بخوانید
اگر باور شود فایل کلید خصوصی یا هویت امضای معادلی در معرض قرار گرفته است، پاسخ جایگزینی و لغو از طریق فرایند سازمان شماست، بهعلاوه حذف پذیرش آن از هر سرویسی که به آن اعتماد کرده بود. حذف یک نسخه محلی، نسخههایی را که نمیبینید باطل نمیکند.
اگر نگرانی دسترسی موقت عامل است، پاسخ باریکتر است: واگذاری غیرضروری را متوقف کنید، نشستها و هویتهای درگیر را مرور کنید و بگذارید صاحب حادثه تصمیم بگیرد که آیا جایگزینی موجه است. شواهد اینجا مهماند، زیرا نبود خروجی مشاهدهشده اثبات نمیکند که هیچ احراز هویتی بداستفاده نشده است، و تغییر مسیر بهتنهایی تشخیص کلید دزدیدهشده نیست. بنویسید به کدام مؤلفه اعتماد شده بود، آیا فوروارد کردن فعال بود و واقعاً چه مشاهده شد. سپس پاسخی را انتخاب کنید که با آن سابقه میخواند، نه پرهیجانترین پاسخ موجود.
ssh-add -l
ssh -G host.example | grep -i forwardagent
آنها را قبل و بعد از یک تغییر اجرا کنید تا مقایسه معنایی داشته باشد. نشستی که پیشتر برقرار شده، واگذاریای را که به آن داده شده حفظ میکند، هر چه تنظیمات اکنون بگویند.
دو کنترل که قابل تبادل نیستند
محافظت از مواد خصوصی، محدود کردن اینکه چه کسی میتواند امضای آن را بخواهد، و تأیید هویت همتا سه کنترل مرتبطاند و هیچکدام جای دیگری را نمیگیرد. تیمی که فوروارد کردن را بدون بررسی کلیدهای میزبان حذف میکند نیمی از یک مشکل را حل کرده است. تیمی که کلیدی را چون مسیر تغییر کرده میچرخاند هیچ چیز را حل نکرده است.
نقطه پایانی بهخطرافتاده پرسش چهارم است، زیرا نرمافزار دارای امتیاز روی ماشین خودتان میتواند بهمراتب بیش از مشاهده بستهها انجام دهد.
حادثه را پیش از لمس هر چیزی در آن دستهها بچینید و به هر کدام صاحبی بدهید. سابقه کوتاهی نگه دارید از اینکه به چه چیزی اعتماد شده بود، چه چیزی واگذار شد و چه چیزی تأیید شد، زیرا همان سابقه است که بازبینی بعدی را ارزان میکند نه یک بحث دیگر. اگر هر دسته ناشناخته است، ناشناخته بنویسید نه اینکه حالت خوشخیم را فرض کنید. تمایز عملی است نه دانشگاهی: تعیین میکند آیا یک اعتبارنامه را جایگزین میکنید، یک نشست را لغو میکنید یا بهسادگی فوروارد کردن را متوقف میکنید.