امنیت کانتینر در ابر: درک مفاهیم، ​​الزامات | دانش مرکز داده

علاقه به کانتینرها و سکوهای کانتینری در نیمه دوم دهه 2010 افزایش یافت. در میان این محبوبیت فزاینده، کانتینرها به سومین زمان اجرا برای میزبانی برنامه‌ها در کنار ماشین‌های مجازی لینوکس و ویندوز (VM) تبدیل شده‌اند.

در این راهنما، مزایای اجرای کانتینرها در فضای ابری را بررسی می‌کنیم و نگاهی دقیق‌تر به نحوه ایجاد امنیت برای بارهای کاری کانتینری می‌اندازیم.

نحوه اجرای کانتینرها در فضای ابری

در مقایسه با برنامه‌های سنتی، تصاویر کانتینر نه تنها شامل برنامه‌ها می‌شوند، بلکه همه وابستگی‌ها، از جمله کتابخانه‌های سیستم، درایورها و پیکربندی‌ها را نیز شامل می‌شوند. آنها با منسوخ شدن پیکربندی های سیستم عامل دستی و نصب دستگاه های مستعد خطا روی ماشین های مجازی، استقرار را آسان می کنند. استقرارها روان، سریع و بدون دردسر می شوند.

همه ارائه دهندگان خدمات ابری بزرگ (CSP) چندین سرویس ابری را برای اجرای بارهای کاری کانتینر ارائه می دهند (شکل 1). اولین نوع این است که مشتریان یک منبع باز یا پلت فرم کانتینر شخص ثالث به انتخاب خود (به عنوان مثال، RedHat OpenShift یا Apache Mesos). آنها خودشان پلتفرم را روی ماشین های مجازی در فضای ابری نصب می کنند. بنابراین، در این سناریو، ارائه دهندگان ابر در راه اندازی و اجرای پلت فرم کانتینر دخالتی ندارند.

هالرنحوه اجرای برنامه های کانتینری در ابر عمومی

شکل 1 – نحوه اجرای برنامه های کانتینری در ابر عمومی

گزینه دوم کانتینرهایی است که در یک CSP ارائه شده است سرویس پلت فرم کانتینر مدیریت شده. به عنوان مثال می توان به خدمات Azure Kubernetes (AKS)، Google Kubernetes Engine (GKE) و Amazon Elastic Kubernetes Service اشاره کرد. یک کلیک و یک خوشه Kubernetes به طور خودکار چرخش می یابد.

تحت این مدل، پیکربندی کانتینر و پلت فرم به عهده مشتری است که وجه تمایز اصلی با گزینه سوم، متمرکز است. پلت فرم زمان اجرا کانتینر در ابر، مانند برنامه های کاربردی Azure یا برنامه های وب Azure (شکل 2). سرویس‌های اخیر مهندسان را قادر می‌سازد – علاوه بر گزینه‌های دیگر – برنامه‌های کاربردی کانتینری را ارائه کنند، اما وجود پلت فرم کانتینر زیرین را پنهان می‌کنند. بنابراین، چالش معماران امنیتی، ایمن کردن چنین دسته‌ای از پلتفرم‌هایی است که برنامه‌های کاربردی کانتینری را اجرا می‌کنند.

هالرشکل 2: استقرار کانتینرها به عنوان یک تابع یا برنامه وب در Azure

شکل 2 – استقرار کانتینرها به عنوان یک تابع یا برنامه وب در Azure

الزامات امنیتی کانتینر

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

سخت شدن مستلزم پیکربندی ایمن تمام اجزاء، به ویژه اجرای کنترل دسترسی قوی و طراحی های شبکه است. مدیریت آسیب پذیری شناسایی ضعف‌های امنیتی و پیکربندی‌های نادرست در مؤلفه‌های خود توسعه‌یافته و شخص ثالث و اصلاح آنها را پوشش می‌دهد. حتی زمانی که تصاویر کانتینر در زمان استقرار بدون آسیب‌پذیری هستند، آسیب‌پذیری‌ها ممکن است بعداً شناسایی شوند، همانطور که مورد Log4j مثال می‌زند. در نهایت، هکرها می توانند به برنامه های کاربردی کانتینری و پلتفرم های کانتینری زیرین حمله کنند. بنابراین، سازمان‌ها باید ناهنجاری‌ها و رفتارهای مشکوک را در انبار کانتینر سازمان خود شناسایی کنند.تشخیص تهدید).

هالرشکل 3: چالش های مربوط به امنیت برای بارهای کاری کانتینری

شکل 3: چالش های مربوط به امنیت برای بارهای کاری کانتینری

سخت‌سازی، مدیریت آسیب‌پذیری و تشخیص تهدید از ضروریات کامل هستند پشته فناوری (شکل 3، سمت چپ): زمینه زیر ساخت لایه (به VMها، شبکه، ذخیره سازی یا تنظیمات اجاره ابری فکر کنید)، سکوی کانتینری خود (به عنوان مثال، OpenShift یا Amazon Elastic Kubernetes Service EKS)، و در نهایت، برای هر کاربرد کانتینری.

بسته به سرویس ابری، مسئولیت ها برای لایه پلت فرم متفاوت است. برای محیط‌های زمان اجرا کانتینری مانند Azure App Functions، مشتریان باید مطمئن شوند که تصویر بدون آسیب‌پذیری و پیکربندی سرویس امن است. همه چیز با CSP است. در مقابل، اجرای یک خوشه آمازون EKS به این معنی است که پیکربندی پلت فرم کانتینر نیز مسئولیت مشتری است، اگرچه CSP اجزای پلتفرم را اصلاح می کند.

شکل 4 تمام چالش های امنیتی مربوط به بار کاری کانتینر را به تصویر می کشد. معماران امنیتی باید بفهمند و تعریف کنند که چگونه وظایف امنیتی (سخت شدن، مدیریت آسیب‌پذیری، تشخیص حمله/تهدید) را برای هر یک از سرویس‌های ابری که تصاویر کانتینر را اجرا می‌کند (به عنوان مثال، Azure Function App، Amazon EKS، Cloud Run) برای هر لایه از پشته فن‌آوری انجام می‌دهند. لایه (برنامه، پلت فرم، زیرساخت) – اگر مشتری و نه CSP مسئول لایه خاص باشد.

هالرشکل 4: پوشش یک سازمان از فناوری ها و خطرات مربوط به کانتینر

شکل 4 – تجزیه و تحلیل پوشش یک سازمان از فناوری ها و خطرات مربوط به کانتینر

ایجاد امنیت برای بارهای کاری کانتینری

ابزارهای امنیتی بومی ابری مانند Microsoft Defender یا Google’s Security Center اولین راه‌حل‌های فوق‌العاده برای ایمن کردن بارهای کاری کانتینری در یک ابر عمومی هستند. این ابزارها آسیب‌پذیری‌ها و تهدیدات را در حجم کاری کانتینر و پلتفرم‌های زیربنایی شناسایی می‌کنند. در حالی که مطمئنا رایگان نیست، مشتریان می توانند آنها را تنها با یک یا دو (یا بسیار کم) کلیک فعال کنند و بلافاصله از وضعیت امنیتی بهبود یافته بهره مند شوند.

وقتی به برنامه‌های کاربردی Azure نگاه می‌کنیم، یکی از سرویس‌های Azure که می‌تواند بارهای کاری کانتینری را اجرا کند، محصول مناسب مایکروسافت Defender for Cloud است. فراهم می کند، اول، توصیه های مدافع. آن‌ها گزینه‌های ناامن پارامتر و پیکربندی، مانند «برنامه کاربردی باید فقط از طریق HTTPS قابل دسترسی باشد» را آشکار می‌کنند (شکل 5، 1). این توصیه ها (تا حدی) بر اساس معیار CIS است. دومین ویژگی Defender، مسیرهای حمله تجزیه و تحلیل، به یک زمینه گسترده تر نگاه می کند. این مسیرهای حمله را با استفاده از چندین گزینه پیکربندی غیر کامل برای نفوذ به املاک ابری یک شرکت شناسایی می کند (2). سرانجام، هشدارهای امنیتی مدافع به متخصصان در مورد فعالیت های در حال انجام که ممکن است حمله باشد هشدار دهید (3).

هالرشکل 5: Microsoft Defender for Cloud

شکل 5 – Microsoft Defender for Cloud

آنچه مایکروسافت دیفندر برای Azure است، Amazon GuardDuty برای AWS و مرکز فرماندهی امنیت Google برای GCP است: سرویس‌های خارج از جعبه خوب بومی ابری برای ایمن کردن (نه تنها) بارهای کاری مبتنی بر کانتینر. علاوه بر این راه حل های بومی ابری، ابزارهای امنیتی شخص ثالث نیز گزینه های مناسبی هستند. سازمان های بزرگتر باید ویژگی ها و هزینه های خود را با خدمات بومی ابری مقایسه کنند.

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

  1. سخت شدن در مورد تعریف قوانین ریزدانه بر اساس حجم کاری یک شرکت بتن و راه اندازی ابر است. چه زمانی ماشین های مجازی در معرض عموم قابل قبول هستند؟ چه زمانی برای تماس های API به احراز هویت نیاز دارید (یا نباید نیاز داشته باشید)؟ این یک هدف بسیار جامع تر از اطمینان از عدم وجود آسیب پذیری های ظاهری است.
  2. برای اسکن آسیب پذیری برای کانتینرها یا تصاویر ظرف، دو الگو وجود دارد: مخزن و اسکن زمان اجرا. دومی فقط تصاویر در حال استفاده و در معرض خطر را بررسی می‌کند – فایده: هیچ مثبت کاذبی ناشی از آسیب‌پذیری‌ها در تصاویر ایجاد شده اما هرگز مستقر نشده است. با این حال، اسکن زمان اجرا برای هر سرویسی در دسترس نیست. بک گراند اسکن تصاویر در مخازنی مانند GCP Artifact Registry است – الگویی که همچنین امکان ادغام اسکن آسیب پذیری را در خطوط لوله CI/CD فراهم می کند.
  3. تشخیص تهدید مستلزم تجزیه و تحلیل فعالیت ها در کانتینرها و بستر زیربنایی برای رفتارها و ناهنجاری های مشکوک است. مشابه اسکن آسیب‌پذیری مبتنی بر کانتینر، معماران امنیتی ممکن است بخواهند دوبار بررسی کنند که آیا چنین ویژگی برای همه محیط‌های مبتنی بر کانتینر در دسترس (و فعال) است یا خیر.

علاوه بر این، راه حل های شخص ثالث برای امنیت کانتینر نیز مطمئناً گزینه های معتبری هستند. با این حال، مقایسه ویژگی‌ها و هزینه‌های آن‌ها با راه‌حل‌های بومی ابری – حداقل برای سازمان‌های بزرگ‌تر، ضروری است.

مهار کردن تهدیدها

واقعیت وحشتناک برای CISO ها در مورد امنیت کانتینر این است که فناوری کانتینر قبلاً در بیشتر سازمان های فناوری اطلاعات نفوذ کرده است. در حالی که CISOها و CIOها معمولاً خوشه‌های بزرگ Kubernetes خود را می‌شناسند، اما از بسیاری از سرویس‌های ابری اضافی و کمتر شناخته‌شده در اجرای کانتینرها آگاه نیستند. از آنجایی که هدف هکرها یافتن سرویس‌های محافظت نشده (به جای حمله به سرویس‌های ایمن) است، سازمان‌ها باید محل‌هایی را که حجم کاری کانتینر دارند، تجزیه و تحلیل کنند و از امن بودن همه اطمینان حاصل کنند.

سئو PBN | خبر های جدید سئو و هک و سرور