→ شروع بازیکتابخانهٔ مأموریت‌ها GitHub
مأموریت 9 · ساختن مرزها

کارگاهی دور از خانه

اجرای فرمان‌ها را از داده‌ها و وضعیت خود ربات جدا کنید.

سینا واقعاً نیاز دارد ربات یک برنامهٔ کوچک اجرا کند. آن برنامه ممکن است مخرب باشد. شما انتخاب می‌کنید کجا اجرا شود.

سینا
«می‌شود جایی برای کار کردن داشته باشد، بدون اینکه کلیدهای خانهٔ ربات را به آن بدهیم؟»

تصمیم شما

هر سه ویژگی لازم برای کارگاه اجرای برنامه را انتخاب کنید.

  1. جدا از نمونهٔ اجرایی Hermes
    برنامه نباید کنار حافظه، تنظیمات یا اطلاعات ورود ربات اجرا شود.
  2. بدون دسترسی به شبکه
    به برنامهٔ غیرقابل‌اعتماد مسیری برای رسیدن به اینترنت یا پراکسی ندهید.
  3. نوشتن موقت، با حذف تغییرات در پایان نشست
    تغییرات برنامه را به‌عنوان داده‌ها و وضعیت دائمی و قابل‌اعتماد نگه ندارید.
  4. پوشهٔ مشترکی حاوی تنظیمات و اطلاعات محرمانهٔ ربات
    همهٔ فایل‌ها را در دسترس بگذارید تا برنامه هیچ‌وقت به مشکل نخورد.
نمایش توضیح

کارگاهی جداگانه، بدون اتصال شبکه و موقت. در این راهنما، فرمان‌ها از راه اتصال محدودشدهٔ SSH به نمونهٔ اجرایی دیگری فرستاده می‌شوند و داخل gVisor اجرا می‌شوند.

سندباکس یک محیط کاری محدودشده است. نباید دارایی‌هایی را که می‌خواهید محافظت کنید، داخل آن بگذارید.
  • gVisor با یک هسته در فضای کاربر، مرز دیگری میان فرمان و سیستم زیربنایی ایجاد می‌کند.
  • این راهنما آن را با نمونهٔ اجرایی جداگانه و محدودیت‌های شبکه ترکیب می‌کند؛ هیچ لایه‌ای به‌تنهایی بی‌نقص فرض نمی‌شود.
  • فرض نکنید همهٔ ابزارها از سازوکار اجرای ترمینال پیروی می‌کنند. ابزارهای کار با فایل و اجرای کد باید تا زمان اثبات محل اجرای واقعی‌شان غیرفعال بمانند.
سندباکس

محیطی محدودشده برای اجرای کدی که ممکن است غیرقابل‌اعتماد باشد، با دسترسی محدود و تغییراتی که دور ریخته می‌شوند.

منبع: بخش راهنمای اصلی 12. خواندن PDF اصلی. این درس هیچ سرور واقعی را آزمایش نمی‌کند.