دیوار آتش میان پورتها مرز میزبان نیست
دو پورت باز و یک قاعدهٔ دیوار آتش آن بخش مهم را جا میگذارند: اینکه کارگر وب چه چیزی را میتواند بخواند و کنترل کند. رد شدن را بیازمایید، نه فقط سرویس را.
وبسایت روی 443 پاسخ میدهد، VPN روی 1194 پاسخ میدهد، دیوار آتش دقیقاً همان دو را مجاز میکند و بازبینی میگذرد. هیچچیز در آن زنجیره نپرسید که کارگر وب چه چیزی را میتواند بخواند یا کدام فایلها را میتواند بازنویسی کند. کارگر بهخطرافتاده به پورت باز نیاز ندارد اگر بتواند به سوکت کنترل یا پوشهٔ پیکربندی قابل نوشتن برسد. مرز همان اختیار است و شنوندهها فقط بخشی هستند که دیدنش آسان است.
نام سرویس جداگانه یک برچسب است؛ هویت جداگانه یک ویژگی امنیتی است.
اختیار کارگر را بشمارید، نه پورتها را
با کاربر زمان اجرا، گروههایش، تواناییهایش و نمای فایلسیستمش شروع کنید. حساب سرویسی که تصادفاً عضو یک گروه VPN است میتواند بدون باز بودن هیچ پورتی مواد کلیدی را بخواند. سوارشدنهای قابل نوشتن نیمهٔ دیگرند: بارگذاریها و حافظههای نهان باید دور از فایلهای سیاست و رازها باشند، و پوشهٔ قابل نوشتنِ بیدلیل مشترک، نامگذاری مرتب را از بین میبرد. فرآیندی را بررسی کنید که آن عملیات را انجام میداد، زیرا والد دارای امتیاز و کارگران بیامتیاز یک اختیار را شریک نیستند.
قابل خواندن بودن کلید VPN هنگام راهاندازی سرویس به این معنا نیست که کارگر وب به آن نیاز دارد. خواندنِ سرویس را از دسترسیای که به برنامه داده میشود جدا کنید.
سوکتهایی که بیش از ظاهرشان میدهند
برخی نقاط پایانی APIهای مدیریتیاند که لباس جریان معیارها را پوشیدهاند. رابط مدیریت VPN میتواند نشستها را تغییر دهد، کلاینتها را قطع کند و وضعیت را بخواند. سوکت محیط اجرای کانتینر گستردهتر است: دسترسی به آن در عمل کنترل میزبان است، بسیار فراتر از نیاز یک برنامهٔ وب. هیچکدام به مجموعهٔ سوارشدنهای یک برنامهٔ معمولی تعلق ندارد و هیچکدام هنگام شمردن پورتهای شنوا دیده نمیشود.
بستن یک شنوندهٔ مدیریتی به نشانی محلی آغازی است، نه محدودیتی کامل، زیرا هر مسیر ورود به آن نشانی همچنان مهم است. فقط منابع و رابطهای موردنظر را مجاز کنید.
کانتینرها یک هسته را شریک میشوند
کانتینرها مرزهای فرآیند، فایلسیستم و شبکه را میافزایند و یک هسته را با میزبان شریک میشوند. این باعث میشود انتخاب تواناییها، سوارشدنهای میزبان و دسترسی به سرویس تعیینکننده باشند: سوار کردن رازهای میزبان یا دادن کنترل ممتاز زمان اجرا مرزی را که برچسب کانتینر القا میکند پاک میکند. ماشینهای مجازی جداگانه واقعاً هستههای مهمان جداگانه میدهند، در حالی که هایپروایزر، هویتهای مدیریتی، ذخیرهسازی و پشتیبانها مشترک میمانند. مرزی را انتخاب کنید که پیکربندی و بهروزرسانیاش مالک نامدار دارد.
ترتیبی پیچیدهتر که کسی نگهداریاش نمیکند بدتر از سادهای است که واقعاً بازبینی میشود.
نخست رد شدن را بیازمایید، سپس سرویس را
از بررسیهای تأییدشده در بافت واقعی کارگر استفاده کنید تا تأیید کنید که نمیتواند سیاست VPN را تغییر دهد، رازهای غیرضروری را بخواند یا رابط مدیریت را لمس کند. خواندن موفق بهعنوان مدیر هیچ چیزی دربارهٔ آن رد شدن نمیآزماید. سپس وبسایت، یک عملیات معمولی مجاز VPN و آنچه در راهاندازی دوباره برای هرکدام رخ میدهد را بررسی کنید. مسیری برای بازیابی نگه دارید که به تعمیر VPN وابسته نباشد، تا خطا قابل جبران بماند.
هر دو نقش همچنان CPU، حافظه، ظرفیت پیوند بالاسری و رویدادهای نگهداری را شریکاند. این منابع مشترک حتی وقتی مرز اختیار پاک است به برنامه تعلق دارند.
ثبت کنید هر فرآیند چه میتواند بکند، اگر متوقف شود چه چیزی از کار میافتد و کدام مرز مشترک میماند. شمارش پورتها آن ثبت نیست.