داکر

  • داکر و مزایا و معایب آن در مقابل ماشینهای مجازی

    امروزه تصور نیاز به تهیه سیستم های فیزیکی مختلف برای انواع سیستم عاملها و آزمایشهای امنیتی مختلف با توجه به هزینه های گزاف آنها خصوصا برای متخصصین امنیت که نیازمند تعامل با سیستم عامل ها و برنامه های فراوانی هستند دور از ذهن خواهد بود، بنابراین میتوان نتیجه گیری کرد که شاخص ترین امتیاز محفظه ها Containers و ماشینهای مجازی Virtual Machines برای متخصصین امنیت ایجاد فضا ای نسبتا ایمن و ایزوله شده برای برقراری آزمایشگاه مجازی تست انواع نرم افزارها و تکنولوژی با کمترین هزینه و کاربردی ترین و سریعترین روشها است.

    در این مطلب در سه بخش به معرفی اجمالی محفظه ها، تفاوتهای اساسی محفظه ها نسبت به ماشینهای مجازی و مزایا و معایب استفاده از آنها برای متخصصین امنیت و در نهایت معرفی تعدادی از بهترین برنامه های موجود برای این پلتفرم خواهیم پرداخت.

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

    شناخته شده ترین کانتینر یا محفظه مجازی داکر Docker از کمپانی شناخته شده داکر است. مطالب فراوانی در مورد نحوه نصب و راه اندازی داکر منتشر گردیده که برای علاقمندان آشنایی به این تکنولوژی قابل دسترسی است. از این رو در این مطلب تمرکزاصلی برروی بررسی مزایا و معایب استفاده از داکر و کلا محفظه های مجازی Containers خصوصا برای متخصصین و علاقه مندان رشته امنیت و مقایسه آنها با ماشینهای مجازی یاVirtual Machines  قرار خواهد گرفت.

    برای متخصصین امنیت نصب و تست برنامه های مختلف در محیطی نسبتا ایزوله بدون نگرانی از نشت اطلاعات به دیگر بخشهای سیستم عامل در آزمایشگاه های امنیتی از مهمترین مزایای محفظه ها است. برای مثال میتوان در زمانی بسیار کوتاه بدون نیاز به نصب درایور ها و نیازمندی های خاص محفظه حاوی آن برنامه خاص را دانلود کرده، تست های مورد نظر را انجام و بعد از اتمام کار و عدم نیاز آن محفظه را بایگانی یا حذف کرد.

    در این میان عمده ترین تفاوت میان کانتینرها و ماشینهای مجازی در استفاده و نحوه تعامل آنها با کرنل سیستم عامل OS Kernel است. محفظه ها و شاخص ترین آنها داکر برخلاف ماشینهای مجازی که برروی سیستم عامل نصب و اجرا میشوند، ارتباط مستقیمی با هسته سیستم عامل برقرار میکنند. به طور مثال داکری که برروی سیستم عامل لینوکس نصب شده است با به اشتراک گذاشتن کرنل سیستم عامل خود توانایی اجرای دیگر سیستم عاملهای لینوکس را به دلیل شباهت کرنل سیستم عامل را دارا است. داکری که بر روی لینوکس اوبنتو در حال اجراست با توجه به مشترک بودن کرنل  توانایی اجرای لینوکس دبیان، فدورا، سوزه را بدون نیاز به نصب مجدد و با بهره گیری از کرنل سیستم عامل میهمان را دارا خواهد بود.

    شایان ذکر است که گرچه این قابلیت مزایای فراوانی را برای بهره گیری از داکر برای کاربر ایجاد میکند در عین حال میتواند مشکلات امنیتی ای را نیز ایجاد نماید. یکی از مهمترین آنها این است که از آنجایی که محفظه ها در داکر ارتباط مستقیمی با هسته سیستم عامل برقرار میکنند بنابراین تمام برنامه ها و پروسس هایی که دسترسی روت (Root Privilege) دارند میتوانند مستقیما با کرنل سیستم تعامل کنند که این میتواند باعث ایجاد مشکلات امنیتی از جمله امکان دسترسی و سو استفاده هکرها از هسته مرکزی سیستم عامل میزبان گردد.

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

    لیست نسبتا کاملی از سیستم عاملهای مختلف، دیتا بیسها و دیگر برنامه های کاربردی در Docker Hub به رایگان قابل دسترس است. یکی از جذابترین سیستم عاملهای قابل دسترس در این پایگاه REMnux  است که  در واقع مجموعه ای رایگان از ابزارهای آنالیز و مهندسی معکوس بد افزار بر پایه سیستم عامل لینوکس اوبنتو است. توزیع REMnux  حاوی تعداد فراوانی ابزار تجزیه و تحلیل برای سیستم عاملهای لینوکس و ویندوز از جمله Thug, Viper, Rekall, JSDetox است. نرم افزار آسیب پذیر تحت وب Juice Shop  از موسسه OWASP یکی دیگر از برنامه های قابل دسترس مفید مخصوصا برای علاقمندان و متخصصین امنیت وب است که بدون نیاز به نصب درایورها و نیازمندی های مختلف همچون پیکربندی Node.js به راحتی قابل دانلود و اجرا است.

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

دکمه بازگشت به بالا
بستن