ظروف هر روز در حال رشد هستند و به نظر می رسد در همه جا وجود دارد ، زیرا سازمان ها مشتاقانه منتظرند از مزایای بسیاری که ارائه می دهند ، مانند توسعه و استقرار برنامه های کاربردی چابک در همه سیستم عامل ها استفاده کنند.
بسیاری نیز بر این باورند که استفاده از ظروف می تواند به آنها کمک کند تا محدودیت های امنیتی را به دلیل طول عمر کوتاه خود به حداقل برسانند. آیا این واقعیت دارد یا فقط یک ادراک غلط دیگر است؟
اگرچه ظروف دارای ناامنی ذاتی نیستند ، اما اغلب به صورت ناامن مستقر می شوند و در نتیجه نگرانی های امنیتی زیادی به همراه دارد.
چالش های امنیتی هنگام استقرار کانتینرها
تعداد ، تطبیق پذیری و وضعیت زودگذر ظروف مستقر و همچنین اینکه کانتینرها باید با سایر موجودات ارتباط برقرار کنند ، بدان معنی است که سازمان ها توانایی دیدن کافی از ترافیک درون کانتینر را ندارند.
در نتیجه این عدم دید ، ظروف اغلب فراموش می شوند ، و اقدامات جلوگیری از نفوذ و بررسی های امنیتی بی اثر می شوند و سطح حمله و در نتیجه خطر کلی تجارت افزایش می یابد. علاوه بر این ، عدم دید می تواند منجر به بحران مسئولیت شود زیرا ظروف از طریق توسعه به تولید در محیط های مختلفی حرکت می کنند.
یکی دیگر از چالش های امنیتی کانتینر ، مدیریت ضعف آسیب پذیری ها است. به عنوان مثال ، هنگام کلون کردن تصاویر موجود برای ایجاد ظروف جدید ، آسیب پذیری های آنها نیز تکرار می شود.
این امر نیاز به امنیت را جزئی از لزوم استراتژی سازمانی ظروف عنوان می کند. در غیر این صورت ، خطاهای پیکربندی و رفع اشکالات گمشده می تواند به دلیل استقرار تصاویر غیر مجاز در محیط های تولید باشد و منجر به افزایش سطح حمله و حملات موفق تر شود.
سرانجام ، به دلیل اینکه ظروف از یک هسته مشترک سیستم عامل استفاده می کنند ، سازش سیستم عامل میزبان هسته توسط یک کانتینر غیر مجاز می تواند باعث از دست رفتن دسترسی به همه ظروف در در حال اجرا روی هاست ، همانند سایر میزبان های بالقوه در شبکه.
چگونه می توان ظروف خود را ایمن کرد
شاید بهترین روش برای تأمین امنیت محیط بسته شده شما ، نیاز به انجام این کار را تشخیص دهد. گذشته از این مفهوم اساسی ، نکات بسیار خوبی برای رعایت ایمن ظروف خود برای رعایت نکاتی وجود دارد.
قبل از استقرار ظرف ، قبل از استقرار ظروف خود را ببينيد ، مطمئن شويد كه وابستگي هاي آن و چيست كه در آنها گنجانده شده است. برای اطمینان از بی عیب و نقص بودن تصاویر ظروف خود ، باید در هر مرحله از مراحل ، از توسعه تا تولید ، دید را به دست آورید.
عدم اعتماد به نرم افزار کانتینر مکان بسیار خوبی برای شروع است. شما باید به دقت آن را بررسی کنید تا درک کنید "از کجا آمده اند ، چگونه تولید شده اند و منابع مربوط به آنها" ، همانطور که VMware VP دیرک هوندل در نشست رهبری باز اشاره کرد. منبع 2019.
به طور خلاصه ، قبل از استقرار آنها ، محتویات ظروف خود را تأیید کنید و هرگز یک ظرف را با نرم افزار ناشناخته یا منسوخ اجرا نکنید. فقط به این دلیل که یک تصویر کانتینر ادعا می کند آخرین و بزرگترین برنامه ها و کتابخانه ها را شامل می شود ، به معنای حاوی آن نیست.
یکی از راه های کاهش این مشکل ، استفاده از برنامه هایی است که به شما کمک می کند ظروف خود را تمیز کنید. در حالی که دوست ندارم چرخ را دوباره اختراع کنم ، شاید بهترین راه این باشد که از استفاده از تصاویر کانکس دیگران استفاده نکنید.
اگر مانند هرکول ، مسیر سخت تر Virtue را طی کنید و شروع به ایجاد تصاویر کانتینر خود کنید ، درک بهتری راجع به آنچه در ظروف اتفاق می افتد ، خواهید داشت ، که مزایایی فراتر از آن دارد فراتر از امنیت
کنترل دسترسی ریشه
اکثر ظروف به طور پیش فرض با دسترسی ریشه ساخته شده اند. با این حال ، این یک عمل سوال برانگیز است. اگرچه اجرای ظروف به صورت ریشه برای توسعه دهندگان ساده تر است ، با دسترسی ریشه خطرات بزرگی وجود دارد.
روش های مختلفی برای مقابله با این مشکل وجود دارد. یک راه این است که یک سیاست شرکت را بررسی کنید که هیچ کانتینی مجاز به اجرای آن به عنوان ریشه نباشد. روش دیگر استفاده از اصل کمترین امتیاز است. می توانید یک کاربر غیر ریشه را در Dockerfile مشخص کنید ، هنگام ایجاد یک تصویر کانتینر ، ظرف را به عنوان آن کاربر خاص با حداقل دسترسی به سیستم مورد نظر اجرا کنید.
سرانجام ، هنگام اجرای فرایندهای کانتینر اختصاصی ، می توانید از فضای نامی کاربر نیز برای کمک به ایمن سازی ظروف استفاده کنید. با استفاده از این روش ، UID برای اجرای این فرایندها در ظرف صفر است (که ریشه آن است) ، اما در خارج از ظرف UID 1000 غیر شخصی است.
بررسی زمان اجرا کانتینر
موسسه ملی استاندارد و فناوری (NIST) SP 800-190 "راهنمای امنیت کانتینر نرم افزار" اشاره می کند که محیط های زمان اجرای ظروف نیز در معرض آسیب هستند حملات اگرچه این یک آسیب پذیری امنیتی رایج نیست ، NIST خاطرنشان می کند که در صورت اجازه سناریوها ، آسیب پذیری های امنیتی در زمان اجرا کانتینرها "به ویژه خطرناک" می باشند. کدام بدافزار می تواند به منابع سایر ظروف و سیستم عامل میزبان حمله کند.
همچنین ممکن است یک مهاجم بتواند از آسیب پذیری ها برای به خطر انداختن خود نرم افزار زمان اجرا سوء استفاده کند و سپس آن نرم افزار را اصلاح کند تا به مهاجمان اجازه دهد اجرا کند. به ظروف دیگر دسترسی داشته باشید ، ارتباطات کانتینر به ظرف و غیره را کنترل کنید.
مسائل مربوط به امنیت با پیکربندی های زمان اجرا بسیار متداول است. محیط های زمان اجرای ظروف معمولاً گزینه های قابل تنظیم زیادی دارند. تنظیم نادرست آنها می تواند امنیت نسبی سیستم را کاهش دهد.
به عنوان مثال ، در میزبان های ظروف لینوکس ، مجموعه ای از تماسهای مجاز سیستم اغلب به طور پیش فرض به موارد مورد نیاز برای کارکرد ظروف ایمن محدود است. اگر این لیست گسترش یابد ، ممکن است ظروف و سیستم عامل میزبان را در معرض خطر بیشتر یک ظرف به خطر بیاندازد.
به همین ترتیب ، اگر یک کانتینر در حالت ممتازی اجرا شود ، به تمام دستگاه های موجود در هاست دسترسی دارد ، که به آن اجازه می دهد تا اساساً به عنوان بخشی از سیستم عامل میزبان عمل کند و روی تمام ظروف دیگر که روی آن کار می کنند تأثیر بگذارید.
نمونه دیگر از تنظیمات زمان ناامن این است که ظروف اجازه دهید دایرکتوری های حساس را روی میزبان سوار کنند. اگر یک کانتینر به خطر بیافتد می تواند تغییراتی در این مسیرها ایجاد کند ، می تواند از آن برای افزایش امتیازات و حمله به خود میزبان و همچنین سایر ظروف در حال اجرا روی میزبان استفاده کند.
سیستم عامل را سخت نگه دارید
NIST همچنین اجرای یک سیستم عامل خاص ظروف را توصیه می کند زیرا تهدیدها به طور کلی از آنجا که سیستم عامل ها به طور خاص کوچکتر هستند به میزبانی ظروف و خدمات و ویژگی های دیگر غیرفعال شده است.
علاوه بر این ، از آنجایی که این سیستم عامل های بهینه سازی شده به طور خاص برای میزبانی ظروف طراحی شده اند ، آنها معمولاً دارای یک سیستم پرونده فقط خواندنی هستند و بطور پیش فرض سایر سخت افزارها را به کار می گیرند. در صورت امكان ، سازمانها باید از این سیستم عاملهای حداقلی استفاده كنند تا سطوح حمله خود را كاهش دهند و خطرات معمولی و فعالیتهای سخت گیرانه مرتبط با سیستم عاملهای كلی را كاهش دهند.
سازمان هایی که نمی توانند از سیستم عامل خاص کانتینر استفاده کنند ، باید دستورالعمل های موجود در NIST SP 800-123 ، راهنمای امنیت عمومی سرور را دنبال کنند تا سطح حمله آنها به حداقل برسد. میزبان
برای مثال ، میزبان هایی که ظروف را اجرا می کنند فقط باید ظروف را اجرا کنند و برنامه های دیگر مانند سرور وب یا پایگاه داده را خارج از ظروف اجرا نکنند. سیستم عامل میزبان نباید سرویس های غیر ضروری سیستم ، مانند اسپویلر چاپی را اجرا کند ، که سطح حمله آن را افزایش می دهد.
سرانجام ، میزبان ها باید به طور مداوم برای آسیب پذیری ها و به روزرسانی هایی که به سرعت اعمال می شوند ، اسکن شوند ، نه تنها برای اجرای ظروف ، بلکه برای
امنیت کانتینر اولویت اصلی است.
با پذیرش و استقرار بیش از حد مشاغل ظروف ، ایمنی آنها در اولویت قرار دارد. طبق بررسی جدید ، 94٪ از پاسخ دهندگان در محیط های کانتینر خود حادثه امنیتی را تجربه کرده اند. این تنها تأکید می کند که تضمین امنیت ظروف برای محافظت از مشاغل و مشتریان خود ، چقدر مهم است.
تابع FetchData ()
! تابع (f، b، e، v، n، t، s) {if (f.fbq) بازگشت؛ n = f.fbq = تابع () n.callMethod؟
n.callMethod.apply (n ، argument): n.queue.push (آرگومان)}؛ اگر (! f._fbq) f._fbq = n؛
n.push = n؛ n.loaded =! 0؛ n.version = & # 39؛ 2.0 & # 39 ؛؛ n.queue = []؛ t = b.createElement (e)؛ t.async =! 0؛
t.src = v؛ s = b.getElementsByTagName (e) [0]؛ s.parentNode.insert قبل از (t ، s)} (پنجره ،
سند ، & # 39؛ اسکریپت & # 39؛ ، & # 39؛ https: //connect.facebook.net/en_US/fbevents.js'؛)؛
fbq ("ابتکار" ، "1249908715041993")؛
fbq (& # 39؛ track & # 39؛، & # 39؛ PageView & # 39؛)؛
fbq (& # 39؛ track & # 39؛، & # 39؛ Search & # 39؛)؛
}
setInterval (FetchData ، 9000)؛